首页 > 解决方案 > 如何使用 github API 创建 github 拉取请求?

问题描述

我已将 repo 的一些更改推送到copyright_updatergithub 上的新分支。更改在 github 上。

现在我想创建一个拉取请求。我一直在查看API 文档并想出了以下命令来创建拉取请求:

curl \
  -X POST \
  -H "Accept: application/vnd.github.v3+json" \
  "https://api.github.com/repos/alex4200/hello-world/pulls" \
  -d '{"head":"copyright_updater","base":"master"}' 

但是,这将返回输出

{
  "message": "Not Found",
  "documentation_url": "https://docs.github.com/rest/reference/pulls#create-a-pull-request"
}

那么这次我错过了什么?

PS 看不出来是不是授权问题。即使使用令牌,我也会得到相同的答复。

标签: gitgithub

解决方案


它看起来不是授权问题。

也许不是,但由于您的代码没有显示授权,我不希望它做任何事情。我能够让它工作得很好,就像这样:

curl --location --request POST 'https://api.github.com/repos/mattneub/temp/pulls' \
--header 'Authorization: Bearer 55...42' \
--header 'Content-Type: application/json' \
--data-raw '{
    "base":"main",
    "head":"what",
    "title":"Fun"
}'

显然,即使文档没有这样说,标题也是必需的。


推荐阅读