

亚马逊 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)
+ [教程：使用动作的 Lint 代码 GitHub](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 账户堆栈中的资源包括用于分发动态网页内容的 Amazon CloudFront 资源、用于存储应用程序数据的 Amazon DynamoDB 实例，以及支持已部署应用程序的角色和策略。

![\[一种代码变更，从议题的创建到源存储库的更改，然后源存储库会自动生成并部署到中的资源 AWS\]](http://docs.aws.amazon.com/zh_cn/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) 中的任务：
+ 拥有用于登录的 AWS 生成器 ID CodeCatalyst。
+ 属于某个空间，并且在该空间中已为您分配了**空间管理员**或**高级用户**角色。有关更多信息，请参阅[创建空间](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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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 Hosting**。有关信息 AWS Amplify，请参阅[什么是 AWS Amplify 托管？](https://docs.aws.amazon.com/amplify/latest/userguide/welcome.html) 在《*AWS Amplify 用户指南》*中。

1. 在**部署区域**中，输入您希望蓝图用于部署 Mysfits 应用程序和支持资源的 AWS 区域 的区域代码。有关区域代码的列表，请参阅《AWS 一般参考》**中的 [Regional endpoints](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints)。

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` 工作流定义文件。
+ **.ide** a 目录 — 包含 JetBrains 开发环境的支持文件。
+ **.vscode** 目录 – 包含 Visual Studio 代码开发环境的支持文件。
+ **CDKStacks** 目录 — 包含定义中基础架构的 AWS CDK 堆栈文件。 AWS 云
+ **src** 目录 – 包含应用程序源代码。
+ **tests 目录 — 包含 integ 和单元测试的文件，这些文件是在您生成和测试应用程序时作为自动 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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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 控制台的导航窗格中，选择 C **I/CD**，然后选择工作流程。**

   此时将显示工作流列表。这些是 CodeCatalyst 蓝图在您创建项目时生成和启动的工作流程。

1. 查看工作流列表。您应该会看到四个工作流：
   + 上面的两个工作流对应于您先前在[步骤 5：创建带测试分支的开发环境并快速更改代码](#getting-started-template-project-create-devenvironment)中创建的 `test` 分支。这些工作流是 `main` 分支上的工作流的副本。未**ApplicationDeploymentPipeline**处于活动状态，因为它已配置为与`main`分支一起使用。由于未发出拉取请求，**OnPullRequest**工作流程未运行。
   + 下面的两个工作流对应于您先前运行蓝图时创建的 `main` 分支。工作**ApplicationDeploymentPipeline**流程处于活动状态，正在运行（或已完成）。
**注意**  
如果**ApplicationDeploymentPipeline**运行失败并出现 Bu **ild @cdk\$1bootstrap** 或**DeployBackend**错误，那可能是因为你之前运行过现代三层 Web 应用程序，但它留下了与当前蓝图冲突的旧资源。您需要删除这些旧资源，然后重新运行工作流。有关更多信息，请参阅 [清理 资源](#getting-started-template-project-clean-up)。

1. 在底部选择与`main`分支关联**ApplicationDeploymentPipeline**的工作流程。此工作流是使用 `main` 分支上的源代码运行的。

   此时将出现工作流图表。该图表中会显示多个方块，每个方块代表一项任务或*操作*。大多数操作是垂直排列的，上面的操作在下面的操作之前运行。并排排列的操作会并行运行。分组在一起的操作必须全部成功运行，然后才能启动其后的操作。

   主要方块包括：
   + **WorkflowSource**— 此区块代表您的源存储库。除其他信息外，它还显示源存储库名称 (**mysfit** s) 和自动启动工作流程运行的提交。 CodeCatalyst 创建项目时生成了此提交。
   + **Build** – 此方块代表包含两个操作的分组，这两个操作都必须成功完成，才能开始下一个操作。
   + **DeployBackend**— 此块表示将应用程序的后端组件部署到 AWS 云中的操作。
   + **Tests** – 此方块代表包含两个测试操作的分组，这两个操作都必须成功完成，才能开始下一个操作。
   + **DeployFrontend**— 此块表示将应用程序的前端组件部署到云中的 AWS 操作。

1. 选择**定义**选项卡（靠近顶部）。[工作流定义文件](workflow-reference.md)显示在右侧。此文件包含以下需要注意的部分：
   + 位于顶部的 `Triggers` 部分。该部分指出，每当将代码推送到源存储库的 `main` 分支时，工作流都必须启动。推送到其他分支（例如 `test`）不会启动此工作流。工作流会使用 `main` 分支上的文件运行。
   + 位于 `Triggers` 下的 `Actions` 部分。此部分定义了您在工作流图表中看到的操作。

1. 选择**最新状态**选项卡（靠近顶部），然后在工作流图表中选择任意操作。

1. 在右侧，选择**配置**选项卡，查看操作在最近一次运行期间使用的配置设置。在工作流定义文件中，每个配置设置都有一个匹配的属性。

1. 将控制台保持打开状态，然后转到下一个步骤。

**查看构建日志和测试报告**

1. 选择**最新状态**选项卡。

1. 在工作流程图中，选择**DeployFrontend**操作。

1. 等待操作完成。注意“进行中”图标（![\[Workflow in progress.\]](http://docs.aws.amazon.com/zh_cn/codecatalyst/latest/userguide/images/flows/run-in-progress.png)）会变成“成功”图标（![\[Workflow success.\]](http://docs.aws.amazon.com/zh_cn/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**流程，然后选择最新**运行**的运行*string*链接。

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 自动生成拉取请求中包含的更改的描述。您可以在将自动生成的描述添加到拉取请求后，对描述进行更改。  
此功能要求为空间启用生成式人工智能功能，并且不适用于链接的存储库中的拉取请求。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. （可选）在**事务**中，选择**关联事务**，然后从列表中选择事务或输入事务 ID。要取消链接事务，请选择“取消链接”图标。

1. （可选）在**必需的审阅者**中，选择**添加必需审阅者**。从项目成员列表中进行选择，添加审阅者。必需的审阅者必须批准更改，才能将拉取请求合并到目标分支。
**注意**  
您不能将审阅者同时添加为必需的审阅者和可选的审阅者。您不能将自己添加为审阅者。

1. （可选）在**可选的审阅者**中，选择**添加可选审阅者**。从项目成员列表中进行选择，添加审阅者。可选的审阅者不必批准更改，这并不是将拉取请求合并到目标分支之前的必备要求。

1. 审查分支之间的差异。拉取请求中显示的差异是源分支中的修订与合并基准之间的更改，而合并基准是创建拉取请求时目标分支的 HEAD 提交。如果未显示任何更改，则分支可能相同，或者您可能为源和目标选择了相同的分支。

1. 如果您对拉取请求中包含的希望审查的代码和更改感到满意，请选择**创建**。
**注意**  
创建拉取请求后，可以添加备注。可以将备注添加到拉取请求中或文件内的单独行中，也可以为整个拉取请求添加备注。您可以使用 @ 符号后跟文件名的方式，添加指向文件等资源的链接。

创建拉取请求时，**OnPullRequest**工作流程开始使用`test`分支中的源文件。当审阅者批准您的代码更改后，您可以通过选择工作流并查看测试输出来观察结果。

审查完更改后，您就可以合并代码了。将代码合并到默认分支时，将自动启动构建和部署更改的工作流。<a name="getting-started-template-project-pull-requests-merge-console"></a>

**合并来自 CodeCatalyst 控制台的拉取请求**

1. 导航到您的现代化应用程序项目。

1. 在项目页面上的**打开拉取请求**下，选择要合并的拉取请求。如果您没有看到拉取请求，请选择**查看全部**，然后从列表中选择。选择**合并**。

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_cn/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. 删除**开发-mys *string*** fits 堆栈。

1. 选择（但不要删除）**CDKToolkit**堆栈。选择**资源**选项卡。选择**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。
  + dev **elopment-mys** fits *string* BackEnd 堆栈 — 此堆栈部署以下后端资源：
    + Amazon API Gateway 端点。
    + AWS 支持堆栈中资源的 IAM 角色和策略。
    +  AWS Lambda 函数和层为现代应用程序提供了无服务器计算平台。
    + 用于存储桶部署和 Lambda 函数的 IAM 策略和角色。
  + **mysfit** s *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 Hosting User Guide》](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 Developer Guide》](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>

要创建空项目，必须为您分配**空间管理员**或**高级用户**角色。如果这是您第一次登录 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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

1. 导航到您的项目。

1. 在导航窗格中，选择**代码**，然后选择**源存储库**。

1. 选择**添加存储库**，然后选择**创建存储库**。

1. 在**存储库名称**中，输入存储库的名称。在本指南中，我们使用*codecatalyst-source-repository*，但您可以选择其他名称。一个项目中的存储库名称必须唯一。有关存储库名称要求的更多信息，请参阅[中的源存储库配额 CodeCatalyst](source-quotas.md)。

1. （可选）在**描述**中，添加对存储库的描述，这有助于项目中的其他用户了解存储库的用途。

1. 选择**创建存储库（默认）**。此选项会创建一个存储库，其中包含默认分支和 README.md 文件。与空存储库不同，您可以在创建此存储库后立即使用它。

1. 在**默认分支**中，除非您有理由选择其他名称，否则请将该名称保留为 *main*。本指南中的示例对于默认分支均使用名称 *main*。

1. （可选）为您计划推送的代码类型添加一个 `.gitignore` 文件。

1. 选择**创建**。
**注意**  
CodeCatalyst 在创建`README.md`文件时将文件添加到存储库中。 CodeCatalyst还会在名为 **main** 的默认分支中为存储库创建初始提交。您可以编辑或删除 README.md 文件，但无法删除默认分支。

您可以通过创建开发环境在存储库中快速添加代码。在本教程中，我们建议您使用创建开发环境 AWS Cloud9，并在创建开发环境时选择从**主**分支创建分支的选项。我们为此分支使用名称 **test**，但如果您愿意，可以输入不同的分支名称。

**使用新分支创建开发环境**

1. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

   请确保您正在将要创建事务的项目中导航。要查看所有项目，请在导航窗格中选择 **Amazon CodeCatalyst**，如果需要，选择**查看所有项目**。选择要在其中创建或处理事务的项目。

1. 在导航窗格中，选择**跟踪**，然后选择**待办事项**。

1. 选择**创建事务**。

1. 在**事务标题**中，提供事务的名称。可选择提供事务的描述。如果需要，可以选择事务的状态、优先级和估计值。您也可以将事务分配给项目成员列表中的项目成员。
**提示**  
您可以选择将事务分配给 **Amazon Q**，让 Amazon Q 尝试解决该事务。如果尝试成功，系统将创建拉取请求，事务状态将更改为**审核中**，以便您可以查看和测试代码。有关更多信息，请参阅 [教程：使用 CodeCatalyst 生成式 AI 功能加快开发工作](getting-started-project-assistance.md)。  
此功能要求为空间启用生成式人工智能功能。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。

1. 选择**保存**。

创建事务后，您可以将其分配给项目成员，对其进行估算，然后在看板面板上对其进行跟踪。有关更多信息，请参阅 [跟踪和组织处理问题的工作 CodeCatalyst跟踪和整理有关事务的工作](issues.md)。

# 教程：使用 CodeCatalyst 生成式 AI 功能加快开发工作
<a name="getting-started-project-assistance"></a>

如果您在启用生成人工智能功能的 Amazon CodeCatalyst 中有一个项目和源代码库，则可以使用这些功能来帮助加快软件开发。开发人员要完成的任务往往多于完成任务所需的时间。在创建拉取请求以审查这些更改时，开发人员通常不会花时间向队友解释他们的代码更改，而是期望其他用户发现这些更改一目了然。拉取请求的创建者和审阅者也没有时间彻底查找和阅读拉取请求中的所有评论，尤其是在拉取请求有多个修订版的情况下。 CodeCatalyst 与 Amazon Q Developer Agent 集成以进行软件开发，提供生成式 AI 功能，这些功能既可以帮助团队成员更快地完成任务，又可以增加他们专注于工作中最重要部分的时间。

Amazon Q Developer 是一款基于人工智能的生成式对话助手，可以帮助您理解、构建、扩展和操作 AWS 应用程序。为了加快您的构建 AWS，为Amazon Q提供支持的模型增加了高质量的 AWS 内容，以生成更完整、更具可操作性和参考性的答案。有关更多信息，请参阅《Amazon Q Developer User Guide》**中的 [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 开发者版代理程序的功能都是基于 Amazon Bedrock 构建的，因此，用户可以充分利用 Amazon Bedrock 中实施的控制措施来强制实施安全性并负责任地使用人工智能（AI）。

在本教程中，您将学习如何使用中的生成式 AI 功能 CodeCatalyst 来帮助您创建带有蓝图的项目，以及如何向现有项目添加蓝图。此外，您将学习如何在创建拉取请求时汇总分支之间的变化，以及如何汇总拉取请求中留下的注释。您还将学习如何根据自己的代码更改或改进想法创建事务并将其分配给 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
+ 您所在的空间启用了生成式人工智能功能。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)。
+ 在该空间的项目中，您具有贡献者或项目管理员角色。
+ 除非您在使用生成式人工智能创建项目，否则您的现有项目至少有一个为其配置的源存储库。不支持链接的存储库。
+ 在分配事务以使用生成式人工智能创建初始解决方案时，无法使用 **Jira Software** 扩展来配置该项目。该扩展不受此功能的支持。

有关更多信息，请参阅[创建空间](spaces-create.md)、[跟踪和组织处理问题的工作 CodeCatalyst跟踪和整理有关事务的工作](issues.md)、[为带有扩展程序的项目添加功能 CodeCatalyst使用扩展向项目添加功能](extensions.md)和[使用用户角色授予访问权限](ipa-roles.md)。

本教程基于使用带有 Python 的**现代三层 Web 应用程序**蓝图创建的项目。如果您使用的项目是用其他蓝图创建的，您仍然可以按照这些步骤进行操作，但有些细节会有所不同，例如示例代码和语言。

## 创建项目或添加功能时使用 Amazon Q 选择蓝图
<a name="getting-started-project-assistance-create-apply-bp"></a>

作为项目开发人员，在创建新项目或者向现有项目添加组件时，您可以与生成式人工智能助手 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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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。生成式人工智能助手会提供建议，并概述蓝图无法满足的要求。例如，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。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. 打开 CodeCatalyst 控制台，[网址为 https://codecatalyst.aws/](https://codecatalyst.aws/)。

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。生成式人工智能助手会提供建议，并概述蓝图无法满足的要求。例如，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 将在给定源存储库的上下文中分析事务，提供相关源文件和代码的摘要。有关更多信息，请参阅[创建事务并将其分配给 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 的**现代三层 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` 文件，请展开**测试**，展开 **integ**，然后选择 `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 开发者代理集成，用于软件开发。您可以将事务分配给名为 **Amazon Q** 的生成式人工智能助手，该助手可以根据事务的标题和描述来分析事务。如果您将事务分配给 Amazon Q，它将尝试创建解决方案草稿以供您评估。这有助于您和您的团队专注于并优化处理需要您关注的事务，而 Amazon Q 则专注于解决您没有资源来立即解决的问题。

**提示**  
**Amazon Q** 能够出色地处理简单的事务和问题。为了获得最佳结果，请使用简明易懂的语言来清楚地说明您要执行的操作。

当您将问题分配给 A **mazon 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 Software** 扩展的 Jira，则该功能不可用。此外，如果您自定义了面板的布局，则事务可能不会改变状态。为获得最佳效果，请仅在采用标准面板布局的项目中使用此功能。  
此功能不适用于 Git 子模块。它无法对存储库中包含的任何 Git 子模块进行更改。  
您将事务分配给 Amazon Q 后，就无法更改事务的标题或描述，也不能将其分配给其他任何人。如果您从事务中取消分配 **Amazon Q**，它将完成当前步骤，然后停止工作。一旦取消分配它，它就无法恢复工作或重新分配给事务。  
如果用户选择让 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 修改工作流文件**选择器设置为活动状态。创建事务以返回“事务”面板。
**提示**  
您可以通过输入 `@` 符号和文件名来搜索文件，包括工作流文件。

创建并分配事务后，事务将移至**处理中**。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 上添加一条注释，注明“通过在‘needs’和‘a’之间添加一个空格来更改描述，以修复拼写错误‘needsa’”。或者，您也可以添加一条注释，指示 Amazon Q 更新描述，并提供修改后的完整描述以便其采纳。

   如果您将新 mysfit 的图像上传到网站，您可以添加一条注释，让 Amazon Q 更新 mysfit，在其中添加用于新 mysfit 的图像和缩略图指针。
**注意**  
Amazon Q 不会回复个人注释。仅当您在创建事务时选择了在每个步骤后停止的默认选项，Amazon Q 才会将注释中留下的反馈纳入拉取请求中。

1. （可选）在您和其他项目用户留下您希望更改代码的所有注释后，选择**创建修订**，让 Amazon Q 创建拉取请求的修订，其中包含您在注释中请求的更改。Amazon Q 将在**概述**中报告修订创建进度，而不是在**更改**中报告。请务必刷新浏览器，以查看 Amazon Q 关于创建修订的最新更新。
**注意**  
只有创建了该事务的用户才能创建拉取请求的修订。对于一个拉取请求，您只能请求创建一个修订。在选择**创建修订**之前，请确保您已经解决了注释中的所有问题，并且对注释的内容感到满意。

1. 在此示例项目中，将为每个拉取请求运行一个工作流。在合并拉取请求之前，请确保看到工作流已成功运行。在合并之前，您也可以选择创建其他工作流和环境来测试代码。有关更多信息，请参阅 [入门工作流](workflows-getting-started.md)。

1. 如果您对拉取请求的最新修订感到满意，请选择**合并**。

## 创建事务并让 Amazon Q 为其推荐任务
<a name="getting-started-project-assistance-issue-to-tasks"></a>

问题有时可能包含复杂或漫长的工作量。 CodeCatalyst 包括与 Amazon Q 开发者代理集成，用于软件开发。您可以让 **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. 选择包含此事务的代码的源存储库。选择**开始建议任务**。

对话框将关闭，Amazon Q 将开始分析事务的复杂性。如果事务很复杂，则会建议将工作分解为单独且连续的任务。列表准备就绪后，选择**查看建议的任务**。您可以添加其他任务、修改建议的任务以及对任务重新排序。如果您同意这些建议，则选择**创建任务**可以创建任务。然后，您可以将这些任务分配给用户进行处理，甚至可以分配给 Amazon Q 本身。

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

完成本教程后，可以考虑采取以下操作来清理在本教程中创建的不再需要的所有资源。
+ 从不再处理的任何事务取消分配 Amazon Q。如果 Amazon Q 已完成对某个事务的处理或找不到解决方案，请务必取消分配 Amazon Q，以免达到生成式人工智能功能的最大配额。有关更多信息，请参阅 [Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html) 和 [Pricing](https://codecatalyst.aws/explore/pricing)。
+ 将所有已处理完的事务移至**完成**。
+ 如果不再需要该项目，请删除它。