我正在编写一个服务器,它应该连接到 GitHub 并 merge pull 请求,但前提是满足所需的批准数量。
就我的目的而言,自动 merge 分支还不够好,我需要能够在 merge 之前跟踪和记录审批者的数量。
用于 pull 请求页面的 github API 提供了很多详细信息,但没有 protected 分支上 pull 请求的审批者数量。这个号码可以在某处访问吗?还有其他网站有这种 API Hook 吗?
最佳答案
doesnt have the number of approvers for a pull request on a protected branch.
您可以调用 list-reviews-on-a-pull-request 获取号码端点并对 state
为 APPROVED
的每条评论进行计数。
但是,这不包括要求多个批准评论的能力。 current implementation of Reviews (截至 2017 年 2 月)如果有一个审核状态为已批准
并且没有一个请求更改
,则将允许 merge 。
使用集成进行审核
最简单的解决方案是使用一些第三方集成,例如 ReviewNinja提供评论。 ReviewNinja 能够要求多个批准,但不再积极开发,需要自己托管服务,并将开发人员置于 pull 请求之外。
您始终可以使用 Status Checks 推出自己的解决方案并控制 merge .
使用分支限制控制 merge
某些工作流程限制谁可以使用 branch restrictions 将代码 merge 到 protected 分支中。如果您知道需要 merge 一组用户或团队,那么您也许能够解决无法要求多个用户的限制。相反, merge 代码的用户隐式批准该代码。
关于GitHub Api 检查 protected 分支上的批准数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42104665/