

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

# 在 CodePipeline 中核准或拒絕核准動作
<a name="approvals-approve-or-reject"></a>

當管道包含核准動作時，管道會在新增動作的位置停止執行。除非有人手動核准動作，否則管道不會繼續。若核准者拒絕動作，或是在管道因為核准動作停止之後的七天內沒有收到任何核准回應，則管道狀態會變更為 "Failed" (失敗)。

如果將核准動作新增至管道設定通知的人員，您可能會收到一封電子郵件，其中包含管道資訊和狀態以供核准。

## 核准或拒絕核准動作 (主控台)
<a name="approvals-approve-or-reject-console"></a>

若您收到包含核准動作直接連結的通知，請選擇 **Approve or reject (核准或拒絕)** 連結、登入主控台，然後繼續此處的步驟 7。否則，請依照下列所有步驟進行。

1. 前往 [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/) 開啟 CodePipeline 主控台。

1. 在 **​All Pipelines (所有管道)** 頁面上，選擇管道名稱。

1. 找到具有核准動作的階段。選擇**檢閱**。

   隨即顯示**檢閱**對話方塊。**詳細資訊**索引標籤會顯示檢閱內容和註解。  
![\[詳細資訊索引標籤會顯示檢閱內容和註解。\]](http://docs.aws.amazon.com/zh_tw/codepipeline/latest/userguide/images/manual-approval-review-details.png)

   **修訂**索引標籤顯示執行的來源修訂。  
![\[TThe修訂索引標籤顯示執行的來源修訂。\]](http://docs.aws.amazon.com/zh_tw/codepipeline/latest/userguide/images/manual-approval-review-revisions.png)

1. 在**詳細資訊**索引標籤上，檢視評論和 URL，如果有的話。該訊息也會顯示需要您檢閱的內容 URL (若其中包含的話)。

1. 如果提供了 URL，請在 動作中選擇檢閱連結的 **URL** 以開啟目標網頁，然後檢閱內容。

1. 在**檢閱**視窗中，輸入檢閱註解，例如您核准或拒絕動作的原因，然後選擇**核准****或拒絕**。

1. 選擇**提交**。

## 核准或拒絕核准請求 (CLI)
<a name="approvals-approve-or-reject-cli"></a>

若要使用 CLI 回應核准動作，您必須先使用 **get-pipeline-state** 命令擷取核准動作最後一次執行的關聯字符。

1. 在終端機 (Linux、macOS 或 Unix) 或命令提示字元 (Windows)，在包含核准動作的管道上執行 [get-pipeline-state](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/get-pipeline-state.html) 命令。例如，針對名為 *MyFirstPipeline* 的管道，輸入下列內容：

   ```
   aws codepipeline get-pipeline-state --name MyFirstPipeline
   ```

1. 在命令的回應中，找出 `token` 值，其位於核准動作 `actionStates` 區段的 `latestExecution` 中，如此處所示：

   ```
   {
       "created": 1467929497.204,
       "pipelineName": "MyFirstPipeline",
       "pipelineVersion": 1,
       "stageStates": [
           {
               "actionStates": [
                   {
                       "actionName": "MyApprovalAction",
                       "currentRevision": {
                           "created": 1467929497.204,
                           "revisionChangeId": "CEM7d6Tp7zfelUSLCPPwo234xEXAMPLE",
                           "revisionId": "HYGp7zmwbCPPwo23xCMdTeqIlEXAMPLE"
                       },
                       "latestExecution": {
                           "lastUpdatedBy": "identity",
                           "summary": "The new design needs to be reviewed before release.",
                           "token": "1a2b3c4d-573f-4ea7-a67E-XAMPLETOKEN"
                       }
                   }
   //More content might appear here
   }
   ```

1. 在純文字編輯器中，以 JSON 格式來建立您將用於新增下列內容的檔案：
   + 包含核准動作的管道名稱。
   + 包含核准動作的階段名稱。
   + 核准動作的名稱。
   + 您在先前步驟中收集到的字符值。
   + 您針對動作的回應 (核准或拒絕)。回應必須以大寫表示。
   + 您的摘要註解。

   對於上述 *MyFirstPipeline* 範例，您的檔案看起來應該如下所示：

   ```
   {
     "pipelineName": "MyFirstPipeline",
     "stageName": "MyApprovalStage",
     "actionName": "MyApprovalAction",
     "token": "1a2b3c4d-573f-4ea7-a67E-XAMPLETOKEN",
     "result": {
       "status": "Approved",
       "summary": "The new design looks good. Ready to release to customers."
     }
   }
   ```

1. 以類似 **approvalstage-approved.json** 的名稱儲存檔案。

1. 執行 [​put-approval-result](https://docs.aws.amazon.com/cli/latest/reference/codepipeline/put-approval-result.html) 命令，指定核准 JSON 檔案的名稱，與下列內容相似：
**重要**  
請確認在檔案名稱之前包含 `file://`。這是此命令必要項目。

   ```
   aws codepipeline put-approval-result --cli-input-json file://approvalstage-approved.json
   ```