

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

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

# 入門教學課程
<a name="getting-started-topnode"></a>

Amazon CodeCatalyst 提供多種不同的範本，協助您開始使用專案。您也可以選擇從空專案開始，並將資源新增至專案。請依照這些教學課程中的步驟，了解您可以在 CodeCatalyst 中工作的一些方式。

如果這是您第一次使用 CodeCatalyst，我們建議您從 開始[教學課程：使用現代三層 Web 應用程式藍圖建立專案](getting-started-template-project.md)。

**注意**  
若要遵循這些教學課程，您必須先完成設定。如需詳細資訊，請參閱[設定並登入 CodeCatalyst設定並登入 CodeCatalyst](setting-up-topnode.md)。

**Topics**
+ [教學課程：使用現代三層 Web 應用程式藍圖建立專案](getting-started-template-project.md)
+ [教學課程：從空專案開始，並手動新增資源](getting-started-blank-template.md)
+ [教學課程：使用 CodeCatalyst 生成式 AI 功能來加速開發工作](getting-started-project-assistance.md)

如需著重於 CodeCatalyst 中特定功能領域的其他教學課程，請參閱：
+ [Slack 通知入門](getting-started-notifications.md)
+ [CodeCatalyst 來源儲存庫和單頁應用程式藍圖入門](source-getting-started.md)
+ [工作流程入門](workflows-getting-started.md)
+ [自訂藍圖入門](getting-started-bp.md)
+ [Amazon CodeCatalyst 動作開發人員指南入門](https://docs.aws.amazon.com/codecatalyst/latest/adk/action-development-intro.html)

如需深入教學課程，請參閱：
+ [教學課程：將成品上傳至 Amazon S3](build-deploy.md)
+ [教學課程：部署無伺服器應用程式](deploy-tut-lambda.md)
+ [教學課程：將應用程式部署至 Amazon ECS](deploy-tut-ecs.md)
+ [教學課程：將應用程式部署至 Amazon EKS](deploy-tut-eks.md)
+ [教學課程：使用 GitHub 動作的 Lint 程式碼](integrations-github-action-tutorial.md)
+ [教學課程：建立和更新 React 應用程式](blueprint-getting-started-tutorial.md)

# 教學課程：使用現代三層 Web 應用程式藍圖建立專案
<a name="getting-started-template-project"></a>

您可以使用藍圖建立專案，更快速地開始開發軟體。使用藍圖建立的專案包含您需要的資源，包括用於管理程式碼的來源儲存庫，以及用於建置和部署應用程式的工作流程。在本教學課程中，我們將逐步引導您使用**現代三層 Web 應用程式**藍圖，在 Amazon CodeCatalyst 中建立專案。本教學課程也包含檢視已部署的範例、邀請其他使用者處理範例，以及使用提取請求對程式碼進行變更，這些請求會在提取請求合併 AWS 帳戶 時自動建置並部署到連線的 中的資源。在 CodeCatalyst 使用報告、活動摘要和其他工具建立專案的情況下，您的藍圖會在與專案 AWS 帳戶 相關聯的 中建立 AWS 資源。您的藍圖檔案可讓您建置和測試範例現代應用程式，並將其部署到 中的基礎設施 AWS 雲端。

下圖顯示如何使用 CodeCatalyst 中的工具來建立追蹤、合併和自動建置變更的問題，然後在 CodeCatalyst 專案中啟動工作流程，該專案會執行動作以允許 AWS CDK 和 CloudFormation 佈建您的基礎設施。

這些動作會在相關聯的 中產生資源， AWS 帳戶 並將您的應用程式部署到具有 API Gateway 端點的無伺服器 AWS Lambda函數。 AWS Cloud Development Kit (AWS CDK) 動作會將一或多個 AWS CDK 堆疊轉換為 CloudFormation 範本，並將堆疊部署到您的 AWS 帳戶。堆疊中的資源包括分發動態 Web 內容的 Amazon CloudFront 資源、應用程式資料的 Amazon DynamoDB 執行個體，以及支援部署應用程式的角色和政策。

![\[從問題建立到來源儲存庫變更的程式碼變更，接著會自動建置並部署到 中的資源 AWS\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/modern-app-overview.png)


當您使用**現代三層 Web 應用程式**藍圖建立專案時，您的專案會使用下列資源建立：

**在 CodeCatalyst 專案中**：
+ 具有範本程式碼和工作流程 YAML 的[來源儲存庫](source.md) 
+ 每當變更預設分支時，建置並部署範本程式碼的[工作流程](workflow.md) 
+ 問題電路板和待處理項目，可用來規劃和追蹤工作
+ 範例程式碼中包含自動報告的測試報告套件

**在關聯的 中 AWS 帳戶**：
+ 建立應用程式所需資源的三個 AWS CloudFormation 堆疊。

如需本教學課程中將在 AWS 和 CodeCatalyst 中建立之資源的擴充詳細資訊，請參閱 [參考資料](#getting-started-template-project-reference)。

**注意**  
專案中包含的資源和範例取決於您選取的藍圖。Amazon CodeCatalyst 提供數個專案藍圖，可定義與其定義語言或架構相關的資源。若要進一步了解藍圖，請參閱 [使用 CodeCatalyst 藍圖建立全面的專案使用藍圖建立全面的專案](project-blueprints.md)。

**Topics**
+ [先決條件](#getting-started-template-project-prerequisites)
+ [步驟 1：建立現代三層 Web 應用程式專案](#getting-started-template-project-proj-create)
+ [步驟 2：邀請某人加入您的專案](#getting-started-template-project-ipa-user)
+ [步驟 3：建立問題以協同合作和追蹤工作](#getting-started-template-project-issue)
+ [步驟 4：檢視您的來源儲存庫](#getting-started-template-project-source)
+ [步驟 5：使用測試分支建立開發環境並進行快速程式碼變更](#getting-started-template-project-create-devenvironment)
+ [步驟 6：檢視建置現代應用程式的工作流程](#getting-started-template-project-view-workflow)
+ [步驟 7：要求其他人檢閱您的變更](#getting-started-template-project-pull-request)
+ [步驟 8：關閉問題](#getting-started-template-project-close-issue)
+ [清除資源](#getting-started-template-project-clean-up)
+ [參考資料](#getting-started-template-project-reference)

## 先決條件
<a name="getting-started-template-project-prerequisites"></a>

若要在本教學課程中建立現代應用程式專案，您必須完成 中的任務[設定並登入 CodeCatalyst設定並登入 CodeCatalyst](setting-up-topnode.md)，如下所示：
+ 擁有用於登入 CodeCatalyst 的 AWS 建置器 ID。
+ 屬於一個空間，並在該空間中為您指派**空間管理員**或**進階使用者**角色。如需詳細資訊，請參閱[建立空間](spaces-create.md)、[授予使用者空間許可](spaces-members.md)及[空間管理員角色](ipa-role-types.md#ipa-role-space-admin)。
+ 讓 與您的空間 AWS 帳戶 相關聯，並擁有您在註冊期間建立的 IAM 角色。例如，在註冊期間，您可以選擇使用稱為角色政策的角色政策來建立服務**CodeCatalystWorkflowDevelopmentRole-*spaceName***角色。角色會有附加`CodeCatalystWorkflowDevelopmentRole-spaceName`唯一識別符的名稱。如需角色和角色政策的詳細資訊，請參閱 [了解 **CodeCatalystWorkflowDevelopmentRole-*spaceName*** 服務角色](ipa-iam-roles.md#ipa-iam-roles-service-role)。如需建立角色的步驟，請參閱 [為您的帳戶和空間建立 **CodeCatalystWorkflowDevelopmentRole-*spaceName***角色](ipa-iam-roles.md#ipa-iam-roles-service-create)。

## 步驟 1：建立現代三層 Web 應用程式專案
<a name="getting-started-template-project-proj-create"></a>

建立它之後，您的專案會是您開發和測試程式碼、協調開發任務，以及檢視專案指標的地方。您的專案也包含您的開發工具和資源。

在本教學課程中，您將使用**現代三層 Web 應用程式**藍圖來建立互動式應用程式。在專案中自動建立和執行的工作流程將建置和部署應用程式。只有在為您的空間設定所有角色和帳戶資訊之後，工作流程才會成功執行。工作流程成功執行後，您可以造訪端點 URL 以查看應用程式。

**使用藍圖建立專案**

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

1. 在 CodeCatalyst 主控台中，導覽至您要建立專案的空間。

1. 選擇**建立專案**。

1. 選擇**從藍圖開始**。

1. 在搜尋列中，輸入 **modern**。

1. 選取**現代三層 Web 應用程式**藍圖，然後選擇**下一步**。

1. 在**為您的專案命名**中，輸入專案名稱。例如：

   **MyExampleProject**.
**注意**  
名稱在您的空間中必須是唯一的。

1. 在**帳戶中**，選擇 AWS 帳戶 您在註冊期間新增的 。藍圖會將資源安裝到此帳戶。

1. 在**部署角色**中，選擇您在註冊期間新增的角色。例如，選擇 `CodeCatalystWorkflowDevelopmentRole-spaceName`。

   如果未列出任何角色，請新增一個角色。若要新增角色，請選擇**新增 IAM 角色**並將角色新增至您的 AWS 帳戶。如需詳細資訊，請參閱[允許存取已連線 AWS 的資源 AWS 帳戶](ipa-connect-account.md)。

1. 在**運算平台**中，選擇 **Lambda**。

1. 在**前端託管選項**中，選擇 **Amplify 託管**。如需 的資訊 AWS Amplify，請參閱*AWS Amplify 《 使用者指南*》中的[什麼是 AWS Amplify 託管？](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)。

1. 在**部署區域中**，輸入您要藍圖在其中部署 Mysfits 應用程式和支援資源的 AWS 區域 區域代碼。如需區域代碼清單，請參閱《》中的[區域端點](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)*AWS 一般參考*。

1. 在**應用程式名稱**中，保留預設值 `mysfitsstring`。

1. （選用） 在**產生專案預覽**下，選擇**檢視程式碼**以預覽藍圖將安裝的來源檔案。選擇**檢視工作流程**，預覽藍圖將安裝的 CI/CD 工作流程定義檔案。預覽會根據您的選擇動態更新。

1. 選擇**建立專案**。

專案工作流程會在您建立專案後立即開始。完成建置和部署程式碼需要一些時間。同時，繼續並邀請其他人加入您的專案。

## 步驟 2：邀請某人加入您的專案
<a name="getting-started-template-project-ipa-user"></a>

現在您已設定專案，請邀請其他人與您合作。

**邀請某人加入您的專案**

1. 導覽至您要邀請使用者的專案。

1. 在導覽窗格中，選擇**專案設定**。

1. 在**成員**索引標籤上，選擇**邀請**。

1. 輸入您要邀請做為專案使用者之人員的電子郵件地址。您可以輸入多個電子郵件地址，並以空格或逗號分隔。您也可以從不是專案成員的空間成員中進行選擇。

1. 選擇使用者的角色。

   完成新增使用者後，請選擇**邀請**。

## 步驟 3：建立問題以協同合作和追蹤工作
<a name="getting-started-template-project-issue"></a>

CodeCatalyst 可協助您追蹤功能、任務、錯誤，以及專案中涉及問題的任何其他工作。您可以建立問題來追蹤所需的工作和想法。根據預設，當您建立問題時，它會新增至您的待處理項目。您可以將問題移至您追蹤進行中工作的電路板。您也可以將問題指派給特定的專案成員。

**為專案建立問題**

1. 在導覽窗格中，選擇**問題**。

1. 選擇**建立問題**。

1. 在**問題標題**中，提供問題的名稱。或者，提供問題的描述。在此範例中，使用 **make a change in the `src/mysfit_data.json` file.**

1. 選擇優先順序、預估值、狀態和標籤。在**被指派者**下，選擇 **\$1新增我**，將問題指派給自己。

1. 選擇**建立問題**。問題現在會顯示在電路板上。選擇卡片，將問題移至**進行中**資料欄。

如需詳細資訊，請參閱[追蹤和組織 CodeCatalyst 中的問題追蹤和組織處理問題的工作](issues.md)。

## 步驟 4：檢視您的來源儲存庫
<a name="getting-started-template-project-source"></a>

您的藍圖會安裝來源儲存庫，其中包含定義和支援應用程式或服務的檔案。來源儲存庫中一些值得注意的目錄和檔案如下：
+ **.cloud9** 目錄 – 包含 AWS Cloud9 開發環境的支援檔案。
+ **.codecatalyst** 目錄 – 包含藍圖中每個`YAML`工作流程的工作流程定義檔案。
+ **.idea** 目錄 – 包含 JetBrains 開發環境的支援檔案。
+ **.vscode** 目錄 – 包含 Visual Studio Code Dev Environment 的支援檔案。
+ **cdkStacks** 目錄 – 包含定義 中基礎設施的 AWS CDK 堆疊檔案 AWS 雲端。
+ **src** 目錄 – 包含應用程式原始碼。
+ **測試**目錄 – 包含在自動化 CI/CD 工作流程中執行的整數和單位測試檔案，這些工作流程會在您建置和測試應用程式時執行。
+ **Web** 目錄 – 包含前端原始碼。其他檔案包括專案檔案，例如包含專案重要中繼資料`package.json`的檔案、網站的`index.html`頁面、用於固定程式碼`.eslintrc.cjs`的檔案，以及用於指定根檔案和編譯器選項`tsconfig.json`的檔案。
+ `Dockerfile` 檔案 – 描述應用程式的容器。
+ `README.md` 檔案 – 包含專案的組態資訊。

**導覽至專案的來源儲存庫**

1. 導覽至您的專案，並執行下列其中一項操作：
   + 在專案的摘要頁面上，從清單中選擇您想要的儲存庫，然後選擇**檢視儲存庫**。
   + 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。在**來源儲存庫**中，從清單中選擇儲存庫的名稱。您可以在篩選列中輸入部分儲存庫名稱，以篩選儲存庫清單。

1. 在儲存庫的首頁上，檢視儲存庫的內容，以及有關相關資源的資訊，例如提取請求和工作流程的數量。預設會顯示預設分支的內容。您可以從下拉式清單中選擇不同的分支來變更檢視。

## 步驟 5：使用測試分支建立開發環境並進行快速程式碼變更
<a name="getting-started-template-project-create-devenvironment"></a>

您可以建立開發環境，快速處理來源儲存庫中的程式碼。在本教學課程中，我們假設您將：
+ 建立 AWS Cloud9 開發環境。
+ 選擇在建立開發環境時，在**主**分支以外的新分支中運作的選項。
+ `test` 使用此新分支的名稱。

在後續步驟中，您將使用開發環境進行程式碼變更並建立提取請求。

**使用新分支建立開發環境**

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

1. 導覽至您要建立開發環境的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**、選擇**來源儲存庫**，然後選擇您要為其建立開發環境的儲存庫。

1. 在儲存庫首頁上，選擇**建立開發環境**。

1. 從下拉式選單中選擇支援的 IDE。如需詳細資訊，請參閱[支援開發環境的整合式開發環境](devenvironment-create.md#devenvironment-supported-ide)。

1. 選擇要複製的儲存庫，選擇在**新分支中工作**，在**分支名稱**欄位中輸入分支名稱，然後從從建立分支下拉式功能表中選擇要建立新**分支**的分支。

1. 或者，為開發環境新增別名。

1. 或者，選擇**開發環境組態**編輯按鈕，以編輯開發環境的運算、儲存或逾時組態。

1. 選擇**建立**。建立開發環境時，開發環境狀態欄會顯示**開始**，而狀態欄會在建立開發環境後顯示**執行**中。在您選擇的 IDE 中，新的索引標籤將隨您的開發環境開啟。您可以編輯程式碼並遞交和推送變更。

在本節中，您將使用 CodeCatalyst 中產生的範例應用程式，方法是使用提取請求對程式碼進行變更，這些請求會在提取請求合併 AWS 帳戶 時自動建置並部署到連線的 中的資源。

**在 `src/mysfit_data.json` 檔案中進行變更**

1. 導覽至您的專案開發環境。在 中 AWS Cloud9，展開側邊導覽選單以瀏覽檔案。展開 `mysfits`、 `src`和開啟 `src/mysfit_data.json`。

1. 在 檔案中，將 `"Age":` 欄位的值從 6 變更為 12。您的行看起來應該如下所示：

   ```
       {
           "Age": 12,
           "Description": "Twilight's personality sparkles like the night sky and is looking for a forever home with a Greek hero or God. While on the smaller side at 14 hands, he is quite adept at accepting riders and can fly to 15,000 feet. Twilight needs a large area to run around in and will need to be registered with the FAA if you plan to fly him above 500 feet. His favorite activities include playing with chimeras, going on epic adventures into battle, and playing with a large inflatable ball around the paddock. If you bring him home, he'll quickly become your favorite little Pegasus.",
           "GoodEvil": "Good",
           "LawChaos": "Lawful",
           "Name": "Twilight Glitter",
           "ProfileImageUri": "https://www.mythicalmysfits.com/images/pegasus_hover.png",
           "Species": "Pegasus",
           "ThumbImageUri": "https://www.mythicalmysfits.com/images/pegasus_thumb.png"
       },
   ```

1. 儲存檔案。

1. 使用 **cd /projects/mysfits**命令變更為 mysfits 儲存庫。

1. 使用 **git add、git commit 和 git push 命令來新增********、遞交和推送**變更。

   ```
   git add .
   git commit -m "make an example change"
   git push
   ```

## 步驟 6：檢視建置現代應用程式的工作流程
<a name="getting-started-template-project-view-workflow"></a>

建立現代應用程式專案後，CodeCatalyst 會代表您產生數個資源，包括工作流程。*工作流程*是 .yaml 檔案中定義的自動化程序，說明如何建置、測試和部署您的程式碼。

在本教學課程中，CodeCatalyst 會建立工作流程，並在您建立專案時自動啟動工作流程。（視您建立專案的時間長度而定，工作流程可能仍在執行中。) 使用下列程序來檢查工作流程的進度、檢閱產生的日誌和測試報告，最後瀏覽至已部署應用程式的 URL。

**檢查工作流程進度**

1. 在 CodeCatalyst 主控台的導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

   工作流程清單隨即顯示。這些是 CodeCatalyst 藍圖在您建立專案時產生和啟動的工作流程。

1. 觀察工作流程清單。您應該會看到四個：
   + 頂端的兩個工作流程對應於您先前在 中建立的`test`分支[步驟 5：使用測試分支建立開發環境並進行快速程式碼變更](#getting-started-template-project-create-devenvironment)。這些工作流程會複製`main`分支上的工作流程。**ApplicationDeploymentPipeline** 未啟用，因為它已設定為與`main`分支搭配使用。**OnPullRequest** 工作流程未執行，因為未提出提取請求。
   + 底部的兩個工作流程對應於您稍早執行藍圖時所建立的`main`分支。**ApplicationDeploymentPipeline** 工作流程處於作用中狀態，並執行進行中 （或已完成）。
**注意**  
如果 **ApplicationDeploymentPipeline** 執行失敗並出現 **Build@cdk\$1bootstrap** 或 **DeployBackend** 錯誤，可能是因為您之前執行了 Modern 三層式 Web 應用程式，並留下了與目前藍圖衝突的舊資源。您需要刪除這些舊資源，然後重新執行工作流程。如需詳細資訊，請參閱[清除資源](#getting-started-template-project-clean-up)。

1. 在底部選擇與`main`分支相關聯的 **ApplicationDeploymentPipeline** 工作流程。此工作流程是使用`main`分支上的原始程式碼執行。

   工作流程圖表隨即出現。圖表顯示數個區塊，每個區塊代表任務或*動作*。大多數動作是垂直排列的，頂端的動作會先於下方執行。並行排列的動作。分組的動作必須全部成功執行，才能啟動這些動作。

   主要區塊為：
   + **WorkflowSource** – 此區塊代表您的來源儲存庫。除了其他資訊之外，還會顯示來源儲存庫名稱 (**mysfits**) 和自動啟動工作流程執行的遞交。CodeCatalyst 會在您建立專案時產生此遞交。
   + **組建** – 此區塊代表兩個動作的分組，必須同時成功完成，才能開始下一個動作。
   + **DeployBackend** – 此區塊代表將應用程式的後端元件部署到 AWS 雲端的動作。
   + **測試** – 此區塊代表兩個測試動作的群組，必須同時成功完成，才能啟動下一個動作。
   + **DeployFrontend** – 此區塊代表將應用程式的前端元件部署到 AWS 雲端的動作。

1. 選擇**定義**索引標籤 （靠近頂端）。[工作流程定義檔案](workflow-reference.md)會出現在右側。檔案具有以下值得注意的區段：
   + `Triggers` 區段，位於頂端。本節指出每當程式碼推送到來源儲存庫的`main`分支時，工作流程都必須啟動。推送至其他分支 （例如 `test`) 不會啟動此工作流程。工作流程會使用`main`分支上的檔案執行。
   + `Actions` 區段，位於 下`Triggers`。本節定義您在工作流程圖表中看到的動作。

1. 選擇**最新狀態**索引標籤 （靠近頂端），然後選擇工作流程圖表中的任何動作。

1. 在右側，選擇**組態**索引標籤，以查看動作在最近一次執行期間使用的組態設定。每個組態設定在工作流程定義檔案中都有相符的屬性。

1. 保持主控台開啟，並前往下一個程序。

**檢閱建置日誌和測試報告**

1. 選擇**最新狀態**索引標籤。

1. 在工作流程圖表中，選擇 **DeployFrontend** 動作。

1. 等待動作完成。請注意「進行中」圖示 (![\[Workflow in progress.\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/flows/run-in-progress.png))，以變更為「成功」圖示 (![\[Workflow success.\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/flows/run-success.png))。

1. 選擇 **build\$1backend** 動作。

1. 選擇**日誌**索引標籤，然後展開幾個區段，以檢視這些步驟的日誌訊息。您可以看到與後端設定相關的訊息。

1. 選擇**報告**索引標籤，然後選擇`backend-coverage.xml`報告。CodeCatalyst 會顯示相關聯的報告。報告會顯示已執行的程式碼涵蓋範圍測試，並指出透過測試成功驗證的程式碼行比例，例如 80%。

   如需測試報告的詳細資訊，請參閱 [使用工作流程進行測試使用工作流程進行測試](test-workflow-actions.md)。
**提示**  
您也可以在導覽窗格中選擇報告，以檢視您的測試**報告**。

1. 保持 CodeCatalyst 主控台開啟，然後前往下一個程序。

**確認現代應用程式已成功部署**

1. 返回 **ApplicationDeploymentPipeline** 工作流程，然後選擇最新執行的**執行*字串***連結。

1. 在工作流程圖表中，尋找 **DeployFrontend** 動作，然後選擇**檢視應用程式**連結。Mysfit 網站隨即出現。
**注意**  
如果您在 **DeployFrontend** 動作中看不到**檢視應用程式**連結，請確定您已選擇執行 ID 連結。

1. 搜尋名為 **Twilight Glitter** 的 Pegasus Mysfit。請記下存留期的值。它是 `6`。您將變更程式碼以更新存留期。

## 步驟 7：要求其他人檢閱您的變更
<a name="getting-started-template-project-pull-request"></a>

現在您已變更名為 的分支`test`，您可以建立提取請求，要求其他人檢閱這些分支。執行下列步驟以建立提取請求，將來自`test`分支的變更合併到`main`分支。

**建立提取請求**

1. 導覽至您的專案。

1. 執行以下任意一項：
   + 在導覽窗格中，選擇**程式碼**，選擇**提取請求**，然後選擇**建立提取請求**。
   + 在儲存庫首頁上，選擇**更多**，然後選擇**建立提取請求**。
   + 在專案頁面上，選擇**建立提取請求**。

1. 在**來源儲存庫**中，請確定指定的來源儲存庫包含遞交的程式碼。只有在您未從儲存庫的主頁面建立提取請求時，才會顯示此選項。

1. 在**目的地分支**中，選擇要在檢閱程式碼之後將程式碼合併到其中的分支。

1. 在**來源分支**中，選擇包含遞交程式碼的分支。

1. 在**提取請求標題**中，輸入標題，協助其他使用者了解需要檢閱的內容及其原因。

1. （選用） 在**提取請求描述**中，提供問題連結或變更描述等資訊。
**提示**  
您可以選擇**寫入描述，**讓 CodeCatalyst 自動產生提取請求中包含的變更描述。您可以在將自動產生的描述新增至提取請求之後對其進行變更。  
此功能需要為空間啟用生成式 AI 功能，且不適用於連結儲存庫中的提取請求。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （選用） 在**問題**中，選擇**連結問題**，然後從清單中選擇問題或輸入其 ID。若要取消連結問題，請選擇取消連結圖示。

1. （選用） 在**必要檢閱者**中，選擇**新增必要檢閱者**。從專案成員清單中選擇以新增成員。必要的檢閱者必須先核准變更，才能將提取請求合併到目的地分支。
**注意**  
您無法將檢閱者同時新增為必要檢閱者和選用檢閱者。您無法將自己新增為檢閱者。

1. （選用） 在**選用檢閱者**中，選擇**新增選用檢閱者**。從專案成員清單中選擇以新增成員。選用的檢閱者不需要核准變更，才能將提取請求合併到目的地分支。

1. 檢閱分支之間的差異。提取請求中顯示的差異是來源分支中的修訂與合併基礎之間的變更，這是建立提取請求時目的地分支的前端遞交。如果沒有顯示任何變更，則分支可能相同，或者您可能已為來源和目的地選擇相同的分支。

1. 當您滿意提取請求包含您要檢閱的程式碼和變更時，請選擇**建立**。
**注意**  
建立提取請求之後，您可以新增註解。評論可以新增到提取請求或檔案中的個別行，以及整體提取請求。您可以使用 @ 符號加上檔案名稱，將連結新增至資源，例如檔案。

當您建立提取請求時，**OnPullRequest** 工作流程會開始使用`test`分支中的來源檔案。當您的檢閱者核准程式碼變更時，您可以選擇工作流程並檢視測試輸出，以觀察結果。

檢閱變更後，您可以合併程式碼。將程式碼合併到預設分支會自動啟動工作流程，以建置和部署您的變更。<a name="getting-started-template-project-pull-requests-merge-console"></a>

**從 CodeCatalyst 主控台合併提取請求**

1. 導覽至您的現代應用程式專案。

1. 在專案頁面的**開啟提取請求**下，選擇您要合併的提取請求。如果您沒有看到提取請求，請選擇**檢視全部**，然後從清單中選擇它。選擇 **Merge (合併)**。

1. 從提取請求的可用合併策略中選擇。選擇性地選取或取消選取在合併提取請求後刪除來源分支的選項，然後選擇**合併**。
**注意**  
如果**合併**按鈕未處於作用中狀態，或者您看到**不可合併**標籤，則一或多個必要檢閱者尚未核准提取請求，或提取請求無法在 CodeCatalyst 主控台中合併。尚未核准提取請求的檢閱者會以**提取請求詳細資訊**區域中**概觀**中的時鐘圖示表示。如果所有必要的檢閱者都已核准提取請求，但**合併**按鈕仍處於非作用中狀態，則可能會發生合併衝突。您可以在 CodeCatalyst 主控台中解決目的地分支的合併衝突，然後合併提取請求，或者您可以解決衝突並在本機合併，然後將包含合併的遞交推送至 CodeCatalyst。如需詳細資訊，請參閱 [合併提取請求 (Git)](pull-requests-merge.md#pull-requests-merge-git)和您的 Git 文件。

將變更從`test`分支合併到**main**分支後，變更會自動啟動 **ApplicationDeploymentPipeline** 工作流程，以建置和部署您的變更。<a name="getting-started-template-project-pull-requests-merge-view-success"></a>

**若要透過 ApplicationDeploymentPipeline 工作流程查看合併遞交執行**

1. 在導覽窗格中，選擇 **CI/CD**，然後選擇**工作流程**。

1. 在**工作流程**的 **ApplicationDeploymentPipeline** 中，展開**最近執行**。您可以查看合併遞交啟動的工作流程執行。選擇性地選擇它來觀看執行進度。

1. 當執行完成時，重新載入您先前造訪的 URL。檢視 Pegasus 以確認存留期已變更。  
![\[程式碼變更已合併、建置和部署，在應用程式中可見\]](http://docs.aws.amazon.com/zh_tw/codecatalyst/latest/userguide/images/modified-mysfits.png)

## 步驟 8：關閉問題
<a name="getting-started-template-project-close-issue"></a>

問題解決時，可以在 CodeCatalyst 主控台上關閉。

**關閉專案的問題**

1. 導覽至您的專案。

1. 在導覽窗格中，選擇**問題**。

1. 將問題Drag-and-drop至**完成**欄。

如需詳細資訊，請參閱[追蹤和組織 CodeCatalyst 中的問題追蹤和組織處理問題的工作](issues.md)。

## 清除資源
<a name="getting-started-template-project-clean-up"></a>

在 CodeCatalyst 和 中清除 AWS ，以從環境中移除此教學課程的追蹤。

您可以選擇繼續使用您用於本教學課程的專案，也可以刪除專案及其相關資源。

**注意**  
刪除此專案會刪除專案中所有成員的所有儲存庫、問題和成品。

**刪除專案**

1. 導覽至您的專案，然後選擇**專案設定**。

1. 選擇**一般**索引標籤。

1. 在專案名稱下，選擇**刪除專案**。

**在 CloudFormation 和 Amazon S3 中刪除資源**

1.  AWS 管理主控台 使用您新增至 CodeCatalyst 空間的相同帳戶登入 。

1. 前往 **CloudFormation**服務。

1. 刪除 **mysfits*string*** 堆疊。

1. 刪除 **development-mysfits*string*** 堆疊。

1. 選擇 （但不刪除） **CDKToolkit** 堆疊。選擇 **Resources** (資源) 標籤。選擇 **StagingBucket** 連結，並在 Amazon S3 中刪除儲存貯體和儲存貯體內容。
**注意**  
如果您不手動刪除此儲存貯體，您可能會在重新執行現代三層 Web 應用程式藍圖時看到錯誤。

1. （選用） 刪除 **CDKToolkit** 堆疊。

## 參考資料
<a name="getting-started-template-project-reference"></a>

現代三層 Web 應用程式藍圖會將資源部署到您的 CodeCatalyst 空間和雲端 AWS 中的 帳戶 AWS 。這些資源包括：
+ **在您的 CodeCatalyst 空間中**：
  + CodeCatalyst 專案，其中包含下列資源：
    + [來源儲存庫](source.md) – 此儲存庫包含 'Mysfits' Web 應用程式的範例程式碼。
    + [工作流程](workflow.md) – 每次變更預設分支時，此工作流程都會建置和部署 Mysfits 應用程式程式碼
    + [問題電路板](issues.md)和待處理項目 – 此電路板和待處理項目可用於規劃和追蹤工作。
    + [測試報告套件](test-workflow-actions.md) – 此套件包含範例程式碼中包含的自動報告。
+ **在關聯的 中 AWS 帳戶**：
  + **CDKToolkit** 堆疊 – 此堆疊會部署下列資源：
    + Amazon S3 預備儲存貯體、儲存貯體政策和用於加密儲存貯體的 AWS KMS 金鑰。
    + 部署動作的 IAM 部署角色。
    + AWS 支援堆疊中資源的 IAM 角色和政策。
**注意**  
**CDKToolkit** 不會在每次部署時折斷並重新建立。這是在每個帳戶中啟動的堆疊，以支援 AWS CDK。
  + **development-mysfits*string*BackEnd** BackEnd堆疊 – 此堆疊會部署下列後端資源：
    + Amazon API Gateway 端點。
    + AWS 支援堆疊中資源的 IAM 角色和政策。
    +  AWS Lambda 函數和 layer 為現代應用程式提供無伺服器運算平台。
    + 儲存貯體部署和 Lambda 函數的 IAM 政策和角色。
  + **mysfits*string*** 堆疊 – 此堆疊會部署 AWS Amplify 前端應用程式。

### 另請參閱
<a name="getting-started-template-project-reference-links"></a>

如需在本教學課程中建立資源之 AWS 服務的詳細資訊，請參閱以下內容：
+ **Amazon S3** – 一種將前端資產存放在物件儲存服務上的服務，提供業界領先的可擴展性、資料高可用性、安全性和效能。如需詳細資訊，請參閱 [Amazon S3 使用者指南](https://docs.aws.amazon.com/AmazonS3/latest/userguide/)。
+ **Amazon API Gateway** – 一種可在任何規模建立、發佈、維護、監控和保護 REST、HTTP 和 WebSocket APIs 的服務。如需詳細資訊，請參閱 [API Gateway 開發人員指南](https://docs.aws.amazon.com/apigateway/latest/developerguide/)。
+ **Amplify** – 用於託管前端應用程式的服務。如需詳細資訊，請參閱[AWS Amplify 託管使用者指南](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)。
+ **AWS Cloud Development Kit (AWS CDK)** – 在程式碼中定義雲端基礎設施並透過其佈建的架構 AWS CloudFormation。 AWS CDK 包含 AWS CDK Toolkit，這是與 AWS CDK 應用程式和堆疊互動的命令列工具。如需詳細資訊，請參閱《[AWS Cloud Development Kit (AWS CDK) 開發人員指南](https://docs.aws.amazon.com/cdk/latest/guide/)》。
+ **Amazon DynamoDB** – 用於儲存資料的全受管 NoSQL 資料庫服務。如需詳細資訊，請參閱 [Amazon DynamoDB 開發人員指南](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html)。
+ **AWS Lambda** – 在高可用性運算基礎設施上調用程式碼的服務，無需佈建或管理伺服器。如需詳細資訊，請參閱《[AWS Lambda 開發人員指南](https://docs.aws.amazon.com/lambda/latest/dg/)》。
+ **AWS IAM** – 安全控制存取 AWS 及其 資源的服務。如需詳細資訊，請參閱 [IAM 使用者指南](https://docs.aws.amazon.com/IAM/latest/UserGuide/)。

# 教學課程：從空專案開始，並手動新增資源
<a name="getting-started-blank-template"></a>

您可以在建立專案時選擇**空白專案**藍圖，建立不含任何預先定義資源的空白專案。建立空專案後，您可以根據專案需求建立資源並將其新增至其中。由於在沒有藍圖的情況下建立的專案在建立時是空的，此選項需要更多建立和設定 CodeCatalyst 資源的知識才能開始使用。

**Topics**
+ [先決條件](#getting-started-bt-prerequisites)
+ [建立空專案](#getting-started-bt-proj-create)
+ [建立來源儲存庫](#getting-started-bt-source-create)
+ [建立工作流程以建置、測試和部署程式碼變更](#getting-started-bt-workflow-create)
+ [邀請某人加入您的專案](#getting-started-bt-ipa-user)
+ [建立問題以協同合作和追蹤工作](#getting-started-bt-issue)

## 先決條件
<a name="getting-started-bt-prerequisites"></a>

若要建立空專案，您必須將 **Space 管理員**或 **Power 使用者**角色指派給您。如果這是您第一次登入 CodeCatalyst，請參閱 [設定並登入 CodeCatalyst設定並登入 CodeCatalyst](setting-up-topnode.md)。

## 建立空專案
<a name="getting-started-bt-proj-create"></a>

建立專案是能夠一起工作的第一步。如果您想要建立自己的資源，例如來源儲存庫和工作流程，您可以從空專案開始。

**建立空專案**

1. 導覽至您要建立專案的空間。

1. 在空間儀表板上，選擇**建立專案**。

1. 選擇**從頭開始**。

1. 在**將名稱提供給專案**下，輸入您要指派給專案的名稱。名稱在您的空間中必須是唯一的。

1. 選擇**建立專案**。

現在您有一個空的專案，下一個步驟是建立來源儲存庫。

## 建立來源儲存庫
<a name="getting-started-bt-source-create"></a>

建立來源儲存庫來存放和協作專案的程式碼。專案成員可以將此儲存庫複製到其本機電腦，以處理程式碼。或者，您可以選擇連結受支援服務中託管的儲存庫，但本教學課程未涵蓋此項目。如需詳細資訊，請參閱[連結來源儲存庫](source-repositories-link.md)。

**建立來源儲存庫**

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

1. 導覽至您的專案。

1. 在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇**新增儲存庫**，然後選擇**建立儲存庫**。

1. 在**儲存庫名稱**中，提供儲存庫的名稱。在本指南中，我們使用 *codecatalyst-source-repository*，但您可以選擇不同的名稱。儲存庫名稱在專案中必須是唯一的。如需儲存庫名稱需求的詳細資訊，請參閱 [CodeCatalyst 中來源儲存庫的配額](source-quotas.md)。

1. （選用） 在**描述**中，新增儲存庫的描述，以協助專案中的其他使用者了解儲存庫的用途。

1. 選擇**建立儲存庫 （預設）**。此選項會建立包含預設分支和 README.md 檔案的儲存庫。與空儲存庫不同，您可以在建立儲存庫後立即使用此儲存庫。

1. 在**預設分支**中，除非您有理由選擇不同的名稱，否則請將名稱保留為*主要*名稱。本指南中的範例都使用預設分支*的主*名稱。

1. （選用） 針對您計劃推送的程式碼類型新增`.gitignore`檔案。

1. 選擇**建立**。
**注意**  
CodeCatalyst 會在您建立檔案時，將`README.md`檔案新增至您的儲存庫。CodeCatalyst 也會在名為 **main** 的預設分支中為儲存庫建立初始遞交。您可以編輯或刪除 README.md 檔案，但無法刪除預設分支。

您可以建立開發環境，在儲存庫中快速新增程式碼。在本教學課程中，建議您使用 建立開發環境 AWS Cloud9，並在建立開發環境時選擇從**主要**分支建立分支的選項。我們**test**使用此分支的名稱，但您可以視需要輸入不同的分支名稱。

**使用新分支建立開發環境**

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

1. 導覽至您要建立開發環境的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**、選擇**來源儲存庫**，然後選擇您要為其建立開發環境的儲存庫。

1. 在儲存庫首頁上，選擇**建立開發環境**。

1. 從下拉式選單中選擇支援的 IDE。如需詳細資訊，請參閱[支援開發環境的整合式開發環境](devenvironment-create.md#devenvironment-supported-ide)。

1. 選擇要複製的儲存庫，選擇在**新分支中工作**，在**分支名稱**欄位中輸入分支名稱，然後從從建立分支下拉式功能表中選擇要建立新**分支**的分支。

1. 或者，為開發環境新增別名。

1. 或者，選擇**開發環境組態**編輯按鈕，以編輯開發環境的運算、儲存或逾時組態。

1. 選擇**建立**。建立開發環境時，開發環境狀態欄會顯示**開始**，而狀態欄會在建立開發環境後顯示**執行**中。在您選擇的 IDE 中，新的索引標籤將隨您的開發環境開啟。您可以編輯程式碼並遞交和推送變更。

## 建立工作流程以建置、測試和部署程式碼變更
<a name="getting-started-bt-workflow-create"></a>

在 CodeCatalyst 中，您可以在工作流程中組織應用程式或服務的建置、測試和部署。工作流程由動作組成，可設定為在發生指定的來源儲存庫事件後自動執行，例如程式碼推送或開啟或更新提取請求。如需工作流程的相關詳細資訊，請參閱 [使用工作流程建置、測試和部署使用工作流程建置、測試和部署](workflow.md)。

遵循 中的指示[工作流程入門](workflows-getting-started.md)來建立您的第一個工作流程。

## 邀請某人加入您的專案
<a name="getting-started-bt-ipa-user"></a>

現在您已設定自訂專案，請邀請其他人與您合作。

**邀請某人加入您的專案**

1. 導覽至您要邀請使用者的專案。

1. 在導覽窗格中，選擇**專案設定**。

1. 在**成員**索引標籤上，選擇**邀請**。

1. 輸入您要邀請做為專案使用者之人員的電子郵件地址。您可以輸入多個電子郵件地址，並以空格或逗號分隔。您也可以從不是專案成員的空間成員中進行選擇。

1. 選擇使用者的角色。

   完成新增使用者後，請選擇**邀請**。

## 建立問題以協同合作和追蹤工作
<a name="getting-started-bt-issue"></a>

CodeCatalyst 可協助您追蹤功能、任務、錯誤，以及專案中涉及問題的任何其他工作。您可以建立問題來追蹤所需的工作和想法。根據預設，當您建立問題時，它會新增至您的待處理項目。您可以將問題移至您追蹤進行中工作的電路板。您也可以將問題指派給特定的專案成員。

**為專案建立問題**

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

   請確定您正在要建立問題的專案中導覽。若要檢視所有專案，請在導覽窗格中選擇 **Amazon CodeCatalyst**，並視需要選擇**檢視所有專案**。選擇您要建立或處理問題的專案。

1. 在導覽窗格中，選擇**追蹤**，然後選擇**待處理**項目。

1. 選擇**建立問題**。

1. 在**問題標題**中，提供問題的名稱。選擇性地提供問題的描述。視需要選擇問題的狀態、優先順序和預估。您也可以從專案成員清單中將問題指派給專案成員。
**提示**  
您可以選擇將問題指派給 **Amazon Q**，讓 Amazon Q 嘗試解決問題。如果嘗試成功，將會建立提取請求，且問題狀態將變更為**檢閱中**，以便您可以檢閱和測試程式碼。如需詳細資訊，請參閱[教學課程：使用 CodeCatalyst 生成式 AI 功能來加速開發工作](getting-started-project-assistance.md)。  
此功能需要為空間啟用生成式 AI 功能。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 選擇**儲存**。

建立問題之後，您可以將它們指派給專案成員、估計它們，並在 Kanban 電路板上追蹤它們。如需詳細資訊，請參閱[追蹤和組織 CodeCatalyst 中的問題追蹤和組織處理問題的工作](issues.md)。

# 教學課程：使用 CodeCatalyst 生成式 AI 功能來加速開發工作
<a name="getting-started-project-assistance"></a>

如果您在啟用生成式 AI 功能的空間中有 Amazon CodeCatalyst 中的專案和來源儲存庫，您可以使用這些功能來協助加速軟體開發。開發人員經常需要執行的任務多於完成任務的時間。在建立提取請求以檢閱這些變更時，他們通常不會花時間向其團隊成員解釋程式碼變更，並期望其他使用者自行尋找變更。提取請求建立者和檢閱者也沒有時間完整尋找和讀取提取請求的所有評論，特別是在提取請求有多個修訂時。CodeCatalyst 與軟體開發的 Amazon Q 開發人員代理程式整合，提供生成式 AI 功能，可協助團隊成員更快地完成任務，並增加他們專注於工作最重要部分的時間。

Amazon Q Developer 是採用生成式 AI 技術的對話式助理，可協助您了解、建置、擴展和操作 AWS 應用程式。為了加速您的建置 AWS，支援 Amazon Q 的模型會擴增高品質 AWS 內容，以產生更完整、可行且參考的答案。如需詳細資訊，請參閱《Amazon Q Developer 使用者指南》**中的 [What is Amazon Q Developer?](https://docs.aws.amazon.com/amazonq/latest/aws-builder-use-ug/what-is.html) 部分。

**注意**  
**採用 Amazon Bedrock 技術**： AWS 實作[自動濫用偵測](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html)。由於**為我撰寫說明**、**建立內容摘要**、**建議的任務**、**使用 Amazon Q 建立或新增功能至專案**，以及**將問題指派給 Amazon Q** 功能，搭配適用於軟體開發的 Amazon Q Developer 代理程式功能建置在 Amazon Bedrock 上，因此使用者可以充分利用 Amazon Bedrock 中實作的控制措施，來加強安全性、資安和負責任的人工智慧 (AI) 運用。

在本教學課程中，您將了解如何使用 CodeCatalyst 中的生成式 AI 功能來協助您建立具有藍圖的專案，以及將藍圖新增至現有專案。此外，您將了解如何在建立提取請求時摘要分支之間的變更，以及摘要提取請求上留下的評論。您也將了解如何建立有關程式碼變更或改進想法的問題，並將其指派給 Amazon Q。作為處理指派給 Amazon Q 的問題的一部分，您將了解如何允許 Amazon Q 建議任務，以及如何指派和處理它在處理問題過程中建立的任何任務。

**Topics**
+ [先決條件](#getting-started-project-assistance-prerequisites)
+ [建立專案或新增功能時，使用 Amazon Q 選擇藍圖](#getting-started-project-assistance-create-apply-bp)
+ [建立提取請求時，在分支之間建立程式碼變更的摘要](#getting-started-project-assistance-pull-request-summary)
+ [在提取請求中建立對程式碼變更留下的評論摘要](#getting-started-project-assistance-comment-summary)
+ [建立問題並將其指派給 Amazon Q](#getting-started-project-assistance-issue-to-code)
+ [建立問題，並讓 Amazon Q 為其建議的任務](#getting-started-project-assistance-issue-to-tasks)
+ [清除資源](#getting-started-project-assistance-clean-up)

## 先決條件
<a name="getting-started-project-assistance-prerequisites"></a>

若要在本教學課程中使用 CodeCatalyst 功能，您必須先完成並可存取下列資源：
+ 您有 AWS 建置器 ID 或單一登入 (SSO) 身分來登入 CodeCatalyst。
+ 您的 位於已啟用生成式 AI 功能的空間中。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。
+ 您在該空間的專案中具有貢獻者或專案管理員角色。
+ 除非您使用生成式 AI 建立專案，否則現有專案至少會為其設定一個來源儲存庫。不支援連結的儲存庫。
+ 指派問題讓生成式 AI 建立初始解決方案時，無法使用 **Jira Software** 延伸設定專案。此功能不支援 擴充功能。

如需詳細資訊，請參閱 [建立空間](spaces-create.md)、[追蹤和組織 CodeCatalyst 中的問題追蹤和組織處理問題的工作](issues.md)、[在 CodeCatalyst 中將功能新增至具有擴充功能的專案將功能新增至具有擴充功能的專案](extensions.md) 和 [使用使用者角色授予存取權](ipa-roles.md)。

本教學課程是以使用**現代三層 Web 應用程式**藍圖搭配 Python 建立的專案為基礎。如果您使用以不同藍圖建立的專案，您仍然可以遵循這些步驟，但某些細節會有所不同，例如範例程式碼和語言。

## 建立專案或新增功能時，使用 Amazon Q 選擇藍圖
<a name="getting-started-project-assistance-create-apply-bp"></a>

身為專案開發人員，您可以在建立新專案或將元件新增至現有專案時，與生成式 AI 助理 Amazon Q 合作。您可以在類似聊天的界面中與其互動，為 Amazon Q 提供專案的需求。Amazon Q 會根據您的需求建議藍圖，並概述無法滿足的要求。如果您的空間有自訂藍圖，Amazon Q 也會學習並在建議中包含這些藍圖。然後，如果您滿意，您可以繼續進行 Amazon Q 的建議，它將根據您的需求建立必要的資源，例如具有程式碼的來源儲存庫。Amazon Q 也會針對無法滿足藍圖的要求建立問題。若要進一步了解可用的 CodeCatalyst 藍圖，請參閱 [使用 CodeCatalyst 藍圖建立全面的專案使用藍圖建立全面的專案](project-blueprints.md)。若要進一步了解如何搭配藍圖使用 Amazon Q，請參閱 [使用 Amazon Q 建立專案或新增具有藍圖的功能時的最佳實務](projects-create.md#projects-create-amazon-q)。

**使用 Amazon Q 建立專案**

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

1. 在 CodeCatalyst 主控台中，導覽至您要建立藍圖的空間。

1. 在空間儀表板上，選擇**使用 Amazon Q 建立**。

1. 在 Amazon Q 提示文字輸入欄位中，撰寫有關您要建置之專案的簡短描述，以提供指示。例如 `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   （選用） 在**嘗試範例中**，您可以選擇藍圖來使用預先編寫的提示。例如，如果您選擇 React 應用程式，則會提供下列提示： `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. 選擇**傳送**以將指示提交至 Amazon Q。生成式 AI 助理會提供建議，並概述藍圖無法滿足的要求。例如，Amazon Q 可能會根據您的條件建議下列項目：

   ```
   I recommend using the Modern three-tier web application blueprint based on 
                       your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Modern three-tier web application
   By Amazon Web Services
   
   This blueprint creates a Mythical Mysfits 3-tier web application with a modular presentation, application, and data layers. 
   The application leverages containers, infrastructure as code (IaC), continuous integration and continuous delivery (CI/CD), 
   and serverless code functions.
   
   Version: 0.1.163
   
   View details
   
   The following requirements could not be met so I will create issues for you.
   • Add authentication and authorization mechanisms for security and allowable actions.
   ```

1. （選用） 若要檢視建議藍圖的深入詳細資訊，請選擇**檢視詳細資訊**。

1. 執行以下任意一項：

   1. 選擇**是，如果您對建議感到滿意，請使用此藍圖**。

   1. 如果您想要修改**提示，請選擇編輯**提示。

   1. 如果您想要完全清除提示，請選擇**重新開始**。

1. 執行以下任意一項：

   1. 如果您想要設定建議的藍圖，請選擇**設定**。您也可以稍後設定藍圖。

   1. 如果您目前不想修改藍圖組態，請選擇**略過**。

1. 如果您選擇設定藍圖，請在修改專案資源後選擇**繼續**。

1. 出現提示時，輸入您要指派給專案的名稱及其相關聯的資源名稱。名稱在您的空間中必須是唯一的。

1. 選擇**建立專案**以建立具有藍圖的專案。Amazon Q 會使用藍圖建立資源。例如，如果您使用單頁應用程式藍圖建立專案，則會建立 CI/CD 相關程式碼和工作流程的來源儲存庫。

1. （選用） 根據預設，Amazon Q 也會針對藍圖未滿足的需求建立問題。您可以選擇不想要為其建立問題的項目。選擇讓 Amazon Q 建立問題之後，您也可以將問題指派給 Amazon Q。它將在指定的來源儲存庫內容中分析問題，並提供相關來源檔案和程式碼的摘要。如需詳細資訊，請參閱[尋找和檢視問題](issues-view.md)、[建立問題並將其指派給 Amazon Q](#getting-started-project-assistance-issue-to-code)及[建立和處理指派給 Amazon Q 的問題時的最佳實務](issues-create-issue.md#issues-create-issue-assign-genai-best-practices)。

使用 Amazon Q 建立專案後，您也可以使用 Amazon Q 新增元件，因為它會根據您的需求建議 CodeCatalyst 藍圖。

**使用 Amazon Q 新增藍圖**

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

1. 在 CodeCatalyst 主控台中，導覽至您要新增藍圖的專案。

1. 選擇**使用 Amazon Q** 新增。

1. 在 Amazon Q 提示文字輸入欄位中，撰寫有關您要建置之專案的簡短描述，以提供指示。例如 `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data.”`

   （選用） 在**嘗試範例中**，您可以選擇藍圖來使用預先編寫的提示。例如，如果您選擇 React 應用程式，則會提供下列提示： `“I want to create a project in Python that has a presentation layer responsible for how the data is presented, an application layer that contains the core logic and functionality of the application, and a data layer that manages the storage and retrieval of the data. I also want to add authentication and authorization mechanisms for security and allowable actions.”`

1. 選擇**傳送**以將指示提交至 Amazon Q。生成式 AI 助理會提供建議，並概述藍圖無法滿足的要求。例如，Amazon Q 可能會根據您的條件建議下列項目：

   ```
   I recommend using the Single-page application blueprint based on your requirements. Blueprints are dynamic and can always be updated and edited later.
   
   Single-page application
   By Amazon Web Services
   
   This blueprint creates a SPA (single-page application) using React, Vue, or Angular frameworks and deploys to AWS Amplify Hosting.
   
   Version: 0.2.15
   View details
   
   The following requirements could not be met so I will create issues for you.
   • The application should have reusable UI components
   • The application should support for client-side routing
   • The application may require server-side rendering for improved performance and SEO
   ```

1. （選用） 若要檢視建議藍圖的深入詳細資訊，請選擇**檢視詳細資訊**。

1. 執行以下任意一項：

   1. 選擇**是，如果您對建議感到滿意，請使用此藍圖**。

   1. 如果您想要修改**提示，請選擇編輯**提示。

   1. 如果您想要完全清除提示，請選擇**重新開始**。

1. 執行以下任意一項：

   1. 如果您想要設定建議的藍圖，請選擇**設定**。您也可以稍後設定藍圖。

   1. 如果您目前不想修改藍圖組態，請選擇**略過**。

1. 如果您選擇設定藍圖，請在修改專案資源後選擇**繼續**。

1. 選擇**新增至專案**，以使用藍圖將資源新增至專案。Amazon Q 會使用藍圖建立資源。例如，如果您使用單頁應用程式藍圖將 新增至專案，則會建立 CI/CD 相關程式碼和工作流程的來源儲存庫。

1. （選用） 根據預設，Amazon Q 也會針對藍圖未滿足的需求建立問題。您可以選擇不想要為其建立問題的項目。選擇讓 Amazon Q 建立問題之後，您也可以將問題指派給 Amazon Q。它將在指定的來源儲存庫內容中分析問題，並提供相關來源檔案和程式碼的摘要。如需詳細資訊，請參閱[建立問題並將其指派給 Amazon Q](#getting-started-project-assistance-issue-to-code)及[建立和處理指派給 Amazon Q 的問題時的最佳實務](issues-create-issue.md#issues-create-issue-assign-genai-best-practices)。

## 建立提取請求時，在分支之間建立程式碼變更的摘要
<a name="getting-started-project-assistance-pull-request-summary"></a>

提取請求是您和其他專案成員可以從一個分支檢閱、評論和合併程式碼變更的主要方式。您可以使用提取請求，針對發行軟體的次要變更或修正、主要功能新增或新版本，協同檢閱程式碼變更。在提取請求的描述中，摘要程式碼變更和變更背後的意圖有助於檢閱程式碼的其他人，也有助於了解程式碼隨時間變更的歷史。不過，開發人員通常依賴程式碼來解釋自己或提供模棱兩可的詳細資訊，而不是使用足夠的詳細資訊描述其變更，讓檢閱者了解他們正在檢閱的內容，或程式碼變更背後的意圖。

您可以在建立提取請求時**為我使用寫入描述**功能，讓 Amazon Q 建立提取請求中包含的變更描述。當您選擇此選項時，Amazon Q 會分析包含程式碼變更的來源分支與您要合併這些變更的目的地分支之間的差異。然後，它會建立這些變更的摘要，以及這些變更意圖和效果的最佳解釋。

**注意**  
此功能不適用於 Git 子模組。它不會摘要 Git 子模組中作為提取請求一部分的任何變更。  
此功能不適用於連結儲存庫中的提取請求。

您可以使用您建立的任何提取請求來嘗試此功能，但在本教學課程中，我們將對 Python 型 **Modern 三層式 Web 應用程式**藍圖中建立的專案中包含的程式碼進行一些簡單的變更來測試。

**提示**  
如果您使用以不同藍圖或您自己的程式碼建立的專案，您仍然可以遵循本教學課程，但本教學課程中的範例與您專案中的程式碼不相符。在分支中對專案的程式碼進行簡單的變更，然後建立提取請求以測試功能，而不是以下建議的範例，如下列步驟所示。

首先，您將在來源儲存庫中建立分支。然後，您將使用 主控台中的文字編輯器，對該分支中的檔案進行快速程式碼變更。然後，您將建立提取請求，並使用**我的寫入描述**功能來摘要您所做的變更。

**建立分支 （主控台）**

1. 在 CodeCatalyst 主控台中，導覽至來源儲存庫所在的專案。

1. 從專案的來源儲存庫清單中選擇儲存庫的名稱。或者，在導覽窗格中，選擇**程式碼**，然後選擇**來源儲存庫**。

1. 選擇您要建立分支的儲存庫。

1. 在儲存庫的概觀頁面上，選擇**更多**，然後選擇**建立分支**。

1. 輸入分支的名稱。

1. 選擇要從中建立分支的分支，然後選擇**建立**。

一旦您有分支，請以簡單的變更編輯該分支中的檔案。在此範例中，您將編輯 `test_endpoint.py` 檔案，將測試的重試次數從 變更為 **3** **5**。

**提示**  
您也可以選擇建立或使用開發環境來變更此程式碼。如需詳細資訊，請參閱[建立開發環境](devenvironment-create.md)。

**在 主控台中編輯 `test_endpoint.py` 檔案**

1. 在**mysfits**來源儲存庫的概觀頁面上，選擇分支下拉式清單，然後選擇您在先前程序中建立的分支。

1. 在**檔案中**，導覽至您要編輯的檔案。例如，若要編輯`test_endpoint.py`檔案、展開**測試**、展開**整數**，然後選擇 `test_endpoint.py`。

1. 選擇**編輯**。

1. 在第 7 行，變更所有測試將重試的次數：

   ```
   def test_list_all(retry=3):
   ```

   至:

   ```
   def test_list_all(retry=5):
   ```

1. 選擇**遞交**，並將變更遞交至您的分支。

現在您已有一個具有變更的分支，您可以建立提取請求。

**建立具有變更摘要的提取請求**

1. 在儲存庫的概觀頁面上，選擇**更多**，然後選擇**建立提取請求**。

1. 在**目的地分支**中，選擇要在檢閱程式碼之後將程式碼合併到其中的分支。
**提示**  
選擇您在上一個程序中從中建立分支的分支，以最簡單的示範此功能。例如，如果您從儲存庫的預設分支建立分支，請選擇該分支做為提取請求的目的地分支。

1. 在**來源分支**中，選擇包含您剛遞交至`test_endpoint.py`檔案之變更的分支。

1. 在**提取請求標題**中，輸入標題，協助其他使用者了解需要檢閱的內容及其原因。

1. 在**提取請求描述**中，為**我選擇寫入描述**，讓 Amazon Q 建立提取請求中包含的變更描述。

1. 變更摘要隨即出現。檢閱建議的文字，然後選擇**接受並新增至描述**。

1. 或者，修改摘要，以更好地反映您對程式碼所做的變更。您也可以選擇將檢閱者或連結問題新增至此提取請求。當您完成所需的任何其他變更時，請選擇**建立**。

## 在提取請求中建立對程式碼變更留下的評論摘要
<a name="getting-started-project-assistance-comment-summary"></a>

當使用者檢閱提取請求時，通常會對該提取請求中的變更留下多個註解。如果許多檢閱者有許多評論，可能很難在意見回饋中挑選常見主題，甚至確定您已檢閱所有修訂中的所有評論。您可以使用**建立評論摘要**功能，讓 Amazon Q 分析提取請求中程式碼變更留下的所有評論，並建立這些評論的摘要。

**注意**  
註解摘要是暫時性的。如果您重新整理提取請求，摘要將會消失。內容摘要不包含對整體提取請求的評論，僅包含對提取請求修訂中程式碼差異的評論。  
此功能不適用於 Git 子模組中程式碼變更上留下的任何註解。  
此功能不適用於連結儲存庫中的提取請求。

**在提取請求中建立註解摘要**

1. 導覽至您在上一個程序中建立的提取請求。
**提示**  
如果您願意，您可以在專案中使用任何開啟的提取請求。在導覽列中，選擇**程式碼**，選擇**提取請求**，然後選擇任何開啟的提取請求。

1. 如果提取請求還沒有註解，請在**變更**中新增一些註解至提取請求。

1. 在**概觀**中，選擇**建立評論摘要**。完成後，**註解摘要**區段會展開。

1. 在提取請求的修訂中檢閱程式碼變更中留下的評論摘要，並將其與提取請求中的評論進行比較。

## 建立問題並將其指派給 Amazon Q
<a name="getting-started-project-assistance-issue-to-code"></a>

開發團隊會建立問題來追蹤和管理其工作，但有時問題仍然存在，因為不清楚誰應該處理，或者問題需要研究程式碼庫的特定部分，或者需要先處理其他緊急工作。CodeCatalyst 包含與 Amazon Q Developer Agent 整合以進行軟體開發。您可以將問題指派給名為 **Amazon Q** 的生成式 AI 助理，可根據問題標題及其描述來分析問題。如果您將問題指派給 Amazon Q，它會嘗試建立草稿解決方案供您評估。這可協助您和您的團隊專注於和最佳化需要您注意的問題，而 Amazon Q 可解決您沒有資源可立即解決的問題。

**提示**  
**Amazon Q **在簡單問題和直接問題上表現最佳。為了獲得最佳結果，請使用純語言來清楚說明您想要做什麼。

當您將問題指派給 **Amazon Q** 時，CodeCatalyst 會將問題標記為封鎖，直到您確認 Amazon Q 如何處理問題為止。這需要您回答三個問題才能繼續：
+  無論您想要確認每個步驟，還是想要在沒有意見回饋的情況下繼續。如果您選擇確認每個步驟，您可以回覆 Amazon Q，並提供有關其所建立方法的意見回饋，以便在需要時重複其方法。如果您選擇此選項，Amazon Q 也可以檢閱使用者對其建立的任何提取請求留下的意見回饋。如果您選擇不確認每個步驟，Amazon Q 可能會更快地完成其工作，但不會檢閱您在問題或建立的任何提取請求中提供的任何意見回饋。
+ 您是否希望允許它在工作過程中更新工作流程檔案。您的專案可能已將工作流程設定為在提取請求事件上啟動執行。如果是這樣，Amazon Q 建立的任何提取請求，包括建立或更新工作流程 YAML 可能會開始執行提取請求中包含的工作流程。根據最佳實務，除非您確定專案中沒有工作流程會自動執行這些工作流程，否則請勿選擇允許 Amazon Q 處理工作流程檔案，再檢閱和核准其建立的提取請求。
+ 您是否想要允許它建議建立任務，以將問題中的工作細分為可個別指派給使用者的較小增量，包括 Amazon Q 本身。允許 Amazon Q 建議和建立任務，可透過允許多個人員處理問題的分散部分，協助加速複雜問題的開發。它也可以協助降低了解整個工作的複雜性，因為完成每個任務所需的工作最好比其所屬的問題更簡單。
+ 您希望其使用的來源儲存庫。即使您的專案有多個來源儲存庫，Amazon Q 也只能處理一個來源儲存庫中的程式碼。不支援連結的儲存庫。

做出並確認選擇後，**Amazon Q** 會在嘗試根據問題標題及其描述以及指定儲存庫中的程式碼來判斷請求內容時，將問題移至**進行中**狀態。它會建立固定註解，提供其工作狀態的更新。檢閱資料後，Amazon Q 將制定解決方案的潛在方法。Amazon Q 會更新其固定註解，並對每個階段的問題進度進行註解，以記錄其動作。與固定註解和回覆不同，它不會嚴格保留其工作的時間記錄。相反地，它會將其工作的相關資訊放在固定註解的最上層。它會嘗試根據其方法及其對儲存庫中已存在之程式碼的分析來建立程式碼。如果成功產生潛在的解決方案，則會建立分支並將程式碼遞交至該分支。然後，它會建立提取請求，該請求會將該分支與預設分支合併。當 Amazon Q 完成工作時，它會將問題移至**檢閱中**，以便您和您的團隊知道已準備好供您評估的程式碼。

**注意**  
此功能僅適用於美國西部 （奧勒岡） 區域中**的問題**。如果您已將專案設定為搭配 Jira **軟體延伸使用 Jira**，則無法使用此功能。此外，如果您已自訂電路板的配置，問題可能不會變更狀態。為了獲得最佳結果，請將此功能用於具有標準主機板配置的專案。  
此功能不適用於 Git 子模組。它無法對儲存庫中包含的任何 Git 子模組進行變更。  
將問題指派給 Amazon Q 之後，您就無法變更問題標題或描述，或將其指派給任何其他人。如果您從問題取消指派 **Amazon Q**，它會完成其目前的步驟，然後停止工作。一旦取消指派問題，就無法繼續工作或重新指派給問題。  
如果使用者選擇允許它建立任務，則問題可以自動移至**檢閱中**資料欄。不過，**檢閱**中的問題可能仍有處於不同狀態的任務，例如處於**進行中**狀態。

在教學課程的此部分中，您將根據現代**三層式 Web 應用程式**藍圖所建立專案中包含的程式碼潛在功能，建立三個問題：一個新增 以建立新的 mysfit 生物，另一個新增排序功能，另一個更新工作流程以包含名為 的分支**test**。

**注意**  
 如果您使用不同程式碼的專案，請建立與該程式碼庫相關的標題和描述的問題。

**建立問題並產生解決方案供您評估**

1. 在導覽窗格中，選擇**問題**，並確定您在**電路板**檢視中。

1. 選擇**建立問題**。

1. 提供問題標題，說明您想要以純語言執行的動作。例如，針對此問題，輸入 的標題**Create another mysfit named Quokkapus**。在**描述**中，提供下列詳細資訊：

   ```
   Expand the table of mysfits to 13, and give the new mysfit the following characteristics:
   
   Name: Quokkapus
   
   Species: Quokka-Octopus hybrid
   
   Good/Evil: Good
   
   Lawful/Chaotic: Chaotic
   
   Age: 216
   
   Description: Australia is full of amazing marsupials, but there's nothing there quite like the Quokkapus. 
   She's always got a friendly smile on her face, especially when she's using her eight limbs to wrap you up 
   in a great big hug. She exists on a diet of code bugs and caffeine. If you've got some gnarly code that needsa
   assistance, adopt Quokkapus and put her to work - she'll love it! Just make sure you leave enough room for 
   her to grow, and keep that coffee coming.
   ```

1. （選用） 連接影像，做為 mysfit 與問題相關的縮圖和設定檔圖片。如果您這樣做，請更新描述，以包含您想要使用哪些影像的詳細資訊和原因。例如，您可以將以下內容新增至描述：「mysfit 需要將映像檔案部署到網站。將這些連接到此問題的映像新增至來源儲存庫做為工作的一部分，並將映像部署到網站。」
**注意**  
在此教學中的互動期間，連接的影像不一定會部署到網站。您可以自行將映像新增至網站，然後留下註解，讓 Amazon Q 更新其程式碼，以指向建立提取請求後要使用的映像。

   檢閱描述，並確認其中包含可能需要的所有詳細資訊，然後再繼續下一個步驟。

1. 在**被指派者**中，選擇**指派給 Amazon Q**。

1. 在**來源儲存庫**中，選擇包含專案程式碼的來源儲存庫。

1. 滑動**需要 Amazon Q 在每個步驟之後停止，並視需要等待檢閱其工作**選擇器至作用中狀態。
**注意**  
選擇在每個步驟後讓 Amazon Q 停止的選項，可讓您對問題或任何建立的任務進行評論，以根據評論讓 Amazon Q 變更其方法最多三次。如果您選擇在每個步驟之後不讓 Amazon Q 停止，以便您可以檢閱其工作，則工作可能會更快進行，因為 Amazon Q 不會等待您的意見回饋，但您無法透過留下評論來影響 Amazon Q 採取的方向。如果您選擇該選項，Amazon Q 也不會回應提取請求中留下的評論。

1. 讓**允許 Amazon Q 修改處於非作用中狀態的工作流程檔案**選擇器。

1. 滑動**允許 Amazon Q 以建議建立作用中狀態的任務**選取器。

1. 選擇**建立問題**。您的檢視會變更為問題面板。

1. 選擇**建立問題**以建立另一個問題，這次是標題為 的問題**Change the get\$1all\$1mysfits() API to return mysfits sorted by the Age attribute**。將此問題指派給 **Amazon Q** 並建立問題。

1. 選擇**建立問題**以建立另一個問題，這次是標題為 的問題**Update the OnPullRequest workflow to include a branch named test in its triggers**。選擇性地連結至描述中的工作流程。將此問題指派給 **Amazon Q**，但這次請確定**允許 Amazon Q 修改工作流程檔案**選取器設定為作用中狀態。建立問題以返回問題面板。
**提示**  
您可以輸入 at 符號 (`@`) 並輸入檔案名稱來搜尋檔案，包括工作流程檔案。

建立並指派問題後，問題會進入**進行中**。Amazon Q 會在固定註解中新增評論，以追蹤問題內的進度。如果它能夠定義解決方案的方法，則會使用**背景**區段更新問題的描述，其中包含其對程式碼基礎的分析，以及詳細說明其建立解決方案的建議方法**的方法**。如果 Amazon Q 成功針對問題中所述的問題提出解決方案，則會在該分支中建立分支和程式碼變更，以實作其提議的解決方案。如果提議的程式碼包含 Amazon Q 已知的開放原始碼程式碼的相似性，則會提供一個檔案，其中包含該程式碼的連結，讓您可以檢閱該程式碼。程式碼準備就緒後，它會建立提取請求，以便您可以檢閱建議的程式碼變更、將提取請求的連結新增至問題，並將問題移至**檢閱中**。

**重要**  
在合併提取請求之前，您應該一律檢閱提取請求中的任何程式碼變更。如果未正確檢閱合併的程式碼，並在合併時包含錯誤，則與任何其他程式碼變更一樣，合併 Amazon Q 所做的程式碼變更可能會對您的程式碼基礎和基礎設施程式碼造成負面影響。

**若要檢閱包含 Amazon Q 所做變更的問題和連結的提取請求**

1. 在**問題**中，選擇指派給正在進行**中** Amazon Q 的問題。檢閱註解以監控 Amazon Q 的進度。如果有的話，請檢閱背景並處理問題描述中的記錄。如果您選擇允許 Amazon Q 建議任務，請檢閱任何提議的任務並採取任何必要的動作。例如，如果 Amazon Q 建議的任務，而您想要變更順序或將任務指派給特定使用者，請選擇**變更、新增或重新排序任務，**並執行任何必要的更新。當您完成檢視問題時，請選擇 **X** 關閉問題窗格。
**提示**  
若要檢視任務的進度，請從問題中的任務清單中選擇任務。任務不會在電路板上顯示為個別項目，只能透過 問題存取。如果任務已指派給 Amazon Q，您必須開啟任務以核准其想要執行的任何動作。您也必須開啟任務，以查看任何連結的提取請求，因為它們不會在問題中顯示為連結，只會在任務中顯示。若要從任務返回問題，請選擇問題的連結。

1. 現在選擇指派給 Amazon Q 且審核**中**的問題。檢閱背景並處理問題描述中的記錄。檢閱註解以了解其執行的動作。檢閱為與此問題相關的工作建立的任何任務，包括其進度、您可能需要採取的任何動作，以及任何評論。在**提取請求**中，選擇**開啟**標籤旁的提取請求連結，以檢閱程式碼。
**提示**  
為任務產生的提取請求只會在任務檢視中顯示為連結的提取請求。它們不會顯示為問題的連結提取請求。

1. 在提取請求中，檢閱程式碼變更。如需詳細資訊，請參閱[檢閱提取請求](pull-requests-review.md)。如果您希望 Amazon Q 變更其任何建議的程式碼，請在提取請求上留下評論。為 Amazon Q 留下評論時請具體說明，以獲得最佳結果。

   例如，在檢閱為 建立的提取請求時**Create another mysfit named Quokkapus**，您可能會注意到描述中有錯別字。您可以為 Amazon Q 留下註解，指出「變更描述以修正錯別字「需要」，方法是在「需要」和「a」之間新增空格。 或者，您可以留下註解，指示 Amazon Q 更新描述，並提供整個修訂後的描述以供其納入。

   如果您將新 mysfit 的影像上傳到網站，您可以為 Amazon Q 留下註解，以使用影像和縮圖的指標來更新 mysfit，以用於新的 mysfit。
**注意**  
Amazon Q 不會回應個別評論。如果您在建立問題時選擇在每個步驟核准之後停止的預設選項，Amazon Q 只會在提取請求中納入評論中留下的意見回饋。

1. （選用） 在您和其他專案使用者留下您想要變更程式碼的所有註解之後，請選擇**建立修訂**，讓 Amazon Q 建立提取請求的修訂，將您在註解中請求的變更納入其中。Amazon Q in **Overview** 將報告修訂建立進度，而不是在**變更**中。請務必重新整理瀏覽器，以檢視建立修訂時來自 Amazon Q 的最新更新。
**注意**  
只有建立問題的使用者可以建立提取請求的修訂。您只能請求提取請求的一個修訂。在選擇**建立修訂**之前，請確定您已解決評論的所有問題，而且您對評論的內容感到滿意。

1. 此範例專案中的每個提取請求都會執行工作流程。在合併提取請求之前，請確定您看到成功的工作流程執行。您也可以選擇建立其他工作流程和環境，以便在合併程式碼之前進行測試。如需詳細資訊，請參閱[工作流程入門](workflows-getting-started.md)。

1. 如果您對提取請求的最新版本感到滿意，請選擇**合併**。

## 建立問題，並讓 Amazon Q 為其建議的任務
<a name="getting-started-project-assistance-issue-to-tasks"></a>

問題有時可能包含複雜或冗長的工作量。CodeCatalyst 包含與 Amazon Q Developer Agent 整合以進行軟體開發。您可以要求 **Amazon Q** 根據其標題及其描述來分析問題，並建議將工作邏輯分解為不同的任務。它會嘗試建立建議的任務清單，然後檢閱、修改並選擇是否要建立。這可協助您和您的團隊以更易於管理的方式，將工作的個別部分指派給使用者，以更快的速度實現。

**建立和檢閱問題的建議任務清單**

1. 在導覽窗格中，選擇**問題**，並確定您在**電路板**檢視中。

1. 選擇**建立問題**。

1. 提供問題標題，說明您想要以純語言執行的動作。例如，針對此問題，輸入 的標題**Change the get\$1all\$1mysfits() API to return mysfits sorted by the Good/Evil attribute**。在**描述**中，提供下列詳細資訊：

   ```
   Update the API to allow sorting of mysfits by whether they are Good, Neutral, or Evil. Add a button on the website that allows users to quickly choose this sort and to exclude alignments that they don't want to see.
   ```

1. 檢閱描述，並確認其中包含可能需要的所有詳細資訊，然後再繼續下一個步驟。

1. 在**被指派者**中，選擇將問題指派給自己。

1. 選擇**建立問題**。您的檢視會變更為問題面板。

1. 選擇您剛建立的問題以開啟它。選擇**建議任務**。

1. 選擇包含 issuse 程式碼的來源儲存庫。選擇**開始重新建議任務**。

對話方塊會關閉，Amazon Q 會開始分析問題的複雜性。如果問題很複雜，它會建議將工作分解為個別的循序任務。當清單準備就緒時，選擇**檢視建議的任務**。您可以新增其他任務、修改建議的任務，以及重新排序任務。如果您同意建議，選擇**建立任務**將建立任務。然後，您可以將這些任務指派給使用者來處理，甚至是 Amazon Q 本身。

## 清除資源
<a name="getting-started-project-assistance-clean-up"></a>

完成本教學課程後，請考慮採取下列動作來清除您在本教學課程中建立的任何不再需要的資源。
+ 從不再處理的任何問題取消指派 Amazon Q。如果 Amazon Q 已完成問題的工作或找不到解決方案，請務必取消指派 Amazon Q，以避免達到生成式 AI 功能的最大配額。如需詳細資訊，請參閱[管理生成式 AI 功能](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)和[定價](https://codecatalyst.aws/explore/pricing)。
+ 將工作完成的任何問題移至**完成**。
+ 如果不再需要專案，請刪除專案。