使用GitHub API和php

时间:2016-06-04 20:32:27

标签: php api curl github refs

我正在使用php,curl和GitHub API尝试一些git自动化。我首先将一个功能分支合并到默认(主)分支中,方法是创建一个拉取请求,然后合并该拉取请求(全部通过api)。

到目前为止一切顺利。我从拉请求合并中得到的响应是sha值,merged = true和message ='拉请求成功合并'。

接下来,我使用GitHub API删除我的dev分支。这项行动也很成功。在执行的这一点上,当查看github.com UI的“所有分支”列表时,GitHub上不再存在dev分支。

最后,我尝试使用pull请求返回的sha将功能分支合并到master分支中,以使用端点创建一个新的dev分支(根据https://developer.github.com/v3/git/refs/#create-a-reference):

/repos/{owner}/{repo}/git/refs

并发布数据:

{"ref":"refs\/head\/{dev-branch-name}","sha":"{sha-returned-from-previous-merge"}

我得到的回应是: { "message": "Reference already exists", "documentation_url": "https://developer.github.com/v3/git/refs/#create-a-reference" }

这让我没有新的dev分支。我的预感是从上一次合并返回的sha不是我应该使用的sha,但是我找不到任何文档来解释我应该从哪里获取用于创建新分支的sha。据我所知,所需的sha应该是新分支应该分支的ref,因此我希望将我的功能分支合并到默认(主)分支中产生的sha将是适当的。有谁知道我在这里错过了什么?

提前感谢您的帮助!

-axl

0 个答案:

没有答案