如果未添加新提交,如何使用 Github api 合并 PR

时间:2021-04-18 22:03:16

标签: git jenkins github-api

在我们的管道中,我们目前正在检查一个 PR(创建一个新的本地分支),对其进行测试,如果测试通过,则合并 PR。 我们正在使用它来合并 PR:

<块引用>

curl -X PUT https://api.github.com/repos/'${repo}'/pulls/'${prNumber}'/merge

这里的问题是,开发人员可能会在测试期间向该 PR 推送更多提交。 我怎样才能防止这种情况? 最好只合并经过测试的提交(直到我本地分支上的提交)。但是,如果我可以在合并任何一个 repos 之前检查所有 repos 的 PR,如果新提交被合并,那么工作失败就足够了

1 个答案:

答案 0 :(得分:1)

这取决于您的构建过程。如果您的合并脚本至少检查了一个批准,并且只有这样您的分支才有资格合并,您可以在推送新提交时关闭过时的拉取请求,这将恢复批准:

enter image description here

如果您的脚本不需要批准,您可以在程序开始时检查最后一次提交的 SHA,在合并之前您可以验证它没有更改。