GitHub Api 检查受保护分支的批准数

GitHub Api check number of approvals on protected branch

我正在编写一个应该连接到 GitHub 并合并拉取请求的服务器,但前提是满足所需的批准数量。

为了我的目的,自动合并分支还不够好,我需要能够在合并前跟踪和记录批准者的数量。

拉取请求页面的 github API 提供了很多细节,但没有受保护分支上拉取请求的批准者数量。这个号码在某个地方可以访问吗?有没有其他网站有这种 API 挂钩?

doesnt have the number of approvers for a pull request on a protected branch.

您可以通过调用 list-reviews-on-a-pull-request 端点并计算 stateAPPROVED 的每个评论来获取该数字。

但是,这不包括要求多个批准审核的能力。 current implementation of Reviews(截至 2017 年 2 月)将允许合并,如果有一篇评论的状态为 approved 且 none 为 request changes

使用集成进行审核

最简单的解决方案是使用一些第 3 方集成,例如 ReviewNinja 来提供评论。 ReviewNinja 有能力要求多次批准,但不再积极开发,需要自己托管服务,并将开发人员置于拉取请求之外。

您始终可以使用 Status Checks 滚动自己的解决方案和控制合并。

使用分支限制控制合并

一些工作流限制谁可以使用 branch restrictions 将代码合并到受保护的分支中。如果您知道需要合并一组用户或团队,那么您可能 能够解决不能要求多个用户的限制。相反,合并代码的用户隐式批准了代码。

GitHub CLI gh 2.5.0 (Feb. 2022), you now have pr status

它解决了 issue 2210,因为它现在显示批准数。