Skip to content

Commit 62d78dc

Browse files
committed
Refine permissions documentation in CLAUDE.md and README.md. Introduce minimal and alternative permission configurations for action consumers, emphasizing the use of pull-requests: write for PR access. Update troubleshooting section with detailed permission solutions.
1 parent 7e87ae9 commit 62d78dc

2 files changed

Lines changed: 43 additions & 15 deletions

File tree

CLAUDE.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -126,15 +126,26 @@ Create `.env` file based on `.env.example` to simulate GitHub Actions environmen
126126

127127
## Permissions Required (for consumers)
128128

129-
Action consumers must grant these permissions in their workflow:
129+
### Minimal Permissions (Recommended)
130+
Action consumers should use these simplified permissions in their workflow:
131+
```yaml
132+
permissions:
133+
pull-requests: write # Read PR reviews and create/update PR comments
134+
id-token: write # Request OIDC token
135+
```
136+
137+
### Alternative Permissions
138+
If the minimal permissions don't work due to repository settings, try:
130139
```yaml
131140
permissions:
132141
contents: read # Read repo metadata
133-
pull-requests: read # Read PR reviews and comments
134-
issues: write # Create/update PR comments (PRs use Issues API)
142+
pull-requests: write # Read PR reviews and comments + write comments
143+
issues: read # Additional PR comment read access
135144
id-token: write # Request OIDC token
136145
```
137146
147+
**Note**: The `pull-requests: write` permission typically provides all necessary access for reading PR data and creating comments, as PRs use the Issues API for comments.
148+
138149
## Versioning
139150

140151
- Follow [Semantic Versioning](https://semver.org/)
@@ -186,7 +197,7 @@ permissions:
186197
1. **Forgetting to bundle**: After changing `src/`, must run `npm run bundle` and commit `dist/`
187198
2. **Reviewing dist/**: Don't review `dist/` changes in PRs — they mirror TypeScript sources
188199
3. **Using console**: Use `@actions/core` logging methods instead of `console.log`
189-
4. **Missing permissions**: Consumers need `id-token: write` for OIDC authentication
200+
4. **Missing permissions**: Consumers need `pull-requests: write` and `id-token: write` at minimum
190201
5. **Testing without mocks**: Mock GitHub API and proxy responses in tests
191202

192203
## Development Container

README.md

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,7 @@ on:
6060
types: [created, edited]
6161

6262
permissions:
63-
contents: read
64-
pull-requests: read
65-
issues: write
63+
pull-requests: write
6664
id-token: write
6765

6866
concurrency:
@@ -222,12 +220,14 @@ credentials
222220

223221
### Required Permissions
224222

225-
| Permission | Level | Purpose |
226-
| --------------- | ----- | --------------------------------- |
227-
| `contents` | read | Read repository metadata |
228-
| `pull-requests` | read | Fetch PR review comments |
229-
| `issues` | write | Create/update PR comments |
230-
| `id-token` | write | Request OIDC authentication token |
223+
| Permission | Level | Purpose |
224+
| --------------- | ----- | -------------------------------------------------- |
225+
| `pull-requests` | write | Read PR review comments and create/update comments |
226+
| `id-token` | write | Request OIDC authentication token |
227+
228+
> **Note:** The `pull-requests: write` permission typically covers both reading
229+
> PR data and writing comments. If you encounter permission issues, see the
230+
> [troubleshooting section](#-troubleshooting) for alternative configurations.
231231

232232
## 🎯 Use Cases
233233

@@ -328,6 +328,24 @@ change this behavior by setting `fail-on-proxy-error: true`.
328328
<details>
329329
<summary><b>Common Issues and Solutions</b></summary>
330330

331+
### "Permission denied" or "Resource not accessible by integration"
332+
333+
**Cause:** Insufficient permissions for your repository settings
334+
335+
**Solution:** If the minimal permissions don't work, try this expanded
336+
configuration:
337+
338+
```yaml
339+
permissions:
340+
contents: read # Repository metadata access
341+
pull-requests: write # PR review and comment access
342+
issues: read # Additional PR comment read access
343+
id-token: write # OIDC authentication
344+
```
345+
346+
Repository settings can vary, and some organizations may require additional
347+
permissions depending on their security policies.
348+
331349
### "Error requesting OIDC token"
332350

333351
**Cause:** Missing `id-token: write` permission
@@ -337,8 +355,7 @@ change this behavior by setting `fail-on-proxy-error: true`.
337355
```yaml
338356
permissions:
339357
id-token: write # Add this permission
340-
pull-requests: read
341-
issues: write
358+
pull-requests: write
342359
```
343360

344361
### "No comment appears after reviews"

0 commit comments

Comments
 (0)