You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

使用GitHub API为Issue添加标签遇请求错误,求解决方案

排查GitHub API添加Issue标签的错误及正确实现

我来帮你搞定这个问题!你遇到的错误核心原因是请求体格式不符合GitHub API的要求,咱们一步步来解决:

错误原因分析

GitHub的Issue添加标签接口(POST /repos/{owner}/{repo}/issues/{issue_number}/labels)要求请求体是一个包含labels字段的JSON对象,而不是直接传标签数组。你直接把["submitted"]作为请求体发送,API无法识别这个格式,所以抛出了"Invalid request"的错误。

正确实现方式

方法1:修改label.json的内容

把原来的数组改成带labels字段的对象:

{"labels": ["submitted"]}

然后重新执行你原来的curl命令即可:

curl -X POST -H "Authorization: token OOOOOOOOOOOOOOOO" -H \
"Accept: application/vnd.github.symmetra-preview+json" \
-d @label.json https://api.github.com/repos/CHSUNSONG/star-platform/issues/11

方法2:直接在命令中传递JSON数据(无需文件)

如果不想用文件,也可以把JSON直接写在curl命令里,更方便:

curl -X POST -H "Authorization: token OOOOOOOOOOOOOOOO" \
-d '{"labels": ["submitted"]}' https://api.github.com/repos/CHSUNSONG/star-platform/issues/11

补充说明:现在GitHub API的标签接口已经不需要Accept: application/vnd.github.symmetra-preview+json这个预览媒体类型了,去掉它也能正常工作,当然保留也不会有问题。

内容的提问来源于stack exchange,提问作者Song Changsun

火山引擎 最新活动