如何编写自定义 GitLab 审批规则?
How to write custom GitLab approval rules?
我的团队正在使用 GitLab Premium。在项目设置中,在 Merge request approvals 下,有一个 Approval rules 部分。在第一行,我们将 Approvals required 数量增加到 1,这样每个合并请求都必须得到至少一个其他队友的批准。到目前为止一切顺利。
我可以看到还有一个 License-Check 规则和 Coverage-Check 规则可以启用,它们的作用是非常不言自明。还有一个 添加批准规则 按钮,您可以在其中为新规则设置名称和批准者,但实际上 describe/choose 实际规则应该是什么。我能找到的所有文档都简单地解释了如何单击 UI。
您实际上是如何设置新规则的?是否可以编写自己的自定义规则?
例如,我们想设置一个规则,只有团队的一个子集可以批准“大型”合并请求(其中“大型”由更改的行数定义,如 [=35 报告的那样) =] 日志)。我想这会类似于 License-Check 或 Coverage-Check,但由我们编写。这可能吗?
我认为这还不可能。目前,审批规则为 branch-specific。合并请求的内容无关紧要。
尽管如此,我认为有一个解决方案适合您:GitLab 允许您编写可以访问 GitLab API 的机器人。您需要的是侦听新合并请求的外部服务。然后,您的工具必须以某种方式找出实际进行了多少更改(Merge Request API as far as I can tell). Depending on this, you can then adjust the approval rules via the API for the corresponding MR (API reference 还不可能做到这一点)。
这个方法对你有帮助吗?
您也可以在 GitLab Community Forum 中提问,在那里您可能会得到更好的帮助。
我的团队正在使用 GitLab Premium。在项目设置中,在 Merge request approvals 下,有一个 Approval rules 部分。在第一行,我们将 Approvals required 数量增加到 1,这样每个合并请求都必须得到至少一个其他队友的批准。到目前为止一切顺利。
我可以看到还有一个 License-Check 规则和 Coverage-Check 规则可以启用,它们的作用是非常不言自明。还有一个 添加批准规则 按钮,您可以在其中为新规则设置名称和批准者,但实际上 describe/choose 实际规则应该是什么。我能找到的所有文档都简单地解释了如何单击 UI。
您实际上是如何设置新规则的?是否可以编写自己的自定义规则?
例如,我们想设置一个规则,只有团队的一个子集可以批准“大型”合并请求(其中“大型”由更改的行数定义,如 [=35 报告的那样) =] 日志)。我想这会类似于 License-Check 或 Coverage-Check,但由我们编写。这可能吗?
我认为这还不可能。目前,审批规则为 branch-specific。合并请求的内容无关紧要。
尽管如此,我认为有一个解决方案适合您:GitLab 允许您编写可以访问 GitLab API 的机器人。您需要的是侦听新合并请求的外部服务。然后,您的工具必须以某种方式找出实际进行了多少更改(Merge Request API as far as I can tell). Depending on this, you can then adjust the approval rules via the API for the corresponding MR (API reference 还不可能做到这一点)。
这个方法对你有帮助吗?
您也可以在 GitLab Community Forum 中提问,在那里您可能会得到更好的帮助。