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。

评论

支持 Markdown