【发布时间】:2017-02-08 04:22:18
【问题描述】:
我正在编写一个服务器,它应该连接到 GitHub 并合并拉取请求,但前提是满足所需的批准数量。
出于我的目的,自动合并分支还不够好,我需要能够在合并之前跟踪和记录批准人的数量。
用于拉取请求页面的 github API 提供了很多详细信息,但没有受保护分支上拉取请求的批准者数量。这个号码在某处可以访问吗?有没有其他网站有这种 API 钩子?
【问题讨论】:
标签: git github github-codereviews
我正在编写一个服务器,它应该连接到 GitHub 并合并拉取请求,但前提是满足所需的批准数量。
出于我的目的,自动合并分支还不够好,我需要能够在合并之前跟踪和记录批准人的数量。
用于拉取请求页面的 github API 提供了很多详细信息,但没有受保护分支上拉取请求的批准者数量。这个号码在某处可以访问吗?有没有其他网站有这种 API 钩子?
【问题讨论】:
标签: git github github-codereviews
在受保护的分支上没有拉取请求的批准者数量。
您可以通过调用list-reviews-on-a-pull-request 端点并计算state 是APPROVED 的每条评论来获取号码。
但是,这不包括要求获得多个批准审核的能力。 current implementation of Reviews(截至 2017 年 2 月)将允许合并,如果有一条评论是状态 approved 而没有评论是 request changes。
使用集成进行审核
最简单的解决方案是使用诸如ReviewNinja 之类的第三方集成来提供评论。 ReviewNinja 有能力要求多次批准,但不再积极开发,需要自己托管服务,并将开发人员置于拉取请求之外。
您始终可以使用Status Checks 推出自己的解决方案并控制合并。
使用分支限制控制合并
一些工作流程限制谁可以使用branch restrictions 将代码合并到受保护的分支中。如果您知道需要合并一组用户或团队,那么您也许可以解决不能要求多个用户的限制。相反,合并代码的用户隐式地批准了代码。
【讨论】:
使用GitHub CLI gh 2.5.0 (Feb. 2022),您现在拥有pr status
它解析issue 2210,因为它现在显示批准数。
【讨论】: