Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sshnaidm/gpt-code-review-action
Github action for code review in pull requests with OpenAI (GPT)
https://github.com/sshnaidm/gpt-code-review-action
ai chatgpt github github-actions openai review
Last synced: 8 days ago
JSON representation
Github action for code review in pull requests with OpenAI (GPT)
- Host: GitHub
- URL: https://github.com/sshnaidm/gpt-code-review-action
- Owner: sshnaidm
- License: apache-2.0
- Created: 2023-04-13T14:11:36.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2023-11-08T22:57:40.000Z (about 1 year ago)
- Last Synced: 2024-10-12T20:03:17.590Z (about 1 month ago)
- Topics: ai, chatgpt, github, github-actions, openai, review
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 16
- Watchers: 3
- Forks: 8
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OpenAI Code Review Action
This action uses the OpenAI GPT-3 language model to review code changes in a pull request.
## Usage
To use this action, include it as a step in your workflow, after the checkout step.
```yaml
on: [pull_request]
jobs:
code-review:
runs-on: ubuntu-latest
permissions:
contents: read
pull-requests: write
steps:
# This step checks out a copy of your repository.
- uses: actions/checkout@v3
# This step references the directory that contains the action.
- uses: sshnaidm/[email protected]
with:
openai-key: ${{ secrets.OPENAI_API_KEY }}
# model: 'gpt-4'
# max-length: 8000
# prompt: 'Only suggest performance improvements for this code.'
# post-if-error: false```
The action will post the OpenAI review as a comment on the pull request.
### Requierements
To post comments in Pull Requests, the job requires additional permissions: `pull-requests: write`. However, since this permission implies "explicit deny," we also need to mention the default permission `contents: read`.
### Inputs
`github-token`: The token used to authenticate with the GitHub API (optional, will take a default `${{ github.token }}`).
`model`: The OpenAI language model to use for code review (optional, with a default `gpt-3.5-turbo`).
`openai-key`: The OpenAI API key used for authentication (**required**).
`prompt`: The prompt to use for the analysis (optional, with a default value).
`max-length`: The diff that is send to OpenAI for review is cut off after 4000 characters by default. With this paramter you can adjust this limit.
`post-if-error`: Whether to post a comment if there was an error (optional, with a default `true`).
### Limitations
Currently, only the first 4000 characters are sent due to OpenAI's limitations. Later, we will send the text in chunks, and each part will be reviewed separately.
## Contributing
Contributions to this action are welcome! Please create an issue or pull request in the repository.
## License
This action is licensed under the Apache 2.0 License. See the LICENSE file for details