mirror of
https://github.com/pacnpal/Claude-code-review.git
synced 2025-12-20 04:11:04 -05:00
Merge pull request #10 from pacnpal/claude/auto-pr-review-01RhWKxVsrwj27rznVTBz9mC
Set up automatic pull request review
This commit is contained in:
27
README.md
27
README.md
@@ -87,6 +87,32 @@ For existing pull requests, you can manually trigger the review:
|
|||||||
3. Fill in the branch and pull request number
|
3. Fill in the branch and pull request number
|
||||||
4. Click "Run Workflow"
|
4. Click "Run Workflow"
|
||||||
|
|
||||||
|
### Disabling Auto-Review
|
||||||
|
|
||||||
|
You can disable automatic reviews and only use manual triggers by setting `auto-review: false`:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Run Claude Review
|
||||||
|
uses: pacnpal/claude-code-review@main
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
anthropic-key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||||
|
pr-number: ${{ github.event.pull_request.number || inputs.pr_number }}
|
||||||
|
auto-review: false # Disables automatic reviews
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also make it conditional based on labels or other criteria:
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
- name: Run Claude Review
|
||||||
|
uses: pacnpal/claude-code-review@main
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
anthropic-key: ${{ secrets.ANTHROPIC_API_KEY }}
|
||||||
|
pr-number: ${{ github.event.pull_request.number || inputs.pr_number }}
|
||||||
|
auto-review: ${{ contains(github.event.pull_request.labels.*.name, 'needs-review') }}
|
||||||
|
```
|
||||||
|
|
||||||
## Setup
|
## Setup
|
||||||
|
|
||||||
### Prerequisites
|
### Prerequisites
|
||||||
@@ -119,6 +145,7 @@ For existing pull requests, you can manually trigger the review:
|
|||||||
| `github-token` | GitHub token for API access | Yes | N/A |
|
| `github-token` | GitHub token for API access | Yes | N/A |
|
||||||
| `anthropic-key` | Anthropic API key for Claude | Yes | N/A |
|
| `anthropic-key` | Anthropic API key for Claude | Yes | N/A |
|
||||||
| `pr-number` | Pull request number to review | Yes | N/A |
|
| `pr-number` | Pull request number to review | Yes | N/A |
|
||||||
|
| `auto-review` | Enable automatic code reviews (set to `false` to skip) | No | `true` |
|
||||||
|
|
||||||
## Outputs
|
## Outputs
|
||||||
|
|
||||||
|
|||||||
@@ -424,6 +424,15 @@ async function run() {
|
|||||||
const token = core.getInput('github-token', { required: true });
|
const token = core.getInput('github-token', { required: true });
|
||||||
const anthropicKey = core.getInput('anthropic-key', { required: true });
|
const anthropicKey = core.getInput('anthropic-key', { required: true });
|
||||||
let prNumber = core.getInput('pr-number');
|
let prNumber = core.getInput('pr-number');
|
||||||
|
const autoReview = core.getInput('auto-review', { required: false }) || 'true';
|
||||||
|
|
||||||
|
// Check if auto-review is disabled
|
||||||
|
if (autoReview.toLowerCase() === 'false') {
|
||||||
|
core.info('⏭️ Auto-review is disabled, skipping code review');
|
||||||
|
core.setOutput('diff_size', '0');
|
||||||
|
core.setOutput('review', 'Auto-review disabled');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Get PR number from event if not provided
|
// Get PR number from event if not provided
|
||||||
const context = github.context;
|
const context = github.context;
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ inputs:
|
|||||||
pr-number:
|
pr-number:
|
||||||
description: 'Pull request number'
|
description: 'Pull request number'
|
||||||
required: true
|
required: true
|
||||||
|
auto-review:
|
||||||
|
description: 'Enable automatic code reviews (set to false to skip review)'
|
||||||
|
required: false
|
||||||
|
default: 'true'
|
||||||
outputs:
|
outputs:
|
||||||
diff_size:
|
diff_size:
|
||||||
description: 'Size of the relevant code changes'
|
description: 'Size of the relevant code changes'
|
||||||
|
|||||||
9
dist/index.js
vendored
9
dist/index.js
vendored
@@ -32260,6 +32260,15 @@ async function run() {
|
|||||||
const token = core.getInput('github-token', { required: true });
|
const token = core.getInput('github-token', { required: true });
|
||||||
const anthropicKey = core.getInput('anthropic-key', { required: true });
|
const anthropicKey = core.getInput('anthropic-key', { required: true });
|
||||||
let prNumber = core.getInput('pr-number');
|
let prNumber = core.getInput('pr-number');
|
||||||
|
const autoReview = core.getInput('auto-review', { required: false }) || 'true';
|
||||||
|
|
||||||
|
// Check if auto-review is disabled
|
||||||
|
if (autoReview.toLowerCase() === 'false') {
|
||||||
|
core.info('⏭️ Auto-review is disabled, skipping code review');
|
||||||
|
core.setOutput('diff_size', '0');
|
||||||
|
core.setOutput('review', 'Auto-review disabled');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// Get PR number from event if not provided
|
// Get PR number from event if not provided
|
||||||
const context = github.context;
|
const context = github.context;
|
||||||
|
|||||||
3
package-lock.json
generated
3
package-lock.json
generated
@@ -98,7 +98,6 @@
|
|||||||
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
|
"integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.27.1",
|
"@babel/code-frame": "^7.27.1",
|
||||||
"@babel/generator": "^7.28.5",
|
"@babel/generator": "^7.28.5",
|
||||||
@@ -1189,7 +1188,6 @@
|
|||||||
"version": "5.2.2",
|
"version": "5.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz",
|
||||||
"integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
|
"integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@octokit/auth-token": "^4.0.0",
|
"@octokit/auth-token": "^4.0.0",
|
||||||
"@octokit/graphql": "^7.1.0",
|
"@octokit/graphql": "^7.1.0",
|
||||||
@@ -2003,7 +2001,6 @@
|
|||||||
}
|
}
|
||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"peer": true,
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"baseline-browser-mapping": "^2.8.25",
|
"baseline-browser-mapping": "^2.8.25",
|
||||||
"caniuse-lite": "^1.0.30001754",
|
"caniuse-lite": "^1.0.30001754",
|
||||||
|
|||||||
Reference in New Issue
Block a user