dx-devops-test-suite-run について
Salesforce DevOps Center のテストスイートを実行し、完了まで状態を確認するスキルです。実行状況やカバレッジを報告し、失敗したテストを分析スキルに引き継ぎます。
主な機能
- 01テストスイートの実行開始
- 02完了までのステータス確認
- 03カバレッジと結果件数の報告
- 04失敗を分析スキルへ引き継ぎ
- 05品質ゲートの再実行
活用シーン
- 01パイプラインステージのテスト実行
- 02実行中のテストの監視
- 03実行後の失敗内容の確認
- 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.mdpolling-configuration.mdprerequisite-checks.mdretrigger-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>
| フィールド | 型 | 説明 |
|---|---|---|
stageId | string | テストを実行するパイプラインステージの ID |
event | string | Pre-Promote、Post-Promote、または Review |
testSuiteIds | string[] | 実行する 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— 新しい品質ゲートやしきい値を設定します(このスキルでは既存のゲートのみを再実行します)。