claude-skills/

Anthropic公式スキル・プラグインの日本語ディレクトリ

last sync 22h ago
スキルOfficialdevelopment

🧪running-release-tests

説明

事前設定されたテストプロファイルを使用して、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_jobaws_devops_agent__get_taskaws_devops_agent__list_journal_recordsaws_devops_agent__get_release_ui_testing_reportaws_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"}

レスポンスから taskIdexecutionId を記録します。

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) を定期的に確認し、終了状態(COMPLETEDFAILEDCANCELEDTIMED_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」または認証失敗が含まれている場合は、認証情報の更新または Bearer トークンの確認をユーザーに促す。
  4. スロットリング(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 または終了状態(COMPLETEDFAILEDCANCELEDTIMED_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 を定期的に確認し、終了状態(COMPLETEDFAILEDCANCELEDTIMED_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
原文(English)を表示

Release Testing

AgentSpace routing (SigV4 only): If list_agent_spaces is available in your tool list and the multi-space orchestration skill has NOT been invoked yet this session, invoke it first to determine which agent_space_id to use. Then pass agent_space_id on 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:

  1. Call aws_devops_agent__list_journal_records(execution_id=EXEC_ID, order="ASC") to fetch new findings.
  2. Present each record to the user with a friendly progress update.
  3. Use next_token from the response to fetch only new records on subsequent polls.
  4. Wait 20 seconds between each poll iteration.
  5. 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:
    1. 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 or aws_devops_agent__get_release_api_testing_report(execution_id=EXEC_ID) for API profiles.

    2. Write the report contents to a markdown file:

      release-testing-report-<YYYY-MM-DD-HHmmss>.md
      
    3. Inform the user that the report was saved, including the file path.

  • If FAILED or TIMED_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

  1. If the task status changes to FAILED, stop the workflow and report the error.
  2. If the task does not reach IN_PROGRESS within 5 minutes, cancel it using cancel_release_testing_job.
  3. If any output contains "NoCredentialsError", "ExpiredTokenException", or auth failures, suggest the user refresh their credentials or check the bearer token.
  4. If throttled (429 or ThrottlingException), 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
  1. Present each record to the user with a friendly progress update.
  2. Use next_token from the response to fetch only new records on subsequent polls.
  3. Wait 20 seconds between each poll iteration.
  4. Check get-backlog-task periodically — stop when terminal status (COMPLETED, FAILED, CANCELED, TIMED_OUT).

5. Present Results

Once the job reaches a terminal status:

  • If COMPLETED:
    1. 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
      
    2. Write the report contents to a markdown file:

      release-testing-report-<YYYY-MM-DD-HHmmss>.md
      
    3. Inform the user that the report was saved, including the file path.

  • If FAILED or TIMED_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 による自動翻訳です。