mcpField
M
managing-suite-assignments

managing-suite-assignments

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

managing-suite-assignments について

Salesforce DevOps テスト向けのスキルで、テストスイートのパイプラインステージへの割り当てや変更の同期を行います。単一割り当て、複数マッピング、クラス更新に確認手順を設け、共通の API を使用します。

主な機能

  1. 01単一スイートのステージ割り当て
  2. 02複数スイートマッピングの追加・削除
  3. 03スイート内テストクラスの同期
  4. 04API 変更前の確認
  5. 05ステータス別エラーメッセージ

活用シーン

  1. 01既存スイートをパイプラインステージに追加
  2. 02テスト戦略のスイートマッピングを更新
  3. 03レビュー済みテストをスイートに反映

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/forcedotcom/sf-skills --skill managing-suite-assignments

インストール後、Claude Code で/managing-suite-assignmentsを入力して読み込まれたか確認します。

詳細

スイート割り当ての管理

前提条件

最初に checking-devops-prerequisites を読み込んでください。Prerequisites 1~4 と Prerequisite 5(ステージ)が必要です。どのモードで進める場合も、事前に doce-org-alias、pipelineId、stageId が必要です。

変数説明
doce-org-aliasPrerequisite 1 で設定
pipelineIdPrerequisite 4(パイプラインの選択)で特定
stageIdPrerequisite 5(ステージの選択)で特定
eventPre-Promote、Post-Promote、または Review

モード A — ステージに単一のスイートを割り当てる

該当するテストスイートがすでに存在するものの、パイプラインのステージにまだ関連付けられておらず、ユーザーが単発で追加したい場合にこのモードを使用します。

追加で必要な入力:

変数説明
testSuiteId割り当てるスイートの ID
testSuiteNameスイート名(確認時に表示)

確認ゲート

API 呼び出しを行う前に確認が必要です。

次のプロンプトをユーザーに提示し、肯定的な応答を待ちます。

"スイート <testSuiteName> は現在、<stageName> ステージ(<event>)に割り当てられていません。割り当てますか?"

ユーザーが確認するまで先に進まないでください。

成功時

ユーザーに次のように報告します。

"スイート <testSuiteName> を <stageName> ステージ(<event>)に割り当てました。"


モード B — 複数のスイートをステージに対応付ける

パイプライン全体のスイートとステージの対応付けを設定する場合や、テスト戦略の一環として複数のスイートをステージに割り当てる場合にこのモードを使用します。

追加で必要な入力:

入力説明
testSuiteOperations{testSuiteId, action: "add"|"remove"} のリスト

必須の影響プレビュー — 変更前に必ず実施

ユーザーが以下のプレビューを確認するまで、API を呼び出さないでください。

対応付けの概要全体を提示し、明示的な確認を待ちます。

"適用するスイートの対応付けは次のとおりです。

スイートステージイベントアクション
<suiteName><stageName><event>追加
<suiteName2><stageName><event>削除

すべての変更を適用してよろしいですか?"

ユーザーが明示的に確認した後にのみ進めてください。

成功時

"スイートの対応付けを適用しました。<stageName> ステージで <N> 件のスイートを更新しました。"


モード C — スイート内のテストクラスを追加/削除する

既存のスイート割り当て内で個々のテストクラスを追加または削除する場合、レビュー済みのテストをスイートに同期する場合、またはテストをスイートに昇格する場合にこのモードを使用します。

追加で必要な入力:

入力ソース
testSuiteOperations{testSuiteId, action: "add"|"remove"} のリスト

ガバナンスルール

  • 明示的な承認なしに、これを実行してはいけません。 AI がレビューまたは変更したテストは、この呼び出しを行う前にユーザーに再提示する必要があります。
  • 却下されたテストはペイロードから除外してください。以前スイートに含まれていた場合でも、追加してはいけません。
  • レビュー中にテストを変更した場合は、確認を求める前にテストの最終リストを再提示してください。

確認ゲート

必須 — 省略しないでください。 呼び出しを行う前に、変更内容の一覧全体をユーザーに提示してください。

"テストスイートに次の変更を同期しようとしています。

  • 追加: <testSuiteName1>、<testSuiteName2>
  • 削除: <testSuiteName3>
  • ステージ:<stageName> | イベント:<event>

よろしいですか?"

明示的な確認を受け取った後にのみ進めてください。

成功時

ユーザーに次のように伝えます。

"<stageName> ステージのテストスイートを正常に更新しました。"


システムコール

3 つのモードはすべて同じエンドポイントを使用します。実行する前に、すべての <placeholder> の値を置き換えてください。

sf api request rest "/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/testSuiteStages" --method POST --body '{"pipelineStageId":"<stageId>","event":"<event>","assignments":[{"testSuiteId":"<id>","action":"add|remove"}]}' --target-org <doce-org-alias>

ペイロードの完全なスキーマ:

{
  "pipelineStageId": "<stageId>",
  "event": "<event>",
  "assignments": [
    {"testSuiteId": "<suiteId1>", "action": "add"},
    {"testSuiteId": "<suiteId2>", "action": "remove"}
  ]
}

エラー処理

API の生のエラーメッセージをユーザーに表示しないでください。レスポンスのステータスコードを、次のユーザー向けメッセージに対応付けてください。

ステータスユーザー向けメッセージ
400"リクエストが無効です。すべてのスイート ID とステージ ID が正しいこと、およびイベントタイプが有効であることを確認してください。"
403"このパイプラインのスイート割り当てを変更する権限がありません。"
404"パイプラインまたはステージが見つかりませんでした。"
500"サーバーエラーが発生しました。数分後にもう一度お試しください。"

関連するスキル

  • syncing-test-providers — 割り当てたいスイートがまだ表示されない場合に使用します。プロバイダーを再同期すると、新しく追加されたスイートが取り込まれます。
  • recommending-devops-tests — スイートがまだ特定されておらず、割り当てるスイートの推奨が必要な場合に使用します。
  • configuring-quality-gate — スイートをマッピングした後、ステージに品質ゲートを設定する場合に使用します。
  • analyzing-test-failures — スイート内のテストの失敗分析や改善案が必要な場合に使用します。

コメント