极狐 GitLab

合并请求审批

Tier: 基础版,专业版,旗舰版

Offering: JihuLab.com,私有化部署

为了给项目中的变更设置审查流程,配置合并请求审批。 审批有助于确保变更在合并到项目之前经过审查。 根据项目需求和极狐GitLab 订阅等级,您可以将审批配置为可选或必须。

配置审批规则#

前提条件:

  • 您必须具有该项目的 开发者、维护者或所有者 角色。

配置审批规则:

  1. 在顶部栏,选择 搜索或跳转到 并找到您的项目。
  2. 在左侧边栏,选择 设置 > 合并请求
  3. 转到 合并请求审批 部分。
  4. 设置您想要的规则。

您还可以配置:

有关配置规则的更多信息,请参阅审批规则

必需的审批#

Tier: 专业版,旗舰版

Offering: JihuLab.com,私有化部署

必需的审批强制指定用户进行代码审查。如果没有这些审批,则无法合并。

用例包括:

  • 强制审查所有合并到仓库的代码。
  • 指定审查者和最少审批数量。
  • 指定审查者类别,例如后端、前端、质量保证、数据库或文档。
  • 使用 CODEOWNERS 文件 确定审查者。
  • 测试覆盖率下降要求审批。
  • 极狐GitLab 旗舰版:对潜在漏洞要求安全团队审批

查看审批状态#

版本历史
  • 更细粒度的审批人显示在极狐GitLab 17.10 中 GA。功能标志 mr_approvers_filter_hidden_users 已移除。

要查看合并请求的审批状态,请检查合并请求本身,或您的项目或群组的合并请求列表。

对于单个合并请求#

合格审批人 可以查看单个合并请求的审批状态。

查看审批状态:

  1. 在顶部栏,选择 搜索或跳转到 并找到您的项目。

  2. 在左侧边栏,选择 代码 > 合并请求 并找到您的合并请求。

  3. 选择其标题以查看合并请求。

  4. 转到合并请求小部件以查看审批状态。在此示例中,您可以审批该合并请求:

    审批状态部分,审核人可以审批合并请求。

该小部件显示以下状态之一:

  • 批准:该合并请求需要更多审批。
  • 额外批准:该合并请求已达到所需的审批。
  • 撤销批准:您已经批准了该合并请求。

要检查您的审批是否满足代码所有者要求,选择 展开合格审批人 (

)。

审批人的可见性取决于您的项目成员资格和群组隐私:

  • 项目成员可以看到所有审批人。
  • 项目非成员可以看到:
    • 所有审批人,如果审批人都来自公开群组。
    • 无审批人信息,如果有任何审批人来自私有群组。

在合并请求列表中#

您的项目或群组 的合并请求列表会显示每个合并请求的审批状态:

示例说明
缺少审批的指示器。缺少必需的审批。 ()
审批已满足的指示器。审批已满足。 ()
显示您已亲自批准的指示器。审批已满足,且您是审批人之一。 ()

个人审查者状态#

要查看每位审查者的审查和审批状态:

  1. 打开合并请求。
  2. 检查右侧边栏。

每位审查者的状态显示在其姓名旁边。

  • 等待审查

  • 审查中

  • 已批准

  • 审核人已评论

  • 审核人请求修改

    指示审核人已请求修改的警告状态。

重新请求审查,选择用户名旁边的 重新请求审查 图标 (

)。

批准合并请求#

合格审批人可以通过两种方式批准合并请求:

已批准的合并请求会在审查者列表中的用户名旁边显示绿色对号 (

)。 在合并请求收到所需的审批后,它就可以合并了,除非它被以下原因阻止:

禁止合并请求创建者批准#

要禁止合并请求创建者批准自己的工作,启用 禁止合并请求创建者批准 设置。

审批规则变更#

如果您启用了审批规则覆盖,对默认审批规则的更改不会影响现有合并请求,除非是目标分支更改。

无效规则#

版本历史
  • 在极狐GitLab 16.2 中 GA。功能标志 invalid_scan_result_policy_prevents_merge 已移除。

当审批规则无法满足时,极狐GitLab 将它们标记为 自动批准,例如当:

  • 唯一的合格审批人是合并请求作者。
  • 没有合格审批人分配给该规则。
  • 所需的审批数量超过合格审批人的数量。

这些规则会自动批准以解除合并请求的阻塞,除非您通过合并请求审批策略创建了规则。

通过策略创建的无效规则:

  • 显示为 需要操作
  • 不会自动批准。
  • 阻止受影响的合并请求。