gitlab - 如何编写自定义 GitLab 审批规则?

我的团队正在使用 GitLab Premium。在项目设置中,在合并请求批准下,有一个批准规则部分。在第一行,我们将 Approvals required 数量增加到 1,这样每个合并请求都必须得到至少一个其他队友的批准。到目前为止,一切都很好。

我可以看到还有一个可以启用的许可证检查规则和覆盖检查规则,它们的作用是不言自明的。还有一个添加批准规则按钮,您可以在其中为新规则设置名称和批准者,但您实际上无法描述/选择实际规则应该是什么。我能找到的所有文档都简单地解释了如何点击该 UI。

您如何实际设置新规则,是否可以编写自己的自定义规则?

例如,我们想设置一个规则,只有团队的一个子集可以批准“大”合并请求(其中“大”由更改的行数定义,由 git log 报告)。我想这将类似于 License-Check 或 Coverage-Check,但由我们编写。那可能吗?

回答1

我认为这还不可能。目前,批准规则是特定于分支机构的。合并请求的内容无关紧要。

不过,我认为有一个适合您的解决方案:GitLab 允许您编写可以访问 GitLab API 的机器人。您需要的是一个外部服务来监听新的合并请求。然后,您的工具必须以某种方式找出实际进行了多少更改(据我所知,使用 https://docs.gitlab.com/ee/api/merge_requests.html 尚无法实现)。根据此,您可以通过 API 调整相应 MR 的审批规则(https://docs.gitlab.com/ee/api/merge_request_approvals.html)。

这种方法对您有帮助吗?

您也可以在 https://forum.gitlab.com/ 中提问,在那里您可能会得到更好的帮助。

相似文章

最新文章