GitHub Actions执行gh variable list报403:Resource not accessible by integration
解决方案
核心问题
默认的GITHUB_TOKEN即便设置了write-all,也没有读取仓库Actions变量的权限——因为读取Actions变量需要明确的actions: read权限,这个权限不在write-all的默认覆盖范围内,属于单独的权限范畴。
具体修复步骤
替换宽泛权限为精准配置
把工作流里的permissions: write-all替换为明确的actions: read权限(如果还需要其他操作权限,可以叠加):permissions: actions: read比如如果同时需要提交代码的权限,可以写成:
permissions: actions: read contents: write移除多余的Token导出步骤
GitHub CLI会自动读取环境中的GITHUB_TOKEN,不需要手动导出到GITHUB_ENV,直接删除那个Export variables to env步骤即可。
修复后的完整工作流示例
name: Test, Build, Deploy on: [ push ] permissions: actions: read # 必须:赋予读取Actions变量的权限 jobs: test_build_deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: List all github variables run: gh variable list
额外说明
如果需要读取组织级别的Actions变量,还要确保:
- 仓库已被授权访问组织的Actions变量(在组织的
Settings > Actions > Variables中配置) - 工作流的
permissions依然保留actions: read
内容的提问来源于stack exchange,提问作者AJP
相关产品推荐
相关产品推荐

