GitHub Actions工作流使用GitHub CLI更新仓库描述遇403权限错误
解决GitHub Actions中
gh repo edit的403权限问题 我尝试通过仓库内的GitHub Actions工作流自动更新仓库描述,配置了如下工作流:
name: update repo on: push jobs: update: runs-on: ubuntu-latest permissions: write-all steps: - name: 'Checkout repository' uses: actions/checkout@v3 - name: 'Update repository description' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: gh repo edit --description "test"
但即使设置了permissions: write-all,仍收到错误:
HTTP 403: Resource not accessible by integration
以下是解决这个权限问题的方法:
显式指定所需权限:
虽然write-all理论上包含所有写入权限,但显式声明administration: write权限更稳妥,避免权限继承或默认规则的影响。修改工作流的permissions部分:permissions: administration: write检查仓库的Workflow权限设置:
进入仓库的「Settings」→「Actions」→「General」,在「Workflow permissions」区域:- 确保选中「Read and write permissions」;
- 如果是组织仓库,需要确认组织层面没有限制工作流修改仓库设置的权限。
显式指定仓库地址(可选):
在gh repo edit命令中明确指定仓库的完整路径(OWNER/REPO),避免CLI自动识别仓库时出现异常:gh repo edit YOUR_USERNAME/YOUR_REPO --description "test"使用个人访问令牌(PAT)替代默认GITHUB_TOKEN(极端情况):
如果上述方法都无效,可以创建一个拥有repo权限的个人访问令牌,将其添加到仓库的Secrets中(命名为PAT_TOKEN),然后在工作流中替换GITHUB_TOKEN:env: GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
内容的提问来源于stack exchange,提问作者AAriam
相关产品推荐
相关产品推荐

