mcpField
D
dx-devops-test-suite-run

dx-devops-test-suite-run

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

dx-devops-test-suite-run について

Salesforce DevOps Center のテストスイートを実行し、完了まで状態を確認するスキルです。実行状況やカバレッジを報告し、失敗したテストを分析スキルに引き継ぎます。

主な機能

  1. 01テストスイートの実行開始
  2. 02完了までのステータス確認
  3. 03カバレッジと結果件数の報告
  4. 04失敗を分析スキルへ引き継ぎ
  5. 05品質ゲートの再実行

活用シーン

  1. 01パイプラインステージのテスト実行
  2. 02実行中のテストの監視
  3. 03実行後の失敗内容の確認
  4. 04カバレッジ改善後の品質ゲート再実行

インストール

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

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

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/
error-handling.md
polling-configuration.md
prerequisite-checks.md
retrigger-mode.md

詳細

DevOps Center のテストスイートを実行する

DevOps Center のテストスイートの実行を開始し、完了するまで監視します。実行とポーリングは一連の操作の前半と後半です。runId を事前に取得しているか、引き継いでいない限り、ポーリングしてはいけません。

API バージョン: DevOps のテストに関するシステム呼び出しはすべて、Salesforce API v67.0(最低限必要なバージョン)を対象とします。

重要: DevOps Center のデータはすべて Salesforce 組織にあります。ローカルリポジトリにはありません。必ず sf data query または sf api request rest で組織にクエリしてください。


前提条件

references/prerequisite-checks.md に記載されている前提条件チェックを実行してください。前提条件 1~4 および前提条件 5(ステージ)が必要です。このスキルは特定のステージを対象とするためです。確認済みの doce-org-alias、pipelineId、stageId が必要です。

必要な入力

入力取得方法
pipelineId前提条件 4(パイプラインの選択)
stageId前提条件 5(パイプラインステージの確認)
eventユーザーに確認します:Pre-Promote、Post-Promote、または Review
testSuiteIds選択または推奨された、確認済みのスイート ID
doce-org-alias前提条件 1

ステップ 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 を使ってただちにステップ 2(ポーリング)に進みます。

エラーの場合

references/error-handling.md を参照してください。組織が実行を拒否した場合(例:environmentId: null、または classIdList is null or empty — no tests to execute)、実際のエラーを読み取り、根本原因と必要な修正を平易な言葉で説明して、適切に終了します。ループで再試行したり、runId や結果を捏造したりしてはいけません。


ステップ 2 — 完了するまでポーリングする

**確認は不要です:**ポーリングは自動で、読み取り専用です。

プロバイダーに適した間隔で、runId を使って実行レコードをポーリングします。間隔、タイムアウト時の動作、ポーリングクエリの詳細は references/polling-configuration.md に記載されています。

ループの概要(runId は DevopsTestSuiteExecution の ID です。DevopsTestExecution ではなく、そのオブジェクトをポーリングしてください):

  • 各間隔で DevopsTestSuiteExecution を runId で検索し、Status, Coverage, SuccessCount, FailureCount, QualityGateStatus を取得します。
  • InProgress → 待機して再度ポーリングします。
  • Passed / Failed → Coverage、SuccessCount、FailureCount、QualityGateStatus をインラインで提示します(生の JSON は表示しません)。FailureCount > 0 の場合は、子の DevopsTestExecution から失敗行を取得し、dx-devops-test-failures-analyze に引き継ぎます。
  • Error → 実行自体のエラーです(テストの失敗ではありません)。ResultDetails / Message を平易な言葉で提示し、再試行またはスキップを提案します。
  • タイムアウト → runId を提示し、自動で再試行せず、ユーザーの指示を待ちます。

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

ゲートの失敗により昇格がブロックされ、その後、カバレッジの不足が解消された場合に使用します。すべての前提条件、ゲート、再トリガー API の呼び出しについては references/retrigger-mode.md を参照してください。 重要なルール:最新の Coverage が DevopsQualityGateRule のしきい値以上でない限り、再トリガーしてはいけません。再トリガーから新しい runId が返されたら、ステップ 2(ポーリング)に渡します。


関連スキル

  • dx-devops-test-failures-analyze — 完了時に失敗ペイロードを受け取ります。修正作業項目の作成もできます。
  • dx-devops-test-suite-assignments-configure — 実行するスイートを推奨するか、まだリンクされていない場合はステージにスイートを割り当てます。
  • dx-devops-test-pipeline-configure — 新しい品質ゲートやしきい値を設定します(このスキルでは既存のゲートのみを再実行します)。

コメント