合并请求审批
要为项目中的变更设置审核流程,您可以配置合并请求审批。它们能够确保变更被合入到项目之前是经过审核的。您可以将审批配置为可选或必须,这取决于您的项目需求和付费层级。
- 极狐GitLab 基础版允许所有具有开发者或更高权限的用户批准合并请求。这些批准是可选的,并且不会阻止合并请求在未经批准的情况下合并。
-
极狐GitLab 专业版和极狐GitLab 旗舰版提供您创建所需的审批规则,包括:
- 创建有关审核者数量和类型的必需规则。
- 创建特定文件的代码所有者列表。
- 配置整个实例的审批。
- 配置群组级别的合并请求审批设置。
配置审批规则
先决条件:
- 您必须至少具有项目的开发者角色。
要配置审批规则:
- 前往项目的 设置 > 合并请求。
- 转到 合并请求批准 部分。
- 设置您想要的规则。
您还可以配置:
- 额外的合并请求批准设置 以更好地控制您的项目所需的监督和安全级别。
- 通过 合并请求批准 API 配置合并请求批准规则。
更多关于配置规则的信息,请参阅 审批规则。
必须批准
必须批准是按您指定的用户数量和类型强制执行代码审核。未经批准,工作无法合并。必须批准支持多个用例:
- 强制审核合并到仓库中的所有代码。
- 通过批准规则为给定的拟议代码更改指定审核者,以及最少数量的审核者。
- 为所有提议的代码更改指定审核者的类别,例如后端、前端、质量保证或数据库。
- 使用更改文件的代码所有者来确定谁应该审查工作。
- 需要在合并导致测试覆盖率下降的代码之前获得批准
- 旗舰版用户在合并可能引入漏洞的代码之前,也可以要求安全团队批准。
查看审批状态
您可以在两个地方看到合并请求的审批状态。在项目或群组的合并请求自身或在合并请求列表中。
对单个合并请求
符合条件的审批者可以查看单个合并请求的审批状态。
要查看审批状态:
小部件会展示这些状态中的某一个:
- 批准:合并请求需要更多批准。
- 额外批准:合并请求需要必须的批准。
- 撤销批准:您已经批准了合并请求。
要检查您的审批是否满足代码所有者要求,选择 展开符合条件的审批者 ()。
在合并请求列表中
您项目或群组的合并请求列表显示每个合并请求的审批状态:
示例 | 描述 |
---|---|
![]() |
缺失必须的审批。() |
![]() |
满足审批。 () |
![]() |
满足审批而且您还是其中一个审批人。 () |
单个审核者状态
要查看每个审核者的审核和审批状态:
- 打开合并请求。
- 检查有侧边栏。
每一个审批人的状态都会展示在他们的名字旁边。
要重新请求审核,在用户边上选择 重新请求审核 图标 ()。
审批合并请求
符合条件的审批人可以有两种方式来批准合并请求:
- 在合并请求小部件中选择 批准。
- 在评论中使用
/approve
快速操作。
批准的合并请求会在评审者列表中显示绿色的检查标记(),并显示在评审者旁边。当合并请求接收到所有需要的审批后,它将准备好合并,除非以下原因它被阻止合并:
阻止作者审批
要阻止作者审批自己的工作,需要启用阻止作者审批设置。
审批规则更改
如果您启用了审批规则覆盖,默认审批规则的更改不会影响现有合并请求,除非您更改了目标分支。
无效规则
- 引入于 15.1 版本。
- 变更于 15.11 版本,功能标志为
invalid_scan_result_policy_prevents_merge
。默认禁用。- 在极狐GitLab 16.2 中 GA,功能标志
invalid_scan_result_policy_prevents_merge
被移除。
当审批规则无法满足时,极狐GitLab 会将审批规则标记为自动批准,比如当:
- 仅有的符合资格的审批人是合并请求作者。
- 没有将符合条件的审批人指派给审批规则。
- 所需的审批数量超过符合条件的审批人数量。
这些规则会被自动批准以免阻止它们各自的合并请求,除非您创建了规则通过合并请求审批策略。
无效的策略创建规则将:
- 显示为需要操作。
- 不会自动批准。
- 阻止受影响的合并请求。
相关主题
- 合并请求审批 API
- 针对私有化部署实例,实例审批规则
- 为具有报告者角色的用户启用审批权限
- 编辑或覆盖合并请求审批规则