关于 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。
评论
支持 Markdown