调用GitHub API访问经典项目端点时提示需Repository管理员权限
解决GitHub API获取经典项目看板权限报错问题
核心问题分析
你遇到的「Must have admin rights to Repository」报错,大概率是API端点使用错误或项目权限配置不匹配导致的,和Token权限勾选关系不大,以下是具体解决步骤:
1. 修正API端点:区分仓库级/用户/组织级经典项目
GitHub经典项目分两种类型,对应不同的API端点:
- 仓库级经典项目:绑定在具体仓库下,API端点格式为
https://api.github.com/repos/{用户名}/{仓库名}/projects/{项目ID} - 用户/组织级经典项目:独立于仓库,API端点格式为
https://api.github.com/projects/{项目ID}(用户级)或https://api.github.com/orgs/{组织名}/projects/{项目ID}(组织级)
你当前使用的https://api.github.com/projects/1是用户/组织级项目的端点,但你复制的项目是仓库关联的,所以需要改用仓库级端点。
如何获取正确的项目ID?
- 打开仓库的项目页面,URL格式类似
https://github.com/{用户名}/{仓库名}/projects/3,最后的数字就是项目ID - 或用API列出仓库下所有经典项目:
curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.ICE_BOX_TESTER }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/{用户名}/{仓库名}/projects
2. 修正GitHub Actions代码中的语法错误
你的YAML存在两处语法问题:
id: project board:ID不能包含空格,改为id: project_board- 开头的
"name: retieve project board info":多余的引号可以去掉,避免潜在解析问题
修正后的完整步骤代码示例:
name: retrieve project board info on: issues: types: [edited] jobs: Log-Trigger: runs-on: ubuntu-latest steps: - run: echo "🎉 The job was triggered" check_column_and_perform_action: runs-on: ubuntu-latest steps: - name: retrieve project board id: project_board run: | PROJECT_BOARD=$(curl -L \ -H "Accept: application/vnd.github+json" \ -H "Authorization: Bearer ${{ secrets.ICE_BOX_TESTER }}" \ -H "X-GitHub-Api-Version: 2022-11-28" \ https://api.github.com/repos/{你的用户名}/{仓库名}/projects/{项目ID}) echo "::set-output name=project_board::${PROJECT_BOARD}"
3. 确认Token关联账号的项目权限
确保你的Token所属账号:
- 是该仓库的成员,且拥有仓库Write/Admin权限(仓库级经典项目依赖仓库权限)
- 若为组织级项目,需在组织项目设置中给该账号分配读取/编辑权限
内容的提问来源于stack exchange,提问作者Jose Padilla
相关产品推荐
相关产品推荐

