

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 覆盖拉取请求的审批规则
<a name="how-to-override-approval-rules"></a>

在正常开发过程中，您希望用户在合并拉取请求之前满足审批规则的条件。但是，有时您可能需要加快合并拉取请求。例如，您可能希望在生产中放置错误修复，但审批池中无人可审批拉取请求。在这种情况下，您可以选择覆盖拉取请求的审批规则。您可以覆盖拉取请求的所有审批规则，包括那些专门为拉取请求创建并从审批规则模板生成的规则。您不能选择性地覆盖特定审批规则，只能覆盖所有规则。通过覆盖规则预留审批规则要求之后，可以将拉取请求合并到其目标分支中。

当您覆盖拉取请求的审批规则时，有关覆盖这些规则的用户的信息将记录在拉取请求的活动中。这样一来，您可以返回拉取请求的历史记录，查看是谁覆盖了规则。如果拉取请求仍处于打开状态，您也可以选择撤销覆盖。拉取请求在合并之后，便无法再撤销覆盖。

**Topics**
+ [覆盖审批规则（控制台）](#how-to-override-approval-rules-console)
+ [覆盖审批规则 (AWS CLI)](#how-to-override-approval-rules-cli)

## 覆盖审批规则（控制台）
<a name="how-to-override-approval-rules-console"></a>

作为拉取请求审核的一部分，您可以在控制台中覆盖拉取请求的审批规则要求。如果您改变主意，可以撤销覆盖，并重新应用审批规则要求。只有当拉取请求仍处于打开状态时，才能覆盖审批规则或撤销覆盖。如果拉取请求已合并或关闭，则无法更改其覆盖状态。

1. 打开 CodeCommit 控制台：[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)。

1. 在**存储库**中，选择存储库的名称。

1. 在导航窗格中，选择**拉取请求**。选择要覆盖其审批规则要求，或撤销覆盖的拉取请求。

1. 在 **Approvals (审批)** 选项卡上，选择 **Override approval rules (覆盖审批规则)**。这些要求将预留，且按钮文本更改为 **Revoke override (撤销覆盖)**。要重新应用审批规则要求，请选择 **Revoke override (撤销覆盖)**。

## 覆盖审批规则 (AWS CLI)
<a name="how-to-override-approval-rules-cli"></a>

您可以使用 AWS CLI 覆盖审批规则要求。您还可以使用它来查看拉取请求的覆盖状态。<a name="override-approval-rules"></a>

## 覆盖拉取请求的审批规则要求
<a name="override-approval-rules"></a>

1. 在终端或命令行中，运行 **override-pull-request-approval-rules** 命令，并指定：
   + 系统生成的拉取请求的 ID。
   + 拉取请求的最新修订 ID。要查看此信息，请使用 **get-pull-request**。
   + 您希望的覆盖状态，`OVERRIDE` 或 `REVOKE`。`REVOKE` 状态会删除 `OVERRIDE` 状态，但不会保存。

   例如，要覆盖 ID 为 **34** 且修订 ID 为 **927df8d8EXAMPLE** 的拉取请求的审批规则，请运行以下命令：

   ```
   aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status OVERRIDE
   ```

1. 如果成功，该命令不返回任何内容。

1. 要撤销 ID 为 **34** 且修订 ID 为 **927df8d8EXAMPLE** 的拉取请求的覆盖，请运行以下命令：

   ```
   aws codecommit override-pull-request-approval-rules --pull-request-id 34 --revision-id 927df8d8dEXAMPLE --override-status REVOKE
   ```<a name="get-override-status"></a>

## 获取有关拉取请求覆盖状态的信息
<a name="get-override-status"></a>

1. 在终端或命令行中，运行 **get-pull-request-override-state** 命令，并指定：
   + 系统生成的拉取请求的 ID。
   + 拉取请求的最新修订 ID。要查看此信息，请使用 **get-pull-request**。

   例如，要查看 ID 为 **34** 且修订 ID 为 **927df8d8EXAMPLE** 的拉取请求的覆盖状态，请运行以下命令：

   ```
   aws codecommit get-pull-request-override-state --pull-request-id 34 --revision-id 927df8d8dEXAMPLE
   ```

1. 如果成功，该命令产生类似以下内容的输出：

   ```
   {
       "overridden": true,
       "overrider": "arn:aws:iam::123456789012:user/Mary_Major"
   }
   ```