mcpField
S
syncing-test-providers

syncing-test-providers

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

syncing-test-providers について

DevOps Center パイプラインで設定済みテストプロバイダーを再同期し、新しいスイートをステージに割り当て可能にする Salesforce スキルです。確認後に同期を開始し、処理は非同期で実行されます。

主な機能

  1. 01パイプラインのテストプロバイダー一覧
  2. 02設定済みプロバイダーの同期
  3. 03同期前の確認
  4. 04非同期でのプロバイダー同期

活用シーン

  1. 01設定済みプロバイダーのテストスイート更新
  2. 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 — 新たに同期されたテストスイートのうち、どれを実行するか提案する場合に使用します。

コメント