mcpField
M
managing-suite-assignments

managing-suite-assignments

github.com/forcedotcom测试与质量1.1k251 次安装1 天前更新
代码仓库

关于 managing-suite-assignments

用于 Salesforce DevOps 测试的技能,可将测试套件分配到流水线阶段或同步套件变更。它为单次分配、批量映射和类更新规定确认流程,并使用统一 API。

主要功能

  1. 01将单个套件分配到阶段
  2. 02添加或移除多个套件映射
  3. 03同步套件中的测试类
  4. 04API 变更前要求确认
  5. 05按状态码提供错误提示

适用场景

  1. 01将现有套件关联到流水线阶段
  2. 02更新测试策略中的套件映射
  3. 03将审核后的测试纳入套件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill managing-suite-assignments

安装后在 Claude Code 中输入/managing-suite-assignments确认已加载。

详细介绍

管理测试套件分配

前提条件

请先加载 checking-devops-prerequisites — 前提条件 1–4 和前提条件 5(阶段)。在任何模式下继续操作之前,都需要 doce-org-alias、pipelineId 和 stageId。

变量说明
doce-org-alias在前提条件 1 中确定
pipelineId在前提条件 4(流水线选择)中确定
stageId在前提条件 5(阶段选择)中确定
eventPre-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>移除

确认应用所有更改?”

只有在用户明确确认后才能继续。

成功时

“测试套件映射已应用。<N> 个测试套件已针对 <stageName> 阶段更新。”


模式 C — 在测试套件中添加/移除测试类

当用户希望在现有测试套件分配中添加或移除单个测试类、将审核过的测试同步到测试套件,或将测试提升到测试套件时,请使用此模式。

还需要提供以下输入:

输入来源
testSuiteOperations{testSuiteId, action: "add"|"remove"} 列表

治理规则

  • 未经明确批准,绝不可调用此项。 在进行此调用之前,必须重新向用户展示由 AI 审核或修改过的测试。
  • 必须从请求内容中排除被拒绝的测试 — 即使它们之前已在测试套件中,也不得包含。
  • 如果测试在审核过程中经过修改,请在请求确认前重新展示最终测试列表。

确认关卡

必须执行 — 不得跳过。 调用前向用户展示完整的更改列表:

“我即将将以下更改同步到测试套件:

  • 添加: <testSuiteName1>、<testSuiteName2>
  • 移除: <testSuiteName3>
  • 阶段:<stageName> | 事件:<event>

确认?”

收到明确确认后方可继续。

成功时

向用户确认:

“<stageName> 阶段的测试套件已成功更新。”


系统调用

三种模式使用相同的端点。执行前,请替换所有 <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 是否正确,以及事件类型是否有效。"
403"你没有权限修改此流水线上的套件分配。"
404"未找到该流水线或阶段。"
500"发生了服务器错误。请几分钟后重试。"

相关技能

  • syncing-test-providers — 如果要分配的套件尚未显示,请使用此技能;重新同步提供商会拉取新添加的套件。
  • recommending-devops-tests — 如果尚未确定套件,且需要推荐要分配的套件,请使用此技能。
  • configuring-quality-gate — 映射套件后,使用此技能在阶段上配置质量门禁。
  • analyzing-test-failures — 使用此技能分析套件中的测试失败并获取改进建议。

评论

支持 Markdown