{"id":17495895,"url":"https://github.com/feiskyer/chatgpt-reviewer","last_synced_at":"2025-04-15T21:17:32.588Z","repository":{"id":65854379,"uuid":"601212829","full_name":"feiskyer/ChatGPT-Reviewer","owner":"feiskyer","description":"Automated pull requests reviewing and issues triaging with ChatGPT.","archived":false,"fork":false,"pushed_at":"2024-01-31T02:55:22.000Z","size":294,"stargazers_count":70,"open_issues_count":1,"forks_count":21,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-15T21:17:26.250Z","etag":null,"topics":["ai-assistant","chatgpt","code-review","github-actions","openai"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/feiskyer.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-02-13T15:47:16.000Z","updated_at":"2025-01-01T20:01:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"e32db97d-7720-4e05-baec-7aad199df102","html_url":"https://github.com/feiskyer/ChatGPT-Reviewer","commit_stats":{"total_commits":31,"total_committers":6,"mean_commits":5.166666666666667,"dds":0.4193548387096774,"last_synced_commit":"d6f45d2395af832ff3061bee8303a09265800d1e"},"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feiskyer%2FChatGPT-Reviewer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feiskyer%2FChatGPT-Reviewer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feiskyer%2FChatGPT-Reviewer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/feiskyer%2FChatGPT-Reviewer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/feiskyer","download_url":"https://codeload.github.com/feiskyer/ChatGPT-Reviewer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249153953,"owners_count":21221330,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-assistant","chatgpt","code-review","github-actions","openai"],"created_at":"2024-10-19T14:39:44.488Z","updated_at":"2025-04-15T21:17:32.561Z","avatar_url":"https://github.com/feiskyer.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ChatGPT-Reviewer\n\nAutomated pull requests reviewing and issues triaging with ChatGPT.\n\n## How to use\n\nCreate an OpenAI API key [here](https://platform.openai.com/account/api-keys), and then set the key as an [action secret in your repository](https://docs.github.com/en/actions/security-guides/encrypted-secrets#creating-encrypted-secrets-for-a-repository) named `OPENAI_API_KEY`.\n\nFinally, create a file named `.github/workflows/chatgpt-review.yml` with the following contents:\n\n```yaml\nname: ChatGPT Review\n\non: [pull_request]\n\n\njobs:\n  chatgpt-review:\n    name: ChatGPT Review\n    runs-on: ubuntu-latest\n    steps:\n    - uses: feiskyer/ChatGPT-Reviewer@v0\n      name: ChatGPT Review\n      env:\n        GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}\n        OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }}\n        # OPENAI_API_BASE: ${{ secrets.OPENAI_API_BASE }}\n      # Optional configurations:\n      # with:\n      #   model: \"gpt-3.5-turbo\"\n      #   temperature: 0.2\n      #   review_per_file: true\n      #   comment_per_file: true\n```\n\n## Configurations\n\n|Parameter|Description|Required|Default|\n|---------|-----------|--------|-------|\n|GITHUB_TOKEN|Github token used to send out review comments|true|\"\"|\n|OPENAI_API_KEY|API key used to invoke OpenAI|true|\"\"|\n|OPENAI_API_BASE|API based used to access Azure OpenAI|false|\"\"|\n|blocking|Blocking the pull requests on OpenAI failures|false|False|\n|model|OpenAI model name|false|gpt-3.5-turbo|\n|temperature|Temperature for the model|false|0.2|\n|frequency_penalty|Frequency penalty for the model|false|0|\n|presence_penalty|Presence penalty for the model|false|0|\n|review_per_file|Send out review requests per file|false|Large changes would be reviewed per file automatically|\n|comment_per_file|Post review comments per file|false|True\n\n## Samples\n\nThe ChatGPT reviewer PRs are also getting reviewed by ChatGPT, refer the [pull requests](https://github.com/feiskyer/ChatGPT-Reviewer/pulls?q=is%3Apr) for the sample review comments.\n\n## Special notes for public repository forks\n\nIn order to protect public repositories for malicious users, Github runs all pull request workflows raised from repository forks with a read-only token and no access to secrets.\n\n`pull_request_target` event could be used in such cases, which would run the workflow in the context of the base of the pull request (rather than in the context of the merge commit, as the `pull_request` event does).\n\nRefer Github docs [here](https://docs.github.com/en/github-ae@latest/actions/using-workflows/events-that-trigger-workflows#pull_request_target) for more details of `pull_request_target` event.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeiskyer%2Fchatgpt-reviewer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffeiskyer%2Fchatgpt-reviewer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffeiskyer%2Fchatgpt-reviewer/lists"}