mcpField
C
configuring-test-provider

configuring-test-provider

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

configuring-test-provider について

Salesforce DevOps Center のパイプラインで利用可能なテストプロバイダーを設定し、スイートをステージに割り当てられるようにするスキルです。設定前に状態を確認し、明示的な確認を求めます。

主な機能

  1. 01パイプラインのテストプロバイダーと状態の一覧表示
  2. 02確認後の利用可能なプロバイダーの設定
  3. 03設定レコードの重複作成の回避
  4. 04再同期とステージ割り当ての適切な案内

活用シーン

  1. 01プロバイダーのスイートをステージ割り当て可能にする
  2. 02プロバイダーの設定状況を確認する
  3. 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 が作成されます。代わりに、次の手順に従います。

  1. プロバイダーがすでに設定済みであることを明確に伝え、返された場合は同期済みのスイート数と最終同期時刻を含めます(例:「Flow Tests は <pipelineName> にすでに設定済みで、3 件のスイートが同期されています(最終同期日:2026-06-23)。」)。
  2. ユーザーの実際の目的を確認し、名称を挙げて適切な手順に案内します。
    • ユーザーがステージへのテスト割り当て時にプロバイダーのスイートが表示されないと言っている場合、これはプロバイダー設定の問題ではなく、ステージへの割り当ての問題です。スイートはすでにパイプラインレベルに存在しており、ステージにリンクするだけでよい状態です。managing-suite-assignments に案内します。
    • ユーザーがまだ同期されていない新しく作成したスイートを想定している場合は、スイートを取り込むために**syncing-test-providers**(POST /connect/devops/sync による再同期)に案内します。
  3. 設定を再度試さず、説明と案内を終えたら処理を終了します。

ステップ 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 — 新たに利用可能になったスイートのうち、どれを実行するかを推奨する際に使用します。

コメント