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