🧪running-release-tests
- ソース
- GitHub で見る ↗
説明
事前設定されたテストプロファイルを使用して、AWS DevOps Agent経由でリリーステスト(UIまたはAPI)を自動実行します。 次のような場合に使用: ユーザーがマルチステップのワークフローを検証したい、機能を確認したい、リグレッションをチェックしたい、またはAPIエンドポイントをテストしたい場合。 トリガーワードには以下が含まれます: run tests、UAT、test my app、test profile、UI test、API test、automated testing、regression test、QA、end-to-end test、run the QA agent
原文を表示
Run automated release testing (UI or API) via the AWS DevOps Agent using a pre-configured test profile. Use when the user wants to validate multi-step workflows, verify features, check for regressions, or test API endpoints. Trigger words include run tests, UAT, test my app, test profile, UI test, API test, automated testing, regression test, QA, end-to-end test, run the QA agent.
ユースケース
- ✓マルチステップワークフローを検証するとき
- ✓機能を確認するとき
- ✓リグレッションをチェックするとき
- ✓APIエンドポイントをテストするとき
本文(日本語訳)
リリーステスト
AgentSpace ルーティング(SigV4 のみ): ツールリストに
list_agent_spacesが存在し、かつ今セッション中にマルチスペースオーケストレーションスキルがまだ呼び出されていない場合は、最初にそのスキルを呼び出して使用するagent_space_idを決定してください。その後、以下のすべてのツール呼び出しにagent_space_idを渡してください。Bearer トークン認証の場合はこの手順は不要です — トークンはすでに特定のスペースにスコープされています。
AWS DevOps 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 の選択
利用可能な Agent Space を一覧表示します:
aws devops-agent list-agent-spaces --region us-east-1
リストをユーザーに提示し、使用する Agent Space を選択してもらいます。ユーザーが選択するまで次に進まないでください。 選択された 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="<任意のテスト要件>"
)
→ {"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」または認証失敗が含まれている場合は、認証情報の更新または Bearer トークンの確認をユーザーに促す。
- スロットリング(
429またはThrottlingException)が発生した場合は、30 秒待ってからリトライする。3 回リトライしても解消しない場合はユーザーに通知する。
フォールバック(aws-mcp)
aws-devops-agent リモートサーバーが利用できない場合は、AWS CLI を直接使用します:
ユーザーに次のように伝えてください: 「リモートサーバーが利用できません — AWS API への直接フォールバックを使用します。」
1. Agent Space の選択
利用可能な Agent Space を一覧表示します:
aws devops-agent list-agent-spaces --region us-east-1
リストをユーザーに提示し、使用する Agent Space を選択してもらいます。ユーザーが選択するまで次に進まないでください。 選択された 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
原文(English)を表示
Release Testing
AgentSpace routing (SigV4 only): If
list_agent_spacesis available in your tool list and the multi-space orchestration skill has NOT been invoked yet this session, invoke it first to determine whichagent_space_idto use. Then passagent_space_idon all tool calls below. For bearer token auth this is unnecessary — the token is already scoped to one space.
Run automated release testing in the cloud via the AWS DevOps Agent's Release Testing Agent. Supports UI testing (browser-based) and API testing (OpenAPI spec-based). Uses pre-existing test profiles that define target URL, agent type, personas, and credentials.
Input is a test profile — the test profile already contains the target URL, agent type (UI or API), test personas, and credentials. Do NOT ask the user for a URL directly; the URL is defined in the test profile.
Prerequisites
- A pre-existing test profile (Knowledge Item ID like
ki-12345) created from the AWS DevOps Agent console
Gathering test parameters
Before starting any workflow, you MUST gather the following parameters. Do NOT proceed to job creation until answered.
Step 1 — Test profile (required)
Ask the user which test profile to use. The test profile already contains the target URL, agent type (UI or API), test personas, and credentials configuration — these do NOT need to be gathered separately.
Note: A pre-existing test profile is a prerequisite. Test profiles are created using the AWS DevOps Agent console or API, not through this tool. If the user asks whether one can be created here, inform them it must already exist.
Step 2 — Test requirement (optional)
If the user has not already mentioned a test focus, ask:
"Do you have a specific test requirement or focus area? If not, I'll run a full exploratory test."
Wait for the user's response. If they provide one, use it as the test_requirement. If they say no or skip, proceed without it.
IMPORTANT: You MUST wait for the user to respond before proceeding to job creation.
Core workflow
1. Select Agent Space
List available agent spaces:
aws devops-agent list-agent-spaces --region us-east-1
Present the list to the user and ask which agent space they'd like to use. Do NOT proceed until the user has selected one. Use the selected agentSpaceId as SPACE_ID in all subsequent calls.
2. Check tool availability
Verify that the following tools are available: 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. These tools are NOT deferred/lazy-loaded — if they do not appear in your tool list, they are unavailable. Do NOT search for them via ToolSearch. If any are missing, skip the remaining steps in this section and use the "Fallback (aws-mcp)" path below instead.
3. Start the Job
aws_devops_agent__create_release_testing_job(
test_profile_id="ki-12345",
webhook_event_message="<optional test requirement>"
)
→ {"taskId": "...", "executionId": "...", "status": "started"}
Record the taskId and executionId from the response.
4. Poll for Status
Call aws_devops_agent__get_task(task_id=TASK_ID) every 30 seconds until the status transitions to IN_PROGRESS or a terminal state.
5. Monitor Until Completion
Once IN_PROGRESS, poll for progress in a loop:
- Call
aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC")to fetch new findings. - Present each record to the user with a friendly progress update.
- Use
next_tokenfrom the response to fetch only new records on subsequent polls. - Wait 20 seconds between each poll iteration.
- Check
aws_devops_agent__get_task(task_id=TASK_ID)periodically — stop when terminal status (COMPLETED,FAILED,CANCELED,TIMED_OUT).
6. Present Results
Once the job reaches a terminal status:
- If
COMPLETED:-
Determine the report type from the test profile's agent type (UI or API). Call
aws_devops_agent__get_release_ui_testing_report(execution_id=EXEC_ID)for UI profiles oraws_devops_agent__get_release_api_testing_report(execution_id=EXEC_ID)for API profiles. -
Write the report contents to a markdown file:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
Inform the user that the report was saved, including the file path.
-
- If
FAILEDorTIMED_OUT: Present the error information and suggest next steps. - If
CANCELED: Inform the user the job was canceled and no report is available.
Cancelling a job
aws_devops_agent__cancel_release_testing_job(task_id=TASK_ID)
Error handling
- If the task status changes to
FAILED, stop the workflow and report the error. - If the task does not reach
IN_PROGRESSwithin 5 minutes, cancel it usingcancel_release_testing_job. - If any output contains "NoCredentialsError", "ExpiredTokenException", or auth failures, suggest the user refresh their credentials or check the bearer token.
- If throttled (
429orThrottlingException), wait 30 seconds before retrying. After 3 retries, inform the user.
Fallback (aws-mcp)
If the aws-devops-agent remote server is unavailable, use the AWS CLI directly:
Tell the user: "Remote server unavailable — using direct AWS API fallback."
1. Select Agent Space
List available agent spaces:
aws devops-agent list-agent-spaces --region us-east-1
Present the list to the user and ask which agent space they'd like to use. Do NOT proceed until the user has selected one. Use the selected agentSpaceId as SPACE_ID in all subsequent calls.
2. Start the Job
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
If the user provided a test requirement, include it as webhookEventMessage. If not, omit the field or leave it empty.
3. Poll for Status
aws devops-agent get-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--region us-east-1
Poll every 30 seconds until the status transitions to IN_PROGRESS or a terminal state (COMPLETED, FAILED, CANCELED, TIMED_OUT).
4. Monitor Until Completion
Once IN_PROGRESS, poll for progress in a loop:
aws devops-agent list-journal-records \
--agent-space-id SPACE_ID \
--execution-id EXEC_ID \
--order ASC \
--region us-east-1
- Present each record to the user with a friendly progress update.
- Use
next_tokenfrom the response to fetch only new records on subsequent polls. - Wait 20 seconds between each poll iteration.
- Check
get-backlog-taskperiodically — stop when terminal status (COMPLETED,FAILED,CANCELED,TIMED_OUT).
5. Present Results
Once the job reaches a terminal status:
- If
COMPLETED:-
Retrieve the report using the appropriate record type:
- UI testing:
--record-type qa_ui_testing_report - API testing:
--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 testing:
-
Write the report contents to a markdown file:
release-testing-report-<YYYY-MM-DD-HHmmss>.md -
Inform the user that the report was saved, including the file path.
-
- If
FAILEDorTIMED_OUT: Present the error information and suggest next steps. - If
CANCELED: Inform the user the job was canceled and no report is available.
Cancelling (fallback)
aws devops-agent update-backlog-task \
--agent-space-id SPACE_ID \
--task-id TASK_ID \
--task-status CANCELED \
--region us-east-1
原文・著作権は Anthropic および各プラグイン作者に帰属します。日本語訳は Claude API による自動翻訳です。