configuring-quality-gate について
品質ゲートを作成し、指定されたルールを追加して、DevOps Center のテストスイートステージに関連付けるスキルです。変更の前に影響をプレビューし、明示的な確認を得る必要があります。
主な機能
- 01合格率、重大度、必須ルールへの対応
- 02品質ゲートと指定ルールの作成
- 03ゲートとテストスイートステージの関連付け
- 04影響の事前表示と確認の必須化
活用シーン
- 01テストの最低合格率を適用する
- 02許容する失敗の重大度を制限する
- 03すべての必須テストの合格を求める
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill configuring-quality-gateインストール後、Claude Code で/configuring-quality-gateを入力して読み込まれたか確認します。
詳細
前提条件
まず checking-devops-prerequisites を読み込みます。前提条件 1~4 と前提条件 5(ステージ)が必要です。doce-org-alias、pipelineId、stageId、および対象となる DevopsTestSuiteStage レコードの Id が必要です。
必要な入力
| 入力 | ソース |
|---|---|
name | ユーザーが指定する品質ゲート名 |
rules | {type, threshold?} のリスト — 下記のルールタイプを参照 |
doce-org-alias | 前提条件 1 で設定済み |
testSuiteStageId | 対象となる DevopsTestSuiteStage レコードの Id(前提条件 5) |
ルールタイプ
| タイプ | 説明 | しきい値 |
|---|---|---|
PASS_PERCENTAGE | 合格する必要があるテストの最小割合 | 必須(0~100) |
SEVERITY | 失敗に許容される最大重大度レベル | 必須(数値、例:1~5) |
ESSENTIAL | 必須テストがすべて合格する必要があります | 不要 |
必須の影響プレビュー
コマンドを実行する前に、このプレビューをユーザーに表示し、明示的な確認を待ちます。
"この品質ゲートが
<stageName>に適用する内容は次のとおりです:
- ルール:
<type>—<description>- しきい値:
<value>- 影響を受けるパイプライン:
<list>適用してよいですか?"
影響プレビューを先に表示して明示的な確認を得るまで、この段階より先に進んではいけません。
確認ゲート
ユーザーが明示的に確認した後(例:「はい」、「確認しました」、「進めてください」)にのみ、以下の手順に進みます。ユーザーが拒否した場合、または確認が得られない場合は、停止してコマンドを実行しないでください。
手順 1 — ゲートレコードを作成する
sf api request rest \
"/services/data/v67.0/connect/devopstesting/qualityGate" \
--method POST \
--body '{"name": "<gateName>"}' \
--target-org <doce-org-alias>
レスポンスから qualityGateId を抽出します。
手順 2 — 各ルールを sObject レコードとして作成する
ルールは Connect API のペイロードでは受け付けられないため、DevopsQualityGateRule レコードとして直接作成します。ユーザーが指定したルールのみを作成してください。ESSENTIAL にはしきい値がありません。
sf data create record \
--sobject DevopsQualityGateRule \
--values "DevopsQualityGateId='<qualityGateId>' Rule='PASS_PERCENTAGE' Threshold=<value>" \
--target-org <doce-org-alias> --json
sf data create record \
--sobject DevopsQualityGateRule \
--values "DevopsQualityGateId='<qualityGateId>' Rule='ESSENTIAL'" \
--target-org <doce-org-alias> --json
sf data create record \
--sobject DevopsQualityGateRule \
--values "DevopsQualityGateId='<qualityGateId>' Rule='SEVERITY' Threshold=<value>" \
--target-org <doce-org-alias> --json
手順 3 — ゲートをスイートステージに関連付ける
新しいゲートを関連付けるため、DevopsTestSuiteStage レコードを更新します。
sf data update record \
--sobject DevopsTestSuiteStage \
--record-id <testSuiteStageId> \
--values "IsQualityGateEnabled=true DevopsQualityGateId='<qualityGateId>'" \
--target-org <doce-org-alias> --json
成功した場合
ユーザーに次のように確認します。
"品質ゲート
<gateName>を<N>件のルールで作成し、<stageName>の<suiteName>に割り当てました。"
エラー処理
生の API エラーを決して公開しないでください。次の応答を使用します。
| ステータス | 応答 |
|---|---|
| 400 | "品質ゲートの設定が無効です。すべてのルールタイプとしきい値が正しいことを確認してください。" |
| 403 | "この組織で品質ゲートを設定する権限がありません。" |
| 500 | "サーバーエラーが発生しました。数分後にもう一度お試しください。" |
関連スキル
- しきい値を満たした後にゲートを再実行するには、
running-devops-test-suite(再トリガーモード)を使用します。 - スイートをステージに割り当てる、またはマッピングするには、
managing-suite-assignmentsを使用します。