configuring-test-provider について
Salesforce DevOps Center のパイプラインで利用可能なテストプロバイダーを設定し、スイートをステージに割り当てられるようにするスキルです。設定前に状態を確認し、明示的な確認を求めます。
主な機能
- 01パイプラインのテストプロバイダーと状態の一覧表示
- 02確認後の利用可能なプロバイダーの設定
- 03設定レコードの重複作成の回避
- 04再同期とステージ割り当ての適切な案内
活用シーン
- 01プロバイダーのスイートをステージ割り当て可能にする
- 02プロバイダーの設定状況を確認する
- 03重複設定ではなく再同期を選ぶ
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill configuring-test-providerインストール後、Claude Code で/configuring-test-providerを入力して読み込まれたか確認します。
詳細
テストプロバイダーの設定
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、およびステータス(設定済みと利用可能)が含まれます。ステータスごとに簡潔な概要を提示します。
Test providers for <pipelineName>:
✓ Configured:
- Code Analyzer (63 suites)
- Apex Unit Tests (5 suites)
Available (not yet configured):
- Flow Tests
- 設定できるのは利用可能なプロバイダーのみです。 パイプラインに利用可能なプロバイダーがない場合は、その旨を報告して終了します。プロバイダーや ID を捏造してはいけません。
指定されたプロバイダーがすでに設定済みの場合
確認を求めず、設定エンドポイント(ステップ 2~3)に POST してはいけません。そうすると、重複した DevopsPipelineTestProvider が作成されます。代わりに、次の手順に従います。
- プロバイダーがすでに設定済みであることを明確に伝え、返された場合は同期済みのスイート数と最終同期時刻を含めます(例:「Flow Tests は
<pipelineName>にすでに設定済みで、3 件のスイートが同期されています(最終同期日:2026-06-23)。」)。 - ユーザーの実際の目的を確認し、名称を挙げて適切な手順に案内します。
- ユーザーがステージへのテスト割り当て時にプロバイダーのスイートが表示されないと言っている場合、これはプロバイダー設定の問題ではなく、ステージへの割り当ての問題です。スイートはすでにパイプラインレベルに存在しており、ステージにリンクするだけでよい状態です。
managing-suite-assignmentsに案内します。 - ユーザーがまだ同期されていない新しく作成したスイートを想定している場合は、スイートを取り込むために**
syncing-test-providers**(POST /connect/devops/syncによる再同期)に案内します。
- ユーザーがステージへのテスト割り当て時にプロバイダーのスイートが表示されないと言っている場合、これはプロバイダー設定の問題ではなく、ステージへの割り当ての問題です。スイートはすでにパイプラインレベルに存在しており、ステージにリンクするだけでよい状態です。
- 設定を再度試さず、説明と案内を終えたら処理を終了します。
ステップ 2 — 確認
必須 — ユーザーの確認を得る前に API を呼び出してはいけません。
「
<pipelineName>パイプラインで<testProviderName>を設定します。これにより、そのスイートをステージに割り当てられるようになります。よろしいですか?」
ユーザーが肯定するまで先に進んではいけません。
ステップ 3 — プロバイダーを設定する
確認を得たら、プロバイダー ID を指定して設定エンドポイントを呼び出します。
sf api request rest \
"/services/data/v67.0/connect/devops/pipeline/<pipelineId>/testProvider" \
--method POST \
--body '{"testProviderId": "<testProviderId>"}' \
--target-org <doce-org-alias>
成功時
「
<pipelineName>パイプラインで<testProviderName>を設定しました。そのスイートをステージに割り当てられるようになりました。」
新しく設定したスイートは、managing-suite-assignments を使用してステージに割り当てられます。
重要な注意点
この POST .../pipeline/<pipelineId>/testProvider エンドポイントは、新しいプロバイダー設定レコード(DevopsPipelineTestProvider)を作成します。プロバイダーを初めて設定するときにのみ使用してください。新しいスイートを取り込むために設定済みプロバイダーを再同期する場合は、syncing-test-providers(POST /connect/devops/sync)を使用します。設定済みのプロバイダーに対してこの設定エンドポイントを呼び出すと、DevopsPipelineTestProvider レコードが重複して作成されます。
エラー処理
生の API エラーメッセージ、スタックトレース、JSON ペイロードをユーザーに表示しないでください。レスポンスのステータスコードを、平易なメッセージに置き換えてください。
| ステータス | ユーザー向けメッセージ |
|---|---|
| 400 | "リクエストが無効です。プロバイダー ID とパイプライン ID が正しいことを確認してください。" |
| 403 | "このパイプラインでテストプロバイダーを設定する権限がありません。" |
| 404 | "パイプラインまたはテストプロバイダーが見つかりませんでした。" |
| 409 | "このプロバイダーはすでにこのパイプラインで設定されているようです。新しいスイートを取り込むには、代わりに再同期してください。" |
| 500 | "サーバーエラーが発生しました。数分後にもう一度お試しください。" |
関連スキル
checking-devops-prerequisites— 最初に読み込み、組織とパイプラインのコンテキストを確立します。syncing-test-providers— プロバイダーを設定した後、再同期して新しく追加されたスイートを取り込む際に使用します。managing-suite-assignments— プロバイダーを設定した後、そのスイートをパイプラインのステージに割り当てたり、マッピングしたりする際に使用します。recommending-devops-tests— 新たに利用可能になったスイートのうち、どれを実行するかを推奨する際に使用します。