mcpField
R
running-devops-test-suite

running-devops-test-suite

github.com/forcedotcomテスト・品質1.1k265 回インストール1 日前に更新
リポジトリ

running-devops-test-suite について

DevOps Center のテストスイートを実行し、条件を満たせばブロックされた品質ゲートを再実行するスキルです。パイプライン情報の確認と明示的な承認後に実行し、実行 ID をポーリングスキルに渡します。

主な機能

  1. 01パイプラインとステージ入力の確認
  2. 02実行前のユーザー承認
  3. 03品質ゲートの再実行
  4. 04実行 ID をポーリングスキルへ引き継ぎ
  5. 05状態に応じたエラー案内

活用シーン

  1. 01確認済みステージのテスト実行
  2. 02カバレッジ基準達成後のゲート再実行

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill running-devops-test-suite

インストール後、Claude Code で/running-devops-test-suiteを入力して読み込まれたか確認します。

詳細

DevOps Center テストスイートの実行

前提条件

まず checking-devops-prerequisites を読み込み、それに従ってください。前提条件 1~4 と前提条件 5(パイプラインのステージ)を実行してください。このスキルは特定のステージで動作するためです。続行する前に、確認済みの doce-org-alias、pipelineId、stageId が必要です。

このスキルを呼び出す前に必要な入力

入力取得方法
pipelineId前提条件 4(パイプラインの選択)から取得
stageId前提条件 5(パイプラインのステージの確認)から取得
eventユーザーに確認:Pre-Promote または Post-Promote(レビュー環境の場合は Review)
testSuiteIdsスイートの選択または推奨のステップで確認したスイート ID
doce-org-alias前提条件 1 で設定

確認ゲート

この呼び出しは組織の状態を変更します。明示的なユーザー確認なしに続行しないでください。

API を呼び出す前に、ユーザーに次の内容を提示してください。

"次の設定でテストを実行しようとしています:

  • パイプライン:<pipelineName>
  • ステージ:<stageName>
  • イベント:<event>
  • スイート:<suiteName(s)>
  • 組織:<doce-org-alias>

続行してもよろしいですか?"

ユーザーが確認するまで API を呼び出さないでください。

API 呼び出し

sf api request rest \
  "/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/stage/execute" \
  --method POST \
  --body '{
    "stageId": "<stageId>",
    "event": "<event>",
    "testSuiteIds": ["<suiteId1>", "<suiteId2>"]
  }' \
  --target-org <doce-org-alias>
ボディスキーマ
フィールド型説明
stageIdstringテストを実行するパイプラインステージの ID
eventstringPre-Promote、Post-Promote、または Review
testSuiteIdsstring[]実行する 1 つ以上のテストスイート ID

成功時

レスポンスから runId(または実行 ID)を抽出します。ユーザーに次のように伝えてください。

"<doce-org-alias> でテストを実行中です。結果が出たらお知らせします。"

直ちに runId を polling-test-results スキルに引き継ぎ、ポーリングループを開始してください。

エラー時

ステータスユーザーへのメッセージ
400"テスト実行リクエストが無効です。ステージ ID とスイート ID が正しいことを確認してください。"
403"このパイプラインでテストを実行する権限がありません。DevOps Testing API へのアクセス権を確認してください。"
404"パイプラインまたはステージが見つかりません。削除されている可能性があります。"
500"DevOps Center 組織からサーバーエラーが返されました。数分後にもう一度お試しください。"

生の API エラーをユーザーに見せないでください。


再トリガーモード(品質ゲートの再実行)

品質ゲートの失敗によってプロモーションがブロックされ、その後カバレッジの不足が解消された場合に、このモードを使用します。

追加の前提条件 — 続行する前にすべて満たす必要があります
  1. 最新の DevopsTestSuiteExecution の Coverage フィールドが、DevopsQualityGateRule で定義されたしきい値以上である
  2. ユーザーがゲートの再トリガーを明示的に依頼している
  3. ブロックされたプロモーションと同じ pipelineId、stageId、event が分かっている

カバレッジがまだしきい値を下回っている場合は、再トリガーしないでください。代わりに次のように応答してください。

"カバレッジはまだ <X>% で、ゲートのしきい値 <threshold>% を下回っています。しきい値に達するまでゲートを再トリガーできません。未カバーのメソッドは次のとおりです:<list>。"

再試行しないでください。先に解決すべき内容を説明し、そこで終了してください。

再トリガーに必要な入力
入力取得元
pipelineIdブロックされたプロモーションのコンテキスト
stageIdブロックされたプロモーションのコンテキスト
event最初にブロックされたときと同じイベントタイプ(Pre-Promote または Post-Promote)
suiteIds最初に実行したものと同じスイート
doce-org-alias前提条件 1 で設定
確認ゲート(再トリガー)

API 呼び出しを実行する前に、次の確認メッセージを提示し、ユーザーの明示的な承認を待ってください。

"カバレッジが <X>% であることを確認しました。ゲートのしきい値 <threshold>% を満たしています。<stageName> ステージ(<event>)の品質ゲートチェックを再トリガーします。よろしいですか?"

ユーザーが確認した場合にのみ続行してください。ユーザーが承認しない場合は、API を呼び出さずに終了してください。

API 呼び出し(再トリガー)

同じ Connect API の stage/execute エンドポイントを使用します。

sf api request rest "/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/stage/execute" --method POST --body '{"stageId":"<stageId>","event":"<event>","testSuiteIds":["<suiteId1>"]}' --target-org <doce-org-alias>

呼び出しから runId が返されたら、新しい runId を使って polling-test-results スキルに引き継ぎ、実行結果を監視します。

エラー処理(再トリガー)

ゲートを再トリガーできないことを示すエラーが API から返された場合は、次のように応答します。

"品質ゲートは現在、再トリガーできません。理由:<平易な言葉での概要>。まず解決する必要がある内容はこちらです:<リスト>。"

API の生のエラー詳細をユーザーに決して公開しないでください。


関連スキル

  • polling-test-results — runId の受け取り後、非同期実行の結果をポーリングします
  • recommending-devops-tests — 実行をトリガーする前に、最初に実行するテストスイートを提案します
  • managing-suite-assignments — テストスイートがまだリンクされていない場合、パイプラインのステージに割り当てるかマッピングします
  • configuring-quality-gate — 新しいゲートまたはしきい値を設定します

コメント