Skip to content

Commit 5e4e614

Browse files
Reconcile FGP annotations to docs-authoritative permissions
Verify per-tool fine-grained permissions against the GitHub REST docs' embedded permission sets (progAccess.permissions): - merge_pull_request: contents:write only (was contents:write AND pull_requests:write) - update_pull_request_branch: pull_requests:write only (was contents:write AND pull_requests:write) - list_repository_collaborators: metadata:read (was administration:read) - create_repository: re-add administration:write - fork_repository: re-add administration:write AND contents:read Regenerate docs/permissions-filtering.md (55 rows; idempotent). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 51f5314 commit 5e4e614

3 files changed

Lines changed: 10 additions & 8 deletions

File tree

docs/permissions-filtering.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -80,14 +80,16 @@ The generated table below is produced by `script/generate-docs` and lists every
8080
| `pull_requests` | `add_reply_to_pull_request_comment` | `pull_requests:write` |
8181
| `pull_requests` | `create_pull_request` | `pull_requests:write` |
8282
| `pull_requests` | `list_pull_requests` | `pull_requests:read` |
83-
| `pull_requests` | `merge_pull_request` | `contents:write AND pull_requests:write` |
83+
| `pull_requests` | `merge_pull_request` | `contents:write` |
8484
| `pull_requests` | `pull_request_read` | `pull_requests:read` |
8585
| `pull_requests` | `pull_request_review_write` | `pull_requests:write` |
86-
| `pull_requests` | `update_pull_request_branch` | `contents:write AND pull_requests:write` |
86+
| `pull_requests` | `update_pull_request_branch` | `pull_requests:write` |
8787
| `pull_requests` | `update_pull_request` | `pull_requests:write` |
8888
| `repos` | `create_branch` | `contents:write` |
8989
| `repos` | `create_or_update_file` | `contents:write` |
90+
| `repos` | `create_repository` | `administration:write` |
9091
| `repos` | `delete_file` | `contents:write` |
92+
| `repos` | `fork_repository` | `administration:write AND contents:read` |
9193
| `repos` | `get_commit` | `contents:read` |
9294
| `repos` | `get_file_contents` | `contents:read` |
9395
| `repos` | `get_latest_release` | `contents:read` |
@@ -96,7 +98,7 @@ The generated table below is produced by `script/generate-docs` and lists every
9698
| `repos` | `list_branches` | `contents:read` |
9799
| `repos` | `list_commits` | `contents:read` |
98100
| `repos` | `list_releases` | `contents:read` |
99-
| `repos` | `list_repository_collaborators` | `administration:read` |
101+
| `repos` | `list_repository_collaborators` | `metadata:read` |
100102
| `repos` | `list_tags` | `contents:read` |
101103
| `repos` | `push_files` | `contents:write` |
102104
| `secret_protection` | `get_secret_scanning_alert` | `secret_scanning_alerts:read` |

pkg/github/pullrequests.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1434,7 +1434,7 @@ func MergePullRequest(t translations.TranslationHelperFunc) inventory.ServerTool
14341434
}
14351435

14361436
return utils.NewToolResultText(string(r)), nil, nil
1437-
}).WithPermissions(permissions.Require(permissions.PullRequests.Write(), permissions.Contents.Write()))
1437+
}).WithPermissions(permissions.Require(permissions.Contents.Write()))
14381438
}
14391439

14401440
// SearchPullRequests creates a tool to search for pull requests.
@@ -1591,7 +1591,7 @@ func UpdatePullRequestBranch(t translations.TranslationHelperFunc) inventory.Ser
15911591
}
15921592

15931593
return utils.NewToolResultText(string(r)), nil, nil
1594-
}).WithPermissions(permissions.Require(permissions.PullRequests.Write(), permissions.Contents.Write()))
1594+
}).WithPermissions(permissions.Require(permissions.PullRequests.Write()))
15951595
}
15961596

15971597
type PullRequestReviewWriteParams struct {

pkg/github/repositories.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -676,7 +676,7 @@ func CreateRepository(t translations.TranslationHelperFunc) inventory.ServerTool
676676

677677
return utils.NewToolResultText(string(r)), nil, nil
678678
},
679-
)
679+
).WithPermissions(permissions.Require(permissions.Administration.Write()))
680680
}
681681

682682
// FetchRepoIsPrivate returns whether a repository is private. It is a thin
@@ -986,7 +986,7 @@ func ForkRepository(t translations.TranslationHelperFunc) inventory.ServerTool {
986986

987987
return utils.NewToolResultText(string(r)), nil, nil
988988
},
989-
)
989+
).WithPermissions(permissions.Require(permissions.Administration.Write(), permissions.Contents.Read()))
990990
}
991991

992992
// DeleteFile creates a tool to delete a file in a GitHub repository.
@@ -2795,5 +2795,5 @@ func ListRepositoryCollaborators(t translations.TranslationHelperFunc) inventory
27952795
callResult = attachStaticIFCLabel(ctx, deps, callResult, ifc.LabelCollaboratorRoster())
27962796
return callResult, nil, nil
27972797
},
2798-
).WithPermissions(permissions.Require(permissions.Administration.Read()))
2798+
).WithPermissions(permissions.Require(permissions.Metadata.Read()))
27992799
}

0 commit comments

Comments
 (0)