

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 覆寫提取請求的核准規則
<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：//[https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)。

1. 在 **Repositories (儲存庫)** 中，選擇儲存庫的名稱。

1. 在導覽窗格中，選擇 **Pull requests (提取請求)**。選擇您要覆寫核准規則需求或撤銷覆寫的提取請求。

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"
   }
   ```