felix-health/OpenAI ChatGPT based PR Reviewer & Summarizer
OpenAI ChatGPT based PR Reviewer and Summarizer
View on GitHubTrust Signals
- Scorecard Score
- not yet scored
- Maintenance Recency
- Stale
- License
- None
- Runtime
- Deprecated runtime
Inputs
| name | description | required | default |
|---|---|---|---|
| debug | Enable debug mode | no | false |
| max_files_to_summarize | Max files to summarize. Less than or equal to 0 means no limit. | no | 40 |
| max_files_to_review | Max files to review. Less than or equal to 0 means no limit. | no | 0 |
| review_comment_lgtm | Leave comments even if the patch is LGTM | no | false |
| path_filters | The path filters, e.g., "src/**.py", "!dist/**", each line will be considered as one pattern. See also - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#onpushpull_requestpull_request_targetpathspaths-ignore - https://github.com/isaacs/minimatch | no | !dist/** !**/*.pb.go !**/*.lock !**/*.yaml !**/*.yml !**/*.cfg !**/*.toml !**/*.ini !**/*.mod !**/*.sum !**/*.work !**/*.json !**/*.mmd !**/*.svg !**/*.png !**/*.dot !**/*.md5sum !**/*.wasm !**/gen/** !**/_gen/** !**/generated/** !**/vendor/** |
| summary_only | Only provide the summary and skip the code review. | no | false |
| openai_light_model | Model to use for simple tasks like summarizing diff on a file. | no | gpt-3.5-turbo |
| openai_heavy_model | Model to use for complex tasks such as code reviews. | no | gpt-3.5-turbo |
| openai_model_temperature | Temperature for GPT model | no | 0.0 |
| openai_retries | How many times to retry OpenAI API in case of timeouts or errors? | no | 5 |
| openai_timeout_ms | Timeout for OpenAI API call in millis | no | 120000 |
| openai_concurrency_limit | How many concurrent API calls to make to OpenAI servers? | no | 4 |
| system_message | System message to be sent to OpenAI | no | You are `@openai` (aka `github-actions[bot]`), a language model trained by OpenAI. Your purpose is to act as a highly experienced software engineer and provide a thorough review of the code hunks and suggest code snippets to improve key areas such as: - Logic - Security - Performance - Data races - Consistency - Error handling - Maintainability - Modularity - Complexity - Optimization Refrain from addressing minor code style issues, compliments, or missing comments/documentation, unless explicitly requested. Concentrate on identifying and resolving significant concerns to improve overall code quality while deliberately disregarding minor issues. |
| summarize_file_diff | The prompt for file | no | GitHub pull request title: `$title` Description: ``` $description ``` Content of file `$filename`: ``` $file_content ``` Diff: ```diff $file_diff ``` I would like you to summarize the diff within 50 words. |
| summarize | The prompt for final summarization response | no | Here is the summary of changes you have generated for each file: ``` $summary ``` Provide your final response in the `markdown` format with the following content: - High-level summary (comment on the overall change instead of specific files within 80 words) - Table of files and their summaries. You can group files with similar changes together into one row to save space. Avoid additional commentary as this summary will be added as a comment on the GitHub pull request. |
| summarize_release_notes | The prompt for generating release notes in the same chat as summarize stage | no | Create concise release notes in `markdown` format for this pull request, focusing on its purpose and user story. You can classify the changes as "New Feature", "Bug fix", "Documentation", "Refactor", "Style", "Test", "Chore", "Revert", and provide a bullet point list. For example: "New Feature: An integrations page was added to the UI". Keep your response within 50-100 words. Avoid additional commentary as this response will be used as is in our release notes. Below the release notes, generate a short, celebratory poem about the changes in this PR and add this poem as a quote (> symbol). You can use emojis in the poem, where they are relevant. |
| review_file_diff | The prompt for each file | no | GitHub pull request title: `$title` Description: ``` $description ``` OpenAI generated summary of overall changes: ``` $summary ``` Content of file `$filename` for context: ``` $file_content ``` Changes for review: $patches |
| comment | Prompt for comment | no | A comment was made on a GitHub pull request review for a diff hunk on file `$filename`. I would like you to follow the instructions in that comment. Pull request title: `$title` Description: ``` $description ``` OpenAI generated summary: ``` $summary ``` Content of file: ``` $file_content ``` Entire diff: ```diff $file_diff ``` Diff being commented on: ```diff $diff ``` The format of a comment in the chain is: `user: comment` Comment chain (including the new comment): ``` $comment_chain ``` Please reply directly to the new comment (instead of suggesting a reply) and your reply will be posted as-is. If the comment contains instructions/requests for you, please comply. For example, if the comment is asking you to generate documentation comments on the code, in your reply please generate the required code. In your reply, please make sure to begin the reply by tagging the user with "@user". The comment/request that you need to directly reply to: ``` $comment ``` |
Outputs
no outputs