GitHub Actionsのpermissionsはエンドポイントではなくリソースで判断される
どういうことかというと、IssuesとPull Requestsで共通のAPIは、その対象がIssueなのかPull Requestなのかによって必要な権限が変わる。
たとえばIssueのラベルを取得するこういうエンドポイントは、Pull Requestのラベルであっても同じものを使う。
Every pull request is an issue, but not every issue is a pull request.
しかしGitHub Actionsの permissions で指定する権限は、ラベルを取得する対象がIssueであれば issues: read を、Pull Requestであれば pull-requests: read を要求する。
issues
Work with issues. For example, issues: write permits an action to add a comment to an issue. For more information, see "Permissions required for GitHub Apps."
pull-requests
Work with pull requests. For example, pull-requests: write permits an action to add a label to a pull request. For more information, see "Permissions required for GitHub Apps."
つまり、GitHub Actionsのpermissionsはエンドポイントではなくリソースで判断される。難しい。