

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 入門チュートリアル
<a name="getting-started-topnode"></a>

Amazon CodeCatalyst には、プロジェクトの開始に役立つさまざまなテンプレートが用意されています。また、空のプロジェクトから開始し、リソースを追加することもできます。以下のチュートリアルでは、ステップに沿って、CodeCatalyst で作業する方法を学ぶことができます。

CodeCatalyst を初めて使用する場合は、[チュートリアル:「Modern three-tier web application」ブループリントでプロジェクトを作成する](getting-started-template-project.md) から始めることをお勧めします。

**注記**  
チュートリアルを利用するには、まずセットアップを完了する必要があります。詳細については、「[CodeCatalyst をセットアップしてサインインするCodeCatalyst をセットアップしてサインインする](setting-up-topnode.md)」を参照してください。

**Topics**
+ [チュートリアル:「Modern three-tier web application」ブループリントでプロジェクトを作成する](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 Action を使用した lint コード](integrations-github-action-tutorial.md)
+ [チュートリアル: React アプリケーションの作成と更新](blueprint-getting-started-tutorial.md)

# チュートリアル:「Modern three-tier web application」ブループリントでプロジェクトを作成する
<a name="getting-started-template-project"></a>

ブループリントを使用してプロジェクトを作成することで、ソフトウェア開発をより迅速に開始できます。ブループリントで作成されたプロジェクトには、コードを管理するためのソースリポジトリや、アプリケーションをビルドおよびデプロイするためのワークフローなど、必要なリソースが含まれています。このチュートリアルでは、「**Modern three-tier web application**」ブループリントを使用して Amazon CodeCatalyst でプロジェクトを作成する方法を説明します。このチュートリアルには、デプロイされたサンプルの表示、他のユーザーによる作業の招待、プルリクエストによるコードの変更も含まれています。プルリクエストは、プルリクエストがマージされた AWS アカウント ときに自動的に構築され、接続された のリソースにデプロイされます。CodeCatalyst がレポート、アクティビティフィード、その他のツールを使用してプロジェクトを作成する場合、ブループリントは AWS プロジェクト AWS アカウント に関連付けられた にリソースを作成します。ブループリントファイルを使用すると、サンプルのモダンアプリケーションをビルドしてテストし、 AWS クラウドのインフラストラクチャにデプロイできます。

次の図は、CodeCatalyst のツールを使用して変更の追跡、マージ、自動ビルドの問題を作成し、CodeCatalyst プロジェクトでワークフローを開始して、 AWS CDK および によるインフラストラクチャの CloudFormation プロビジョニングを許可するアクションを実行する方法を示しています。

アクションは、関連付けられた にリソースを生成 AWS アカウント し、API Gateway エンドポイントを持つサーバーレス AWS Lambda関数にアプリケーションをデプロイします。 AWS Cloud Development Kit (AWS CDK) アクションは、1 つ以上の AWS CDK スタックを CloudFormation テンプレートに変換し、 にスタックをデプロイします AWS アカウント。スタック内のリソースには、動的ウェブコンテンツを配信する Amazon CloudFront リソース、アプリケーションデータ用の Amazon DynamoDB インスタンス、デプロイされたアプリケーションをサポートするロールとポリシーが含まれます。

![\[ソースリポジトリの変更による問題の作成からのコード変更。その後、自動的に構築され、 のリソースにデプロイされます。 AWS\]](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/modern-app-overview.png)


「**Modern three-tier web application**」ブループリントを使用してプロジェクトを作成すると、プロジェクトには次のリソースが作成されます。

**CodeCatalyst プロジェクトにデプロイされるリソース**:
+ サンプルコードとワークフロー YAML を含む[ソースリポジトリ](source.md)
+ デフォルトのブランチに変更が加えられるたびにサンプルコードをビルドおよびデプロイする[ワークフロー](workflow.md)
+ 作業の計画と追跡に使用できるイシューボードとバックログ
+ サンプルコードに自動レポートが含まれているテストレポートスイート

**関連付けられた で AWS アカウント**:
+ アプリケーションに必要なリソースを作成する 3 つの AWS CloudFormation スタック。

このチュートリアルの一部として AWS および CodeCatalyst で作成されるリソースの詳細については、「」を参照してください[リファレンス](#getting-started-template-project-reference)。

**注記**  
プロジェクトに含まれるリソースとサンプルは、選択するブループリントによって異なります。Amazon CodeCatalyst には、定義された言語またはフレームワークに関連するリソースを定義するいくつかのプロジェクトブループリントが用意されています。ブループリントの詳細については、「[CodeCatalyst ブループリントを使用した包括的なプロジェクトの作成ブループリントを使用した包括的なプロジェクトの作成](project-blueprints.md)」を参照してください。

**Topics**
+ [前提条件](#getting-started-template-project-prerequisites)
+ [ステップ 1:「Modern three-tier web application」プロジェクトを作成する](#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:「Modern three-tier web application」プロジェクトを作成する
<a name="getting-started-template-project-proj-create"></a>

作成したプロジェクトでは、コードの開発とテスト、開発タスクの調整、プロジェクトメトリクスの確認を行います。プロジェクトには、開発ツールとリソースも含まれています。

このチュートリアルでは、「**Modern three-tier web application**」ブループリントを使用して対話型アプリケーションを作成します。プロジェクトの一部として自動的に作成および実行されるワークフローにより、アプリケーションのビルドとデプロイが行われます。ワークフローは、スペースですべてのロールとアカウント情報が設定されている場合にのみ正常に実行されます。ワークフローが正常に実行されたら、エンドポイント URL にアクセスしてアプリケーションを確認できます。

**ブループリントを使用してプロジェクトを作成する**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. CodeCatalyst コンソールで、プロジェクトを作成するスペースに移動します。

1. **[プロジェクトを作成]** を選択します。

1. **[ブループリントから始める]** を選択します。

1. [Search] バーに「**modern**」と入力します。

1. **[Modern three-tier web application]** ブループリントを選択し、**[次へ]** を選択します。

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 リージョン のリージョンコードを入力します。リージョンコードの一覧については、「*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. プロジェクトのユーザーとして招待するユーザーの E メールアドレスを入力します。スペースまたはカンマで区切って複数の E メールアドレスを入力できます。また、プロジェクトのメンバーではないスペースのメンバーから選択することもできます。

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 開発環境のサポートファイルが含まれています。
+ **cdkStacks** ディレクトリ – のインフラストラクチャを定義する AWS CDK スタックファイルが含まれます AWS クラウド。
+ **src** ディレクトリ アプリケーションソースコードが含まれます。
+ **tests** ディレクトリ – アプリケーションの構築とテスト時に実行される自動 CI/CD ワークフローの一部として実行される統合テストとユニットテストのファイルが含まれます。
+ **web** ディレクトリ – フロントエンドソースコードが含まれます。その他のファイルには、プロジェクトに関する重要なメタデータを含む `package.json` ファイル、ウェブサイトの `index.html` ページ、lint 処理コードの `.eslintrc.cjs` ファイル、ルートファイルとコンパイラオプションを指定するための `tsconfig.json` ファイルなどのプロジェクトファイルが含まれます。
+ `Dockerfile` ファイル – アプリケーションのコンテナを記述しています。
+ `README.md` ファイル – プロジェクトの設定情報が含まれています。

**プロジェクトのソースリポジトリに移動するには**

1. プロジェクトに移動して、次のいずれかを実行します。
   + プロジェクトの要約ページで、リストから必要なリポジトリを選択し、**[リポジトリの表示]** を選択します。
   + ナビゲーションペインで **[コード]** を選択してから、**[ソースリポジトリ]** を選択します。**[ソースリポジトリ]** のリストから、リポジトリの名前を選択します。リポジトリのリストをフィルタリングするには、フィルタバーにリポジトリ名の一部を入力します。

1. リポジトリのホームページで、リポジトリの内容と、プルリクエストやワークフローの数など、関連リソースに関する情報を表示します。デフォルトでは、デフォルトブランチの内容が表示されます。ドロップダウンリストから別のブランチを選択することで、ビューを変更できます。

## ステップ 5: テストブランチを使用して開発環境を作成し、コードをすばやく変更する
<a name="getting-started-template-project-create-devenvironment"></a>

開発環境を作成することで、ソースリポジトリ内のコードですばやく作業できます。このチュートリアルでは、次のことを前提としています。
+  AWS Cloud9 開発環境を作成します。
+ 開発環境を作成するときに、**main** ブランチから分岐した新しいブランチで作業するオプションを選択する。
+ この新しいブランチに `test` という名前を使用する。

後のステップでは、開発環境を使用してコードを変更し、プルリクエストを作成します。

**新しいブランチで開発環境を作成するには**

1. [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. ワークフローのリストを確認します。次の 4 つのワークフローが表示されているはずです。
   + 上の 2 つのワークフローは、先ほど「[ステップ 5: テストブランチを使用して開発環境を作成し、コードをすばやく変更する](#getting-started-template-project-create-devenvironment)」で作成した `test` ブランチに対応しています。これらのワークフローは、`main` ブランチのワークフローのクローンです。**ApplicationDeploymentPipeline** は、`main` ブランチで使用するように設定されているため、アクティブではありません。プルリクエストが行われていないため、**OnPullRequest** ワークフローは実行されませんでした。
   + 下の 2 つのワークフローは、以前にブループリントを実行したときに作成された `main` ブランチに対応しています。**ApplicationDeploymentPipeline** ワークフローはアクティブで、進行中の (または完了した) 実行があります。
**注記**  
**ApplicationDeploymentPipeline** の実行が **Build@cdk\$1bootstrap** エラーまたは **DeployBackend** エラーで失敗する場合、以前に「Modern three-tier web application」を実行しており、古いリソースが現在のブループリントと競合していた可能性があります。これらの古いリソースを削除してから、ワークフローを再実行する必要があります。詳細については、「[リソースをクリーンアップする](#getting-started-template-project-clean-up)」を参照してください。

1. `main` ブランチに関連付けられた **ApplicationDeploymentPipeline** ワークフローを下部で選択します。このワークフローは、`main` ブランチのソースコードを使用して実行されました。

   ワークフロー図が表示されます。この図は、タスクまたは*アクション*を表す複数のブロックを示しています。ほとんどのアクションは垂直に配置され、上のアクションは、その下にあるアクションの前に実行されます。隣り合わせに配置されたアクションは並列で実行されます。グループ化されたアクションは、その下のアクションを開始する前に、すべて正常に実行する必要があります。

   メインブロックは次のとおりです。
   + **WorkflowSource** – このブロックはソースリポジトリを表します。ソースリポジトリ名 (**mysfits **) と、ワークフロー実行を自動的に開始したコミットなどの情報が表示されます。このコミットは、プロジェクトの作成時に CodeCatalyst によって生成されました。
   + **Build** – このブロックはグループ化された 2 つのアクションで構成されており、どちらも成功しないと次のアクションが開始されません。
   + **DeployBackend** – このブロックは、アプリケーションのバックエンドコンポーネントを AWS クラウドにデプロイするアクションを表します。
   + **Tests** – このブロックは、グループ化された 2 つのテストアクションで構成されており、どちらも成功しないと次のアクションが開始されません。
   + **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/ja_jp/codecatalyst/latest/userguide/images/flows/run-in-progress.png)) が「成功」アイコン (![\[Workflow success.\]](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/flows/run-success.png)) に変わるのを確認します。

1. **[build\$1backend]** アクションを選択します。

1. **[Logs]** タブを選択し、いくつかのセクションを展開して、これらのステップのログメッセージを表示します。バックエンド設定に関連するメッセージが表示されます。

1. **[レポート]** タブを選択し、`backend-coverage.xml` レポートを選択します。CodeCatalyst に、関連するレポートが表示されます。このレポートには、実行されたコードカバレッジテストが表示され、80% など、テストによって正常に検証されたコード行の割合が表示されます。

   テストレポートの詳細については、「[ワークフローを使用したテストワークフローを使用したテスト](test-workflow-actions.md)」を参照してください。
**ヒント**  
テストレポートは、ナビゲーションペインで **[レポート]**を選択して表示することもできます。

1. CodeCatalyst コンソールを開いたままにして、次の手順に進みます。

**モダンアプリケーションが正常にデプロイされたことを確認するには**

1. **ApplicationDeploymentPipeline** ワークフローに戻り、最新の実行の **Run-*string*** リンクを選択します。

1. ワークフロー図で、**DeployFrontend** アクションを検索し、**[アプリを表示]** リンクを選択します。Mysfit ウェブサイトが表示されます。
**注記**  
**DeployFrontend** アクション内に **[アプリを表示]** リンクが表示されない場合は、実行 ID リンクを選択します。

1. **Twilight Glitter** という名前のペガサス Mysfit を検索します。年齢の値を書き留めます。`6` です。年齢を更新するために、コードを変更します。

## ステップ 7: 他のユーザーに変更を確認してもらう
<a name="getting-started-template-project-pull-request"></a>

`test` という名前のブランチに変更を加えたので、プルリクエストを作成して、他のユーザーにレビューしてもらいます。次の手順を実行して、`test` ブランチから `main` ブランチに変更をマージするプルリクエストを作成します。

**プルリクエストを作成するには**

1. プロジェクトに移動します。

1. 次のいずれかを行います。
   + ナビゲーションペインで、**[コード]**、**[プルリクエスト]**、**[プルリクエストを作成]** の順に選択します 
   + リポジトリのホームページで、**[その他]**、**[プルリクエストの作成]** の順に選択します。
   + [プロジェクト] ページで、**[プルリクエストを作成]** を選択します。

1. **[ソールリポジトリ]** で、指定したソースリポジトリがコミットしたコードを含むリポジトリであることを確認します。このオプションは、リポジトリのメインページでプルリクエストを作成しなかった場合のみに表示されます。

1. **[ターゲットブランチ]** で、コードのレビュー後、マージ先となるブランチを選択します。

1. **[ソースブランチ]** でコミットしたコードを含むブランチを選択します。

1. **[プルリクエストのタイトル]** に、ユーザーが確認すべき内容と理由が理解しやすい件名を入力します。

1. (オプション) **[プルリクエストの説明]** で、問題へのリンクや変更の説明などの情報を指定します。
**ヒント**  
**[説明を記述する]** を選択すると、プルリクエストに含まれる変更の説明を CodeCatalyst が自動生成します。自動的に生成された説明は、プルリクエストに追加した後で変更できます。  
この機能を使用するには、生成 AI 機能がスペースで有効になっている必要があります。また、リンクされたリポジトリのプルリクエストでは使用できません。詳細については、「[Managing generative AI features](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. プルリクエストに使用可能なマージ戦略のいずれかを選択します。必要に応じて、プルリクエストをマージした後にソースブランチを削除するオプションを選択または選択解除し、**[マージ]** を選択します。
**注記**  
**[マージ]** ボタンがアクティブになっていない、または**[マージ不可]** ラベルが表示されている場合は、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 を再読み込みします。ペガサスを表示して、年齢が変更されたことを確認します。  
![\[マージ、ビルド、デプロイが済んだコード変更がアプリケーションに表示される\]](http://docs.aws.amazon.com/ja_jp/codecatalyst/latest/userguide/images/modified-mysfits.png)

## ステップ 8: 問題を解決済みに設定する
<a name="getting-started-template-project-close-issue"></a>

問題が解決したら、CodeCatalyst コンソールで解決済みに設定することができます。

**プロジェクトの問題を解決済みに設定するには**

1. プロジェクトに移動します。

1. ナビゲーションペインで、**[問題]** を選択します。

1. 問題を **[完了]** 列にドラッグアンドドロップします。

詳細については、「[CodeCatalyst で問題を使用して作業の追跡と整理を行う問題を使用して作業を追跡して整理する](issues.md)」を参照してください。

## リソースをクリーンアップする
<a name="getting-started-template-project-clean-up"></a>

CodeCatalyst と でクリーンアップ AWS して、このチュートリアルのトレースを環境から削除します。

このチュートリアルに使用したプロジェクトを引き続き使用することも、プロジェクトとその関連リソースを削除することもできます。

**注記**  
このプロジェクトを削除すると、すべてのメンバーのプロジェクト内のすべてのリポジトリ、問題、アーティファクトが削除されます。

**プロジェクトを削除するには**

1. プロジェクトに移動し、**[プロジェクト設定]** を選択します。

1. **[General]** (全般) タブを選択します。

1. プロジェクト名で、**[プロジェクトの削除]** を選択します。

**CloudFormation および Amazon S3 でリソースを削除するには**

1. CodeCatalyst スペースに追加したのと同じアカウント AWS マネジメントコンソール で にサインインします。

1. **CloudFormation** サービスに移動します。

1. **mysfits*string*** スタックを削除します。

1. **development-mysfits*string*** スタックを削除します。

1. **CDKToolkit** スタックを選択します (削除はしないでください)。**[リソース]** タブを選択してください。**StagingBucket** リンクをクリックし、Amazon S3 でバケットとバケットの内容を削除します。
**注記**  
このバケットを手動で削除しないと、「Modern three-tier web application」ブループリントを再実行するときにエラーが表示されることがあります。

1. (オプション) **CDKToolkit** スタックを削除します。

## リファレンス
<a name="getting-started-template-project-reference"></a>

Modern 3 層ウェブアプリケーションのブループリントは、CodeCatalyst スペースと AWS クラウド内のアカウントに AWS リソースをデプロイします。各リソースは次のとおりです。
+ **CodeCatalyst スペースにデプロイされるリソース**:
  + 次のリソースを含む CodeCatalyst プロジェクト。
    + [ソースリポジトリ](source.md) – このリポジトリには、「Mysfits」ウェブアプリケーションのサンプルコードが含まれています。
    + [ワークフロー](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** スタック — このスタックは、次のバックエンドリソースをデプロイします。
    + Amazon API Gateway エンドポイント。
    + AWS スタック内のリソースをサポートする IAM ロールとポリシー。
    +  AWS Lambda 関数とレイヤーは、最新のアプリケーション用のサーバーレスコンピューティングプラットフォームを提供します。
    + バケットデプロイと 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 API を作成、公開、維持、モニタリング、セキュア化するためのサービス。詳細については、「[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 アプリケーションやスタックを操作するためのコマンドラインツールである AWS CDK Toolkit が含まれています。詳細については、「[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>

空のプロジェクトを作成するには、**[スペース管理者]** または **[パワーユーザー]** ロールを割り当てる必要があります。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://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

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. [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. プロジェクトのユーザーとして招待するユーザーの E メールアドレスを入力します。スペースまたはカンマで区切って複数の E メールアドレスを入力できます。また、プロジェクトのメンバーではないスペースのメンバーから選択することもできます。

1. ユーザーのロールを選択します。

   ユーザーの追加が完了したら、**[招待]** を選択します。

## 作業を共同作業して追跡するための問題を作成する
<a name="getting-started-bt-issue"></a>

CodeCatalyst は、問題のあるプロジェクトに関連する機能、タスク、バグ、その他の作業を追跡するのに役立ちます。必要な作業やアイデアを追跡するための問題を作成できます。デフォルトでは、問題を作成するとバックログに追加されます。進行中の作業を追跡するボードに問題を移動できます。特定のプロジェクトメンバーに問題を割り当てることもできます。

**プロジェクトの問題を作成するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

   問題を作成するプロジェクトをナビゲートしていることを確認してください。すべてのプロジェクトを表示するには、ナビゲーションペインで **[Amazon CodeCatalyst]** を選択し、必要に応じて **[すべてのプロジェクトを表示]** を選択します。問題を作成または処理するプロジェクトを選択します。

1. ナビゲーションペインで、**[トラック]** を選択し、次に **[バックログ]** を選択します。

1. **[問題の作成]** を選択します。

1. **[問題タイトル]**で、問題の名前を指定します。必要に応じて、問題の説明を入力します。必要に応じて、問題のステータス、優先度、見積りを選択します。プロジェクトメンバーの一覧からプロジェクトメンバーに問題を割り当てることもできます。
**ヒント**  
**[Amazon Q]** に問題を割り当てることで、Amazon Q で問題の解決を試みることができます。試行が成功すると、プルリクエストが作成され、問題のステータスが **[レビュー中]** に変わり、コードを確認してテストできるようになります。詳細については、「[チュートリアル: CodeCatalyst の生成 AI 機能を使用して開発作業を高速化する](getting-started-project-assistance.md)」を参照してください。  
この機能を使用するには、スペースに対して生成 AI 機能を有効にする必要があります。詳細については、「[Managing generative AI features](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>

Amazon CodeCatalyst で、生成 AI 機能が有効になっているスペースにプロジェクトとソースリポジトリがある場合は、これらの機能を使用してソフトウェア開発を高速化できます。デベロッパーは日頃から、対応しきれないほどのタスクを抱え、時間不足に悩まされています。コードの変更をプルリクエストとして提出する際、説明なしでも他のユーザーが変更内容を理解できるだろうと考え、チームメンバーにコード変更について説明する時間を割かないことがよくあります。プルリクエストの作成者やレビュアーも、プルリクエストのすべてのコメントを徹底的に探し出して読む時間はありません。プルリクエストに複数のリビジョンがある場合はなおさらです。CodeCatalyst は Amazon Q Developer Agent for Software Development と統合されており、これにより、タスクの完了にかかる時間を短縮し、チームメンバーが最も重要な作業に集中できる時間を増やすのに役立つ生成 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 を利用**: [自動不正検出](https://docs.aws.amazon.com//bedrock/latest/userguide/abuse-detection.html) AWS を実装します。Amazon Q Developer Agent for Software Development の「**説明を記述する**」、「**内容の要約を作成する**」、「**タスクを推奨する**」、「**Amazon Qを使用してプロジェクトに機能を作成または追加する**」、「**Amazon Q に問題を割り当てる**」機能は Amazon Bedrock を基盤に構築されているため、ユーザーは Amazon Bedrock に実装されている統制を最大限に活用して、AI の安全性、セキュリティ、責任ある使用を徹底することができます。

このチュートリアルでは、CodeCatalyst の生成 AI 機能を使用して、ブループリントを使用してプロジェクトを作成し、既存のプロジェクトにブループリント追加する方法を説明します。さらに、プルリクエストを作成するときにブランチ間の変更を要約し、プルリクエストに残されたコメントを要約する方法も説明します。また、コードの変更や改善に関するアイデアを問題として作成し、Amazon Q に割り当てる方法についても説明します。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 機能を使用するには、まず、次のリソースにアクセスするためのタスクを完了している必要があります。
+ CodeCatalyst にサインインするための AWS Builder ID またはシングルサインオン (SSO) ID を持っている。
+ 生成 AI 機能が有効になっているスペースに入っている。詳細については、「[Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)」を参照してください。
+ そのスペースのプロジェクトで、コントリビューターまたはプロジェクト管理者のロールを持っている。
+ 生成 AI を使用してプロジェクトを作成する場合を除き、既存のプロジェクトに少なくとも 1 つのソースリポジトリが設定されている。リンクされたリポジトリはサポートされていません。
+ 最初のソリューションを生成 AI に作成させるようにして問題を割り当てる場合、プロジェクトを **Jira Software** 拡張機能で設定することはできません。拡張機能はこの機能ではサポートされていません。

詳細については、「[スペースを作成する](spaces-create.md)」、「[CodeCatalyst で問題を使用して作業の追跡と整理を行う問題を使用して作業を追跡して整理する](issues.md)」、「[CodeCatalyst で拡張機能を持つプロジェクトに機能を追加する拡張機能を使用してプロジェクトに機能を追加する](extensions.md)」、および「[ユーザーロールによってアクセス権を付与する](ipa-roles.md)」を参照してください。

このチュートリアルは、Python を使用した「**Modern three-tier web application**」ブループリントを使用して作成されたプロジェクトに基づいています。別のブループリントで作成されたプロジェクトを使用する場合でも、手順に沿って進めることはできますが、サンプルコードや言語など、一部の詳細が異なります。

## プロジェクトの作成時または機能の追加時に 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 の提案に問題がなければ、次に進むことができます。Amazon Q により、要件に合ったコードを含むソースリポジトリなどの必要なリソースが作成されます。Amazon Q は、ブループリントで満たすことができない要件についての問題も作成します。使用可能な CodeCatalyst ブループリントの詳細については、「[CodeCatalyst ブループリントを使用した包括的なプロジェクトの作成ブループリントを使用した包括的なプロジェクトの作成](project-blueprints.md)」を参照してください。ブループリントと Amazon Q と併せて使用する方法については、「[Amazon Q を使用したプロジェクトの作成やブループリントの機能追加のベストプラクティス](projects-create.md#projects-create-amazon-q)」を参照してください。

**Amazon Q でプロジェクトを作成するには**

1. [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 が、ブループリントを使用してリソースを作成します。例えば、「Single-page application」ブループリントを使用してプロジェクトを作成すると、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 を使用して新しいコンポーネントを追加することもできます。これは、Amazon Q が要件に基づいて CodeCatalyst ブループリントを提案するためです。

**Amazon Q を使用してブループリントを追加するには**

1. [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 が、ブループリントを使用してリソースを作成します。例えば、「Single-page application」ブループリントを使用してプロジェクトに追加すると、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 ベースの「**Modern three-tier web application**」ブループリントで作成されたプロジェクトに含まれるコードに簡単な変更を加えてテストします。

**ヒント**  
別のブループリントまたは独自のコードで作成されたプロジェクトを使用する場合でも、このチュートリアルに沿って進めることはできますが、このチュートリアルの例は実際のプロジェクトのコードと一致しません。以下の推奨例の代わりに、ブランチでプロジェクトのコードに簡単な変更を加え、次の手順で示すようにプルリクエストを作成して機能をテストしてください。

まず、ソースリポジトリにブランチを作成します。その後、コンソールのテキストエディタを使用して、そのブランチのファイルで簡単なコード変更を行います。次に、プルリクエストを作成し、「**説明を記述する**」機能を使用して、変更内容を要約します。

**ブランチを作成するには (コンソール)**

1. CodeCatalyst コンソールで、ソースリポジトリが存在するプロジェクトに移動します。

1. プロジェクトのソースリポジトリのリストからリポジトリ名を選択します。または、ナビゲーションペインで **[コード]**、**[ソースリポジトリ]** の順に選択します。

1. ブランチを作成するリポジトリを選択します。

1. リポジトリの概要ページで、**[その他]**、**[ブランチの作成]** の順に選択します。

1. ブランチの名前を入力します。

1. ブランチ元となるブランチを選択して **[作成]** を選択します。

ブランチを作成したら、そのブランチ内のファイルに簡単な変更を加えます。この例では、`test_endpoint.py` ファイルを編集して、テストの再試行回数を **3** から **5** に変更します。

**ヒント**  
また、開発環境を作成または使用して、コード変更を行うこともできます。詳細については、「[開発環境の作成](devenvironment-create.md)」を参照してください。

**コンソールで `test_endpoint.py` ファイルを編集するには**

1. **mysfits** ソースリポジトリの概要ページで、ブランチのドロップダウンから、前の手順で作成したブランチを選択します。

1. **[ファイル]** で、編集するファイルに移動します。例えば、`test_endpoint.py` ファイルを編集するには、**[tests]**、**[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 Developer Agent for Software Development との統合機能が含まれています。**Amazon Q** という生成 AI アシスタントに問題を割り当て、問題の件名とその説明に基づいて問題を分析させることができます。Amazon Q に問題を割り当てると、評価用のソリューションの試案を作成しようとします。これにより、すぐにリソースを割くことができない問題の解決には Amazon Q を活用しながら、自分やチームは注意が必要な問題に集中して取り組むことで最適化を図ることができます。

**ヒント**  
**Amazon Q** は、単純な課題や簡単な問題で優れたパフォーマンスを発揮します。最良の結果を得るには、何をしてもらいたいかを明確に説明する簡潔な表現を使用してください。

**Amazon Q** に問題を割り当てると、CodeCatalyst では、ユーザーがAmazon Q に問題にどのように対処させるかを決定するまで、問題はブロックされたものとしてマークされます。続行するには、次の 3 つの質問に回答する必要があります。
+  Amazon Q が実行するステップを 1 つ 1 つ確認するか、フィードバックなしで続行するか。各ステップを確認する場合は、Amazon Q が作成するアプローチに関するフィードバックを返信することができます。これにより、Amazon Q が、必要に応じてそのアプローチを繰り返し行うことができます。このオプションを選択した場合、Amazon Q は、ユーザーが作成するプルリクエストに対して残すフィードバックをレビューすることもできます。各ステップを確認しない場合、Amazon Q は作業をより迅速に完了するかもしれませんが、その問題や作成したプルリクエストでユーザーが提供したフィードバックをレビューすることはありません。
+ ワークフローファイルを作業の一部として更新することを許可するかどうか。プロジェクトで、プルリクエストのイベントで実行を開始するようにワークフローが設定されている場合があります。その場合、Amazon Q が作成する、ワークフロー YAML の作成または更新を含むプルリクエストは、プルリクエストに含まれるワークフローの実行を開始する可能性があります。ベストプラクティスとして、Amazon Q がワークフローファイルを操作することを許可しないでください。許可する場合は、Amazon Q が作成したプルリクエストをレビューして承認する前に、これらのワークフローを自動的に実行するワークフローがプロジェクトにないことを確認してください。
+ 問題内の作業をより細かい単位に分割し、Amazon Q 自身を含む個々のユーザーに割り当てられるように、タスクの作成を提案できるようにするかどうか。Amazon Q がタスクを提案して作成できるようにすると、複雑な問題の解決において、複数のユーザーが問題の個別の部分に取り組むことができるため、開発を加速できます。また、各タスクを完了するのに必要な作業は、その元となる問題よりも単純であるはずのため、作業全体を理解するにあたっての複雑さを軽減できます。
+ どのソースリポジトリで作業させるか。プロジェクトに複数のソースリポジトリがある場合でも、Amazon Q は 1 つのソースリポジトリでしかコードを操作できません。リンクされたリポジトリはサポートされていません。

選択を行い、確定すると、**Amazon Q** は問題を **[進行中]** の状態に移行し、問題のタイトルとその説明に加え、指定されたリポジトリ内のコードを基に、リクエストの内容を判断しようとします。ピン留めされたコメントが作成され、ここに作業のステータスに関する最新情報が提供されます。データを確認した後、Amazon Q はソリューションに対して考えられるアプローチを策定します。Amazon Q は、ピン留めされたコメントを更新し、すべての段階で問題の進行状況についてコメントすることで、アクションを記録します。ピン留めされたコメントや返信とは異なり、その作業の記録を厳密に時系列で保存しません。代わりに、ピン留めされたコメントの最上位に、その作業に関する最も関連性の高い情報を配置します。リポジトリに既に存在するコードのアプローチと分析に基づいてコードを作成しようとします。潜在的なソリューションを正常に生成すると、ブランチが作成され、そのブランチにコードがコミットされます。次に、そのブランチをデフォルトのブランチとマージするプルリクエストを作成します。Amazon Q が作業を完了すると、問題が **[レビュー中]** に切り替わり、評価の準備ができたコードがあるという通知がユーザーとチームに届きます。

**注記**  
この機能は、米国西部 (オレゴン) リージョンの **[問題]** でのみ使用できます。プロジェクトで Jira と **Jira Software** 拡張機能を使用するように設定している場合は利用できません。さらに、ボードのレイアウトをカスタマイズしている場合は、問題の状態が変更されない場合があります。最良の結果を得るには、この機能は標準ボードレイアウトのプロジェクトでのみ使用してください。  
この機能は Git サブモジュールでは機能しません。リポジトリに含まれる Git サブモジュールに変更を加えることはできません。  
Amazon Q に問題を割り当てると、問題のタイトルや説明を変更したり、他のユーザーに割り当てたりすることはできません。**Amazon Q** を問題から割り当て解除すると、現在のステップを完了した後、作業を停止します。割り当てを解除すると、作業を再開させたり、問題を再び割り当てたりすることはできません。  
Amazon Q にタスクの作成を許可した場合、Amazon Q に割り当てられた問題を自動的に **[レビュー中]** 列に自動的に移動させることができます。ただし、**[レビュー中]** の問題には、**[進行中]** など、別の状態のタスクがまだ存在する場合があります。

チュートリアルのこの部分では、「**Modern three-tier web application**」ブループリントで作成されたプロジェクトに含まれるコードの潜在的な特徴に基づいて 3 つの問題を作成します。1 つは新しい mysfit クリーチャーを作成するための機能を追加し、もう 1 つはソート機能を追加し、もう 1 つは **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 にアプローチを最大 3 回変更させることができます。作業内容をレビューできるようにすべてのステップの後に 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 によるタスクの提案を許可した場合は、提案されたタスクを確認し、必要なアクションを実行します。例えば、Amazon Q によってタスクが提案され、タスクの順序を変更したり、特定のユーザーに割り当てたりする場合は、**[タスクの変更、追加、順序変更]** を選択し、必要な更新を実行します。問題の表示が完了したら、**[X]** を選択して問題ペインを閉じます。
**ヒント**  
タスクの進行状況を確認するには、問題のタスクのリストからタスクを選択します。タスクはボードに個別の項目として表示されず、問題を通じてのみアクセスできます。タスクが Amazon Q に割り当てられている場合は、タスクを開いて、実行しようとしているアクションを承認する必要があります。また、リンクされたプルリクエストは、問題ではリンクとして表示されず、タスクでのみ表示されるため、確認するには、タスクを開く必要があります。タスクから問題に戻るには、問題へのリンクを選択します。

1. 次に、Amazon Q に割り当てられた **[レビュー中]** の問題を選択します。Amazon Q が問題の説明に記録した背景とアプローチをレビューします。実行されたアクションを把握するために、コメントをレビューして、進捗状況、実行する必要があるアクション、コメントなど、この問題に関連する作業用に作成されたタスクを確認します。**[プルリクエスト]** で、**[未解決]** ラベルの横にあるプルリクエストへのリンクを選択してコードをレビューします。
**ヒント**  
タスクに対して生成されたプルリクエストは、タスクビューにリンクされたプルリクエストとしてのみ表示されます。問題に対するリンクされたプルリクエストとしては表示されません。

1. プルリクエストで、コードの変更をレビューします。詳細については、「[プルリクエストのレビュー](pull-requests-review.md)」を参照してください。Amazon Q の提案したコードを変更したい場合は、プルリクエストにコメントを残します。より良い結果を得るために、Amazon Q へのコメントは具体的に記入してください。

   例えば、**Create another mysfit named Quokkapus** に対して作成されたプルリクエストをレビューしている際に、説明に誤字があることに気付くかもしれません。「『needsa』の『needs』と『a』の間にスペースを追加して誤字を修正し、説明を変更してください」というコメントを Amazon Q に対して残すことができます。または、Amazon Q に説明を更新し、変更した説明全文を取り入れるように指示するコメントを残すこともできます。

   新しい mysfit の画像をウェブサイトにアップロードした場合は、新しい mysfit に使用する画像とサムネイルへのポインタで mysfit を更新するように指示するコメントを Amazon Q に残すことができます。
**注記**  
Amazon Q は個々のコメントには応答しません。Amazon Q がプルリクエストのコメントに残されたフィードバックを取り入れるのは、問題の作成時に、承認を受けるために各ステップの後に停止するデフォルトのオプションを選択した場合のみです。

1. (オプション) コードの変更に必要なすべてのコメントを残したら、**[リビジョンを作成]** を選択して、コメントでリクエストした変更を取り入れたプルリクエストのリビジョンを Amazon Q に作成させます。Amazon Q によるリビジョン作成の進行状況の報告は、**[変更]** ではなく **[概要]** で確認できます。リビジョンの作成時に関する Amazon Q からの最新情報を確認するには、ブラウザを更新してください。
**注記**  
プルリクエストのリビジョンを作成できるのは、問題を作成したユーザーのみです。プルリクエストのリビジョンは 1 回のみリクエストできます。コメントに関するすべての問題に対処し、コメントの内容に満足していることを確認してから、**[リビジョンを作成]** を選択します。

1. このサンプルプロジェクトのプルリクエストごとにワークフローが実行されます。プルリクエストをマージする前に、ワークフローが正常に実行されていることを確認してください。マージする前にコードをテストするための追加のワークフローと環境を作成することもできます。詳細については、「[初めてのワークフロー](workflows-getting-started.md)」を参照してください。

1. プルリクエストの最新のリビジョンに満足したら、**[マージ]** を選択します。

## 問題を作成し、Amazon Q にタスクを推奨させる
<a name="getting-started-project-assistance-issue-to-tasks"></a>

問題には、複雑な作業や長時間の作業が含まれる場合があります。CodeCatalyst には、Amazon Q Developer Agent for Software Development との統合機能が含まれています。**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 の割り当てを解除して、生成 AI 機能のクォータ上限に達しないようにします。詳細については、「[Managing generative AI features](https://docs.aws.amazon.com/codecatalyst/latest/adminguide/managing-generative-ai-features.html)」および「[Pricing](https://codecatalyst.aws/explore/pricing)」を参照してください。
+ 作業が完了した問題を **[完了]** に移動する。
+ プロジェクトが不要になった場合は、プロジェクトを削除する。