github - 使用 GitHub 的 API 创建拉取请求
问题描述
我正在尝试使用此文档直接使用它的 REST API 向 GitHub 发出拉取请求:
https://developer.github.com/v3/pulls/#create-a-pull-request
我创建了一个公共仓库,我尝试通过 API 检索拉取请求的操作,并且工作正常。但是当我尝试使用此操作创建拉取请求时:
POST /repos/:owner/:repo/pulls
这个身体:
{
"title": "Amazing new feature",
"body": "Please pull this in!",
"head": "theOwner:new-branch",
"base": "master"
}
然后我从响应中收到此消息:
{
"message": "Not Found",
"documentation_url": "https://developer.github.com/v3/pulls/#create-a-pull-request"
}
我提出请求的完整网址是:
https://api.github.com/repos/alvarocallero/node-test/pulls
我正在使用的请求的正文是否正确?可能是“head”的值不正确。
解决方案
我feature
在同一个存储库中创建了一个分支,我想针对它创建一个拉取请求。之后,我POST /repos/:owner/:repo/pulls
使用以下正文调用了问题中提到的 api:
{
"title": "Amazing new feature",
"body": "Please pull this in!",
"head": "feature",
"base": "master"
}
正如你所看到的,因为我的feature
分支与我创建拉取请求的 master 位于同一个仓库中,所以我刚刚在head
.
在此之后,我还确保我通过了Authorization
(基本身份验证),并且当我调用 API 时,在 github 中创建了拉取请求。
然后我尝试在不传递 Authorization 标头的情况下调用上述 API,我得到了404
. 因此,我认为您需要更正head
正文中的值,正如您在评论中提到的那样,您的分支与您创建拉取请求的 master 分支位于同一个仓库中。并确保通过Authorization header
推荐阅读
- c# - C如何断言这个结构不等于零?
- ms-access - 如何进行部分复制/粘贴记录集
- git - 如何从 git 存储库中取消链接分支?
- amazon-web-services - s3 上的 TensorFlow/Tensorboard
- python - 在 whois 包中扩展 Python 模块
- java - 尝试使用 SharedPreferences 存储和检索应用程序数据,但它没有返回所需的数据
- android - 仅在片段可见时如何调用函数
- javascript - encodeURIComponent 和内容类型:'charset: utf-8'
- javascript - 在 webpack 中找不到模块
- mysql - 这是用唯一值填充维度表的适当方法吗?