running-release-tests について
AWS DevOps Agent の Release Testing Agent を使ったクラウド上のリリーステストを案内するスキルです。UI・API テストの実行、ジョブ監視、レポート取得を扱い、リリース検証に利用できます。
主な機能
- 01クラウドでの UI・API テスト
- 02既存テストプロファイルの利用
- 03ジョブ状態と実行記録の監視
- 04テストレポートの取得と保存
- 05ジョブのキャンセルと AWS CLI による代替
活用シーン
- 01リリース前の Web UI 検証
- 02OpenAPI 仕様に基づく API テスト
- 03テスト進捗の追跡と結果レポートの取得
MCP 対応
AWS DevOps Agent の MCP ツールでリリーステストのジョブ作成・監視とレポート取得を行います。ツールが利用できない場合の AWS CLI による代替手順も記載されています。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ aws/ agent-toolkit-for-aws --skill running-release-testsインストール後、Claude Code で/running-release-testsを入力して読み込まれたか確認します。
詳細
リリーステスト
AgentSpace のルーティング(SigV4 のみ): ツールリストに
list_agent_spacesがあり、このセッションでマルチスペースオーケストレーションスキルがまだ呼び出されていない場合は、まずそれを呼び出して、使用するagent_space_idを確認してください。その後、以下のすべてのツール呼び出しでagent_space_idを指定してください。ベアラートークン認証の場合は不要です。トークンはすでに 1 つのスペースにスコープされています。
AWS DevOps Agent の Release Testing Agent を使用して、クラウド上でリリーステストを自動実行します。UI テスト(ブラウザーを使用)と API テスト(OpenAPI 仕様を使用)に対応しています。ターゲット URL、エージェントの種類、ペルソナ、認証情報を定義した既存のテストプロファイルを使用します。
入力はテストプロファイルです。テストプロファイルには、ターゲット URL、エージェントの種類(UI または API)、テストペルソナ、認証情報がすでに含まれています。ユーザーに URL を直接尋ねないでください。URL はテストプロファイルで定義されています。
前提条件
- AWS DevOps Agent コンソールで作成された既存のテストプロファイル(
ki-12345のような Knowledge Item ID)
テストパラメーターの収集
ワークフローを開始する前に、以下のパラメーターを必ず収集してください。回答を得るまでジョブの作成に進まないでください。
ステップ 1 — テストプロファイル(必須)
使用するテストプロファイルをユーザーに尋ねてください。テストプロファイルには、ターゲット URL、エージェントの種類(UI または API)、テストペルソナ、認証情報の設定がすでに含まれているため、これらを個別に収集する必要はありません。
注: 既存のテストプロファイルが前提条件です。テストプロファイルは AWS DevOps Agent コンソールまたは API で作成するもので、このツールからは作成できません。ここで作成できるか尋ねられた場合は、事前に作成済みである必要があることを伝えてください。
ステップ 2 — テスト要件(任意)
ユーザーがテストの重点項目をまだ伝えていない場合は、次のように尋ねてください。
「特定のテスト要件や重点領域はありますか? なければ、包括的な探索テストを実行します。」
ユーザーの回答を待ってください。回答があれば、それを test_requirement として使用します。「いいえ」と答えた場合や、回答を省略した場合は、要件を指定せずに進めてください。
重要:ジョブの作成に進む前に、必ずユーザーの回答を待ってください。
基本的なワークフロー
1. Agent Space を選択する
利用可能なエージェントスペースを一覧表示します。
aws devops-agent list-agent-spaces --region us-east-1
一覧をユーザーに提示し、使用するエージェントスペースを尋ねてください。ユーザーが選択するまで先に進まないでください。 選択された agentSpaceId を、以降のすべての呼び出しで SPACE_ID として使用します。
2. ツールの利用可能状況を確認する
次のツールが利用可能か確認します。aws_devops_agent__create_release_testing_job、aws_devops_agent__get_task、aws_devops_agent__list_journal_records、aws_devops_agent__get_release_ui_testing_report、aws_devops_agent__get_release_api_testing_report。これらのツールは遅延ロードされません。ツールリストに表示されない場合は利用できません。ToolSearch で検索しないでください。いずれかのツールが見つからない場合は、このセクションの残りの手順をスキップし、代わりに以下の「フォールバック(aws-mcp)」の手順を使用してください。
3. ジョブを開始する
aws_devops_agent__create_release_testing_job(
test_profile_id="ki-12345",
webhook_event_message="<optional test requirement>"
)
→ {"taskId": "...", "executionId": "...", "status": "started"}
応答から taskId と executionId を記録します。
4. ステータスを確認する
ステータスが IN_PROGRESS または終端状態に遷移するまで、30 秒ごとに aws_devops_agent__get_task(task_id=TASK_ID) を呼び出します。
5. 完了まで監視する
IN_PROGRESS になったら、以下のループで進捗を確認します。
aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC")を呼び出して、新しい調査結果を取得します。- 各レコードを、親しみやすい進捗報告とともにユーザーに提示します。
- 以降のポーリングでは、応答の
next_tokenを使用して新しいレコードのみを取得します。 - ポーリングの各反復の間に 20 秒待機します。
aws_devops_agent__get_task(task_id=TASK_ID)を定期的に確認し、終端ステータス(COMPLETED、FAILED、CANCELED、TIMED_OUT)になったら停止します。
6. 結果の提示
ジョブが終了状態になったら、次のようにします。
COMPLETEDの場合:-
テストプロファイルのエージェントタイプ(UI または API)からレポートの種類を判定します。UI プロファイルの場合は
aws_devops_agent__get_release_ui_testing_report(execution_id=EXEC_ID)を、API プロファイルの場合はaws_devops_agent__get_release_api_testing_report(execution_id=EXEC_ID)を呼び出します。 -
レポートの内容を次の Markdown ファイルに書き込みます。
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
ファイルパスを含め、レポートを保存したことをユーザーに伝えます。
-
FAILEDまたはTIMED_OUTの場合:エラー情報を提示し、次の手順を提案します。CANCELEDの場合:ジョブがキャンセルされ、レポートを入手できないことをユーザーに伝えます。
ジョブのキャンセル
aws_devops_agent__cancel_release_testing_job(task_id=TASK_ID)
エラー処理
- タスクのステータスが
FAILEDに変わった場合は、ワークフローを停止してエラーを報告します。 - 5 分以内にタスクが
IN_PROGRESSにならない場合は、cancel_release_testing_jobを使ってキャンセルします。 - 出力に「NoCredentialsError」、「ExpiredTokenException」、または認証エラーが含まれている場合は、認証情報の更新またはベアラートークンの確認をユーザーに提案します。
- スロットリングされた場合(
429またはThrottlingException)、再試行する前に 30 秒待ちます。3 回再試行した後、ユーザーに知らせます。
フォールバック(aws-mcp)
aws-devops-agent リモートサーバーを利用できない場合は、AWS CLI を直接使用します。
ユーザーに次のように伝えます。「リモートサーバーを利用できません。AWS API に直接フォールバックします。」
1. エージェントスペースの選択
利用可能なエージェントスペースを一覧表示します。
aws devops-agent list-agent-spaces --region us-east-1
一覧をユーザーに提示し、使用するエージェントスペースを選んでもらいます。**ユーザーが選択するまで先に進まないでください。**選択された agentSpaceId を、以降のすべての呼び出しで SPACE_ID として使用します。
2. ジョブの開始
aws devops-agent create-backlog-task \
--agent-space-id SPACE_ID \
--task-type RELEASE_TESTING \
--title 'Release Testing' \
--priority MEDIUM \
--description '{\"testProfileId\": \"<PROFILE_ID>\", \"webhookEventMessage\": \"<REQUIREMENT>\"}' \
--region us-east-1
ユーザーがテスト要件を指定している場合は、webhookEventMessage として含めます。指定していない場合は、このフィールドを省略するか、空のままにします。
3. ステータスのポーリング
aws devops-agent get-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--region us-east-1
ステータスが IN_PROGRESS または終了状態(COMPLETED、FAILED、CANCELED、TIMED_OUT)に変わるまで、30 秒ごとにポーリングします。
4. 完了までの監視
IN_PROGRESS になったら、ループ内で進捗をポーリングします。
aws devops-agent list-journal-records \
--agent-space-id SPACE_ID \
--execution-id EXEC_ID \
--order ASC \
--region us-east-1
- 各レコードを、わかりやすい進捗状況とともにユーザーに提示します。
- 以降のポーリングでは、レスポンスの
next_tokenを使って新しいレコードのみを取得します。 - ポーリングの各反復の間に20 秒待ちます。
- 定期的に
get-backlog-taskを確認し、終了状態(COMPLETED、FAILED、CANCELED、TIMED_OUT)になったら停止します。
5. 結果の提示
ジョブが終了状態になったら、次のようにします。
COMPLETEDの場合:-
適切なレコードタイプを指定してレポートを取得します。
- UI テスト:
--record-type qa_ui_testing_report - API テスト:
--record-type qa_api_testing_report
aws devops-agent list-journal-records \ --agent-space-id SPACE_ID \ --execution-id EXEC_ID \ --record-type qa_ui_testing_report \ --order ASC \ --region us-east-1 - UI テスト:
-
レポートの内容を次の Markdown ファイルに書き込みます。
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
ファイルパスを含め、レポートを保存したことをユーザーに伝えます。
-
FAILEDまたはTIMED_OUTの場合:エラー情報を提示し、次の手順を提案します。CANCELEDの場合:ジョブがキャンセルされ、レポートを入手できないことをユーザーに伝えます。
キャンセル(フォールバック)
aws devops-agent update-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--task-status CANCELED \
--region us-east-1