mcpField
R
running-release-tests

running-release-tests

github.com/awsテスト・品質3.3k1.5k 回インストール1 日前に更新
リポジトリ

running-release-tests について

AWS DevOps Agent の Release Testing Agent を使ったクラウド上のリリーステストを案内するスキルです。UI・API テストの実行、ジョブ監視、レポート取得を扱い、リリース検証に利用できます。

主な機能

  1. 01クラウドでの UI・API テスト
  2. 02既存テストプロファイルの利用
  3. 03ジョブ状態と実行記録の監視
  4. 04テストレポートの取得と保存
  5. 05ジョブのキャンセルと AWS CLI による代替

活用シーン

  1. 01リリース前の Web UI 検証
  2. 02OpenAPI 仕様に基づく API テスト
  3. 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 になったら、以下のループで進捗を確認します。

  1. aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC") を呼び出して、新しい調査結果を取得します。
  2. 各レコードを、親しみやすい進捗報告とともにユーザーに提示します。
  3. 以降のポーリングでは、応答の next_token を使用して新しいレコードのみを取得します。
  4. ポーリングの各反復の間に 20 秒待機します。
  5. aws_devops_agent__get_task(task_id=TASK_ID) を定期的に確認し、終端ステータス(COMPLETED、FAILED、CANCELED、TIMED_OUT)になったら停止します。
6. 結果の提示

ジョブが終了状態になったら、次のようにします。

  • COMPLETED の場合:
    1. テストプロファイルのエージェントタイプ(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) を呼び出します。

    2. レポートの内容を次の Markdown ファイルに書き込みます。

      release-testing-report-<YYYY-MM-DD-HHmmss>.md
      
    3. ファイルパスを含め、レポートを保存したことをユーザーに伝えます。

  • FAILED または TIMED_OUT の場合:エラー情報を提示し、次の手順を提案します。
  • CANCELED の場合:ジョブがキャンセルされ、レポートを入手できないことをユーザーに伝えます。

ジョブのキャンセル

aws_devops_agent__cancel_release_testing_job(task_id=TASK_ID)

エラー処理

  1. タスクのステータスが FAILED に変わった場合は、ワークフローを停止してエラーを報告します。
  2. 5 分以内にタスクが IN_PROGRESS にならない場合は、cancel_release_testing_job を使ってキャンセルします。
  3. 出力に「NoCredentialsError」、「ExpiredTokenException」、または認証エラーが含まれている場合は、認証情報の更新またはベアラートークンの確認をユーザーに提案します。
  4. スロットリングされた場合(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
  1. 各レコードを、わかりやすい進捗状況とともにユーザーに提示します。
  2. 以降のポーリングでは、レスポンスの next_token を使って新しいレコードのみを取得します。
  3. ポーリングの各反復の間に20 秒待ちます。
  4. 定期的に get-backlog-task を確認し、終了状態(COMPLETED、FAILED、CANCELED、TIMED_OUT)になったら停止します。
5. 結果の提示

ジョブが終了状態になったら、次のようにします。

  • COMPLETED の場合:
    1. 適切なレコードタイプを指定してレポートを取得します。

      • 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
      
    2. レポートの内容を次の Markdown ファイルに書き込みます。

      release-testing-report-<YYYY-MM-DD-HHmmss>.md
      
    3. ファイルパスを含め、レポートを保存したことをユーザーに伝えます。

  • 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

コメント