合并请求审批
- 版本:Free, Premium, Ultimate
- 提供方式:GitLab.com, GitLab Self-Managed, GitLab Dedicated
要为项目中的更改设置审查流程,请配置合并请求审批。 这有助于确保在更改合并到您的项目之前对其进行审查。 您可以根据项目需求和 GitLab 版本将审批配置为可选或必需。
-
GitLab Free 允许 所有至少具有 Developer 角色 的用户 审批合并请求。这些审批是可选的,不会阻止未经审批的合并。
-
GitLab Premium 和 GitLab Ultimate 为您提供更多 灵活性来:
配置审批规则
先决条件:
- 您必须至少具有项目的 Developer 角色。
要配置审批规则:
- 转到您项目的 设置 > 合并请求。
- 转到 合并请求审批 部分。
- 设置您想要的规则。
您还可以配置:
- 更多 合并请求审批设置 以更好地控制 您项目所需的监督和安全性级别。
- 使用 合并请求审批 API 配置 合并请求审批规则。
有关配置规则的更多信息,请参阅 审批规则。
必需审批
- 版本:Premium, Ultimate
- 提供方式:GitLab.com, GitLab Self-Managed, GitLab Dedicated
必需审批要求指定用户进行代码审查。没有这些审批,合并是不可能的。
使用场景包括:
- 强制审查所有合并到仓库的代码。
- 指定审查者和最少审批数量。
- 指定审查者类别,如后端、前端、质量保证、数据库或文档。
- 使用 代码所有者 文件确定审查者。
- 要求对 拒绝测试覆盖率 进行审批。
- GitLab Ultimate:对潜在漏洞要求 安全团队审批。
查看审批状态
要查看合并请求的审批状态,请检查合并请求本身,或您项目或组的合并请求列表。
对于单个合并请求
符合条件的审批者 可以查看单个合并请求的审批状态。
要查看审批状态:
小部件显示以下状态之一:
- 审批:合并请求需要更多审批。
- 额外审批:合并请求已满足必需的审批。
- 撤销审批:您已经审批了该合并请求。
要检查您的审批是否满足代码所有者要求,请选择 展开符合条件的审批者( )。
审批者可见性取决于您的项目成员身份和组隐私设置:
- 项目成员可以看到所有审批者。
- 项目非成员看到:
- 所有审批者,如果所有审批者都来自公共组。
- 无审批者信息,如果有任何审批者来自私有组。
在合并请求列表中
您的项目或组 的合并请求列表 显示每个合并请求的审批状态:
| 示例 | 描述 |
|---|---|
|
|
缺少必需的审批。( ) |
|
|
审批已满足。( ) |
|
|
审批已满足,且您是审批者之一。( ) |
单个审查者状态
要查看每个审查者的审查和审批状态:
- 打开合并请求。
- 检查右侧边栏。
每个审查者的状态显示在其姓名旁边。
要 重新请求审查,请选择用户旁边的 重新请求审查 图标( )。
审批合并请求
符合条件的审批者可以通过两种方式审批合并请求:
- 在合并请求小部件中选择 审批。
- 在评论中使用
/approve快速操作。
已审批的合并请求在审查者列表中用户姓名旁边显示绿色勾号( )。 合并请求收到必需的审批后,即可准备合并,除非因以下原因被阻止:
防止作者审批
要防止合并请求作者审批自己的工作,请启用 防止作者审批 设置。
审批规则更改
如果您启用了 审批规则覆盖,默认审批规则的更改 不会影响现有的合并请求,受保护分支 的更改除外。
无效规则
当审批规则无法满足时,GitLab 会将其标记为 自动审批,例如当:
- 唯一符合条件的审批者是合并请求作者。
- 没有将符合条件的审批者分配给该规则。
- 所需审批数量超过符合条件的审批者数量。
这些规则会自动审批以解除合并请求的阻塞,除非您通过 合并请求审批策略 创建了规则。
无效的策略创建的规则:
- 显示为 需要操作。
- 不会自动审批。
- 阻止受影响的合并请求。
相关主题
- 合并请求审批 API
- 实例审批规则(适用于 GitLab 自托管实例)
- 为 Reporter 角色用户启用审批权限
- 编辑或覆盖合并请求审批规则