

Amazon CodeCatalyst 不再向新客戶開放。現有客戶可以繼續正常使用該服務。如需詳細資訊，請參閱[如何從 CodeCatalyst 遷移](migration.md)。

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

# 現代三層 Web 應用程式藍圖工作流程 **OnPullRequest** 失敗，並出現 Amazon CodeGuru 的許可錯誤
<a name="projects-troubleshooting-onpullrequest"></a>

**問題：**當我嘗試執行專案的工作流程時，工作流程無法以下列訊息執行：

```
Failed at codeguru_codereview: The action failed during runtime. View the action's logs for more details.
```

``

**解決方案：**此動作失敗的一個可能原因是 IAM 角色政策中缺少許可，其中連線的 CodeCatalyst 所使用的服務角色版本 AWS 帳戶 缺少成功執行 **codeguru\$1codereview** 動作所需的許可。若要修正此問題，服務角色必須以必要的許可更新，或者您必須將工作流程所用的服務角色變更為具有 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 必要許可的服務角色。使用下列步驟，尋找您的角色並更新角色政策許可，以允許工作流程成功執行。

**注意**  
這些步驟適用於 CodeCatalyst 中的下列工作流程：  
為在 CodeCatalyst 中使用現代三層 Web 應用程式藍圖建立的專案提供的 **OnPullRequest** 工作流程。
使用存取 Amazon CodeGuru 或 Amazon CodeGuru Reviewer 的動作，將工作流程新增至 CodeCatalyst 中的專案。

每個專案都包含具有動作的工作流程，這些動作使用連線至 CodeCatalyst 中 AWS 帳戶 專案的 所提供的角色和環境。具有 動作及其指定政策的工作流程會存放在 /.codecatalyst/workflows 目錄中的來源儲存庫中。除非您要將新的角色 ID 新增至現有的工作流程，否則不需要修改工作流程 YAML。如需 YAML 範本元素和格式的相關資訊，請參閱 [工作流程 YAML 定義](workflow-reference.md)。

這些是編輯角色政策並驗證工作流程 YAML 時要遵循的高階步驟。

**在工作流程 YAML 中參考您的角色名稱並更新政策**

1. 在 https：//[https://codecatalyst.aws/](https://codecatalyst.aws/) 開啟 CodeCatalyst 主控台。

1. 導覽至 CodeCatalyst 空間。導覽至您的專案。

1. 選擇 **CI/CD**，然後選擇**工作流程**。

1. 選擇名為 **OnPullRequest** 的工作流程。選擇 **Definition (定義)** 索引標籤。

1. 在工作流程 YAML 中，在 **codeguru\$1codereview** 動作下的 `Role:` 欄位中，記下角色名稱。這是您將在 IAM 中修改的政策角色。下列範例顯示角色名稱。  
![\[在工作流程 YAML 中檢視 IAM 角色名稱\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/projects/ts-workflow-role.png)

1. 執行以下任意一項：
   + （建議） 使用 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 所需的許可更新連線至專案的服務角色。角色會有附加`CodeCatalystWorkflowDevelopmentRole-spaceName`唯一識別符的名稱。如需角色和角色政策的詳細資訊，請參閱 [了解 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 服務角色](ipa-iam-roles.md#ipa-iam-roles-service-role)。繼續進行後續步驟，以更新 IAM 中的政策。
**注意**  
您必須擁有 AWS 帳戶 具有 角色和政策的 AWS 管理員存取權。
   + 將工作流程所用的服務角色變更為具有 Amazon CodeGuru 和 Amazon CodeGuru Reviewer 必要許可的服務角色，或建立具有必要許可的新角色。

1. 登入 AWS 管理主控台 ，並在 https：//[https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 開啟 IAM 主控台。

   在 IAM 主控台中，從步驟 5 尋找角色，例如 `CodeCatalystPreviewDevelopmentRole`。

1. 在步驟 5 的角色中，變更許可政策以包含 `codeguru-reviewer:*`和 `codeguru:*`許可。新增這些許可後，許可政策看起來應該類似以下內容：

1. 進行政策更正後，請返回 CodeCatalyst 並再次啟動工作流程執行。