You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

GitHub REST API获取仓库自定义属性返回空数组问题排查

问题排查与解决方法

首先得明确你可能混淆了两个核心概念:

  • 仓库自定义属性:是仓库级别的键值配置,在仓库的「Settings -> Code and automation -> Custom properties」里设置,对应你调用的/repos/OWNER/REPO/properties/values接口
  • GitHub Projects自定义字段:是项目板(Project)里的字段,比如状态、迭代这类,属于项目资源,和仓库属性不是一回事,你用GraphQL能拿到的大概率是这个

分情况解决:

情况1:你把项目字段当成了仓库自定义属性

如果你的自定义字段是在GitHub Projects里设置的,那用仓库属性的REST接口肯定拿不到,得用项目相关的REST接口:

  • 经典项目(Projects v1):调用GET /projects/{owner}/{project}/fields
  • 新版项目(Projects v2):调用GET /orgs/{owner}/projects/{project_number}/fields(组织项目)或GET /users/{owner}/projects/{project_number}/fields(个人项目)

情况2:确实是仓库自定义属性但返回空数组

按以下步骤逐一排查:

  1. 确认仓库真的配置了属性:去仓库的「Settings -> Custom properties」页面,检查有没有添加属性,并且是否给仓库设置了对应的值(空键但未设值的话,接口可能返回空数组)
  2. 核对令牌权限:
    • 私有仓库:令牌必须有repo权限
    • 公有仓库:令牌需要public_repo权限
    • 如果是组织级令牌,要确保该令牌被授权访问目标仓库(在组织的「Settings -> Personal access tokens」里检查仓库权限)
  3. 检查请求参数:确认OWNER和REPO的拼写完全正确,包括组织/用户名的大小写(虽然GitHub不严格区分,但避免踩坑)
  4. 直接用curl测试:排除代码逻辑问题,执行以下命令:
    curl -H "Authorization: token YOUR_GITHUB_TOKEN" https://api.github.com/repos/OWNER/REPO/properties/values
    
  5. 排除API缓存:GitHub API偶尔会有缓存,等5-10分钟再试,或者换一个新生成的令牌测试

内容的提问来源于stack exchange,提问作者El Anonimo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 00:22:09