使用GitHub的API创建拉取请求

时间:2019-05-07 17:18:16

标签: github

我正在使用此文档,尝试使用REST API直接向GitHub发出拉取请求:

https://developer.github.com/v3/pulls/#create-a-pull-request

我已经创建了一个公共仓库,并且尝试通过API检索拉取请求的操作,并且工作正常。 但是当我尝试使用此操作创建拉取请求时:

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

和这个身体:

merge = Concatenate()([wide.output,deep.output])
model = Model(inputs=[wide.input,deep.input], outputs=output)

然后我从响应中收到此消息:

.outputs

我提出的完整网址是:

https://api.github.com/repos/alvarocallero/node-test/pulls

我使用的请求的内容正确吗? 可能是“ head”的值不正确。

2 个答案:

答案 0 :(得分:1)

我在要为其创建Pull请求的同一存储库中创建了一个feature分支。之后,我用以下内容调用了问题中提到的api POST /repos/:owner/:repo/pulls

{
  "title": "Amazing new feature",
  "body": "Please pull this in!",
  "head": "feature",
  "base": "master"
}

您可以看到,由于我的feature分支与要为其创建Pull请求的主服务器在同一个存储库中,因此我刚刚在head中提到了它的名称。

此后,我还确保我传递了Authorization(基本身份验证),并在调用API时在github中创建了Pull请求。

然后,我尝试调用上述API,但未传递Authorization标头,但得到了404。因此,我认为您需要像注释中提到的那样更正正文中的head值,即分支与要为其创建Pull请求的主服务器在同一个仓库中。并确保通过Authorization header

答案 1 :(得分:0)

按照@Yug Sing的建议使用基本身份验证之后,我最终可以通过API进行PR:我的问题是,在为基本身份验证创建令牌时,不是使用userName和accessToken,而是使用userName和my git的密码,因此验证失败