mcpField
C
configuring-quality-gate

configuring-quality-gate

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

configuring-quality-gate について

品質ゲートを作成し、指定されたルールを追加して、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-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 を使用します。

コメント