GitHub Action添加里程碑失败:node_id为null的原因排查
node_id为null的常见原因
Issue创建请求本身失败
- 你curl的
myurl大概率不是GitHub Issues API的正确地址,正确格式应为https://api.github.com/repos/<用户名>/<仓库名>/issues,地址错误会导致无法创建Issue,自然拿不到node_id。 - 请求头的
Content-Type设置错误:GitHub API要求创建Issue时必须使用application/json,你当前用的是text/plain; charset=utf-8,服务器无法正确解析请求体,直接返回错误响应,不会包含node_id字段。 - 令牌权限不足:你的
xxsecretxx没有目标仓库的写入权限(创建Issue需要repo权限),GitHub会拒绝请求,返回的错误响应里不存在node_id。 - 请求体JSON格式无效:你对title的转义处理可能存在疏漏,导致JSON语法错误,服务器无法创建Issue,返回的错误内容里没有
node_id。
- 你curl的
响应解析出错
- 如果API返回的是错误响应(比如401权限错误、404仓库不存在),这类响应本身就没有
node_id字段,用jq '.node_id'提取时自然会得到null。
- 如果API返回的是错误响应(比如401权限错误、404仓库不存在),这类响应本身就没有
其他小概率情况
- curl请求过程中出现网络异常,导致响应内容不完整或为空,jq解析后会返回
null。
- curl请求过程中出现网络异常,导致响应内容不完整或为空,jq解析后会返回
内容的提问来源于stack exchange,提问作者mzbu
相关产品推荐
相关产品推荐

