syncing-test-providers について
DevOps Center パイプラインで設定済みテストプロバイダーを再同期し、新しいスイートをステージに割り当て可能にする Salesforce スキルです。確認後に同期を開始し、処理は非同期で実行されます。
主な機能
- 01パイプラインのテストプロバイダー一覧
- 02設定済みプロバイダーの同期
- 03同期前の確認
- 04非同期でのプロバイダー同期
活用シーン
- 01設定済みプロバイダーのテストスイート更新
- 02追加されたスイートをステージ割り当てに利用
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill syncing-test-providersインストール後、Claude Code で/syncing-test-providersを入力して読み込まれたか確認します。
詳細
テストプロバイダーの同期
DevOps Center パイプラインで設定済みのテストプロバイダーを再同期し、前回の設定以降にプロバイダーへ追加されたテストスイートをステージに割り当てられるようにします。
確認が必要です: はい — 同期を開始する前に明示的な確認が必要です。
前提条件
最初に checking-devops-prerequisites を読み込みます — 前提条件 1~4(組織へのログイン、Agentforce DX プラグイン、DevOps Center 組織の認証、パイプラインの特定)。前提条件 5(ステージ)は不要です。プロバイダーはステージ単位ではなく、パイプライン単位で同期されます。
| 変数 | ソース |
|---|---|
doce-org-alias | 前提条件 1 で確立 |
pipelineId | 前提条件 4(パイプラインの選択)で特定 |
testProviderId | パイプラインのテストプロバイダーを取得して解決(以下を参照) |
ステップ 1 — テストプロバイダーを取得してプロバイダー ID を解決する
パイプラインに設定されているすべてのテストプロバイダーを取得し、testProviderId を解決して、プロバイダー名をユーザーと確認します。
sf api request rest \
"/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/testProviders?status=all" \
--target-org <doce-org-alias>
各プロバイダーのエントリーには、testProviderId、testProviderName、ステータス(Configured または Available)が含まれます。ステータスごとにまとめて、簡潔な概要を提示します。
Test providers for <pipelineName>:
✓ Configured:
- Code Analyzer (63 suites)
- Apex Unit Tests (5 suites)
Available (not yet configured):
- Flow Tests
- 同期できるのは Configured プロバイダーのみです。 ユーザーが Available(未設定)のプロバイダーを指定した場合は、まず設定が必要であることを説明します。このスキルではプロバイダーを設定しません。
- パイプラインに設定済みのプロバイダーがない場合は、その旨を伝えて終了します。プロバイダーや ID を捏造してはいけません。
ステップ 2 — 確認ゲート
必須 — ユーザーの確認前に API を呼び出してはいけません。
"
<pipelineName>パイプラインで<testProviderName>を再同期し、新しいテストスイートを取り込みます。よろしいですか?"
ユーザーから肯定の応答があるまで続行しないでください。
ステップ 3 — 同期を開始する
確認後、プロバイダー ID とパイプライン ID を指定して同期エンドポイントを呼び出します。
sf api request rest \
"/services/data/v67.0/connect/devops/sync" \
--method POST \
--body '{
"testProviderIds": ["<testProviderId>"],
"pipelineId": "<pipelineId>"
}' \
--target-org <doce-org-alias>
testProviderIds はリストです。複数の設定済みプロバイダーを 1 回の呼び出しで同期できます。
成功時
"プロバイダー
<testProviderName>の同期を開始しました。この処理は非同期で実行されます。新しいテストスイートはまもなく利用可能になります。"
同期は非同期で実行されます。新たに同期されたテストスイートは、その後 managing-suite-assignments を使用してステージに割り当てられます。
重要な注意点
同期に POST /connect/devops/pipeline/<pipelineId>/testProvider を使用してはいけません — このエンドポイントは新しいプロバイダー設定を作成するため、DevopsPipelineTestProvider レコードが重複します。同期には POST /connect/devops/sync のみを使用してください。
エラー処理
API エラーメッセージ、スタックトレース、JSON ペイロードをそのままユーザーに見せてはいけません。応答ステータスコードを、分かりやすいメッセージに対応付けます。
| ステータス | ユーザー向けメッセージ |
|---|---|
| 400 | "同期リクエストが無効です。プロバイダー ID とパイプライン ID が正しいことを確認してください。" |
| 403 | "このパイプラインのテストプロバイダーを同期する権限がありません。" |
| 404 | "パイプラインまたはテストプロバイダーが見つかりませんでした。" |
| 500 | "サーバーエラーが発生しました。数分後にもう一度お試しください。" |
関連スキル
checking-devops-prerequisites— 最初に読み込み、組織とパイプラインのコンテキストを確立します。configuring-test-provider— Available プロバイダーを初めて設定する場合に使用します。このスキルでは、設定済みのプロバイダーのみを再同期します。managing-suite-assignments— 同期によって新しいテストスイートが追加された後、パイプラインのステージへの割り当てやマッピングに使用します。recommending-devops-tests— 新たに同期されたテストスイートのうち、どれを実行するか提案する場合に使用します。