managing-suite-assignments について
Salesforce DevOps テスト向けのスキルで、テストスイートのパイプラインステージへの割り当てや変更の同期を行います。単一割り当て、複数マッピング、クラス更新に確認手順を設け、共通の API を使用します。
主な機能
- 01単一スイートのステージ割り当て
- 02複数スイートマッピングの追加・削除
- 03スイート内テストクラスの同期
- 04API 変更前の確認
- 05ステータス別エラーメッセージ
活用シーン
- 01既存スイートをパイプラインステージに追加
- 02テスト戦略のスイートマッピングを更新
- 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-alias | Prerequisite 1 で設定 |
pipelineId | Prerequisite 4(パイプラインの選択)で特定 |
stageId | Prerequisite 5(ステージの選択)で特定 |
event | Pre-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— スイート内のテストの失敗分析や改善案が必要な場合に使用します。