mcpField
C
configuring-test-provider

configuring-test-provider

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

关于 configuring-test-provider

此技能用于在 Salesforce 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-test-provider

安装后在 Claude Code 中输入/configuring-test-provider确认已加载。

详细介绍

配置测试提供方

在 DevOps Center 流水线上配置可用的测试提供方,使其测试套件可供分配到流水线阶段。

需要确认: 是 — 配置提供方前必须获得明确确认。

前提条件

先加载 checking-devops-prerequisites — 前提条件 1–4(组织登录、Agentforce DX 插件、DevOps Center 组织授权、已确定流水线)。不需要前提条件 5(阶段):提供方在流水线级别配置,而非阶段级别。

变量来源
doce-org-alias在前提条件 1 中确定
pipelineId在前提条件 4(流水线选择)中确定
testProviderId通过获取流水线的测试提供方确定(如下)

步骤 1 — 获取测试提供方以确定提供方 ID

获取该流水线的所有测试提供方,以便确定 testProviderId 并确认哪些提供方仍可配置:

sf api request rest \
  "/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/testProviders?status=all" \
  --target-org <doce-org-alias>

每个提供方条目都包含 testProviderId、testProviderName 和状态(已配置与可用)。按状态分组后简要汇总:

Test providers for <pipelineName>:

✓ Configured:
- Code Analyzer (63 suites)
- Apex Unit Tests (5 suites)

Available (not yet configured):
- Flow Tests
  • 只有可用的提供方才能配置。 如果流水线没有可用的提供方,请说明这一点并停止 — 切勿捏造提供方或 ID。
如果指定的提供方已配置

不要展示确认提示,也不要向配置端点发送 POST 请求(步骤 2–3)— 否则会创建重复的 DevopsPipelineTestProvider。请改为:

  1. 明确说明该提供方已配置,并在返回了同步套件数量和上次同步时间时一并说明(例如:“Flow Tests 已在 <pipelineName> 上配置,并已同步 3 个套件(上次同步时间为 2026-06-23)。”)。
  2. 判断用户的实际目标,并明确指出名称进行引导:
    • 如果用户说分配测试到阶段时看不到该提供方的套件,这是阶段分配缺失,而非提供方配置缺失 — 这些套件已经存在于流水线级别,只需将其关联到阶段。引导至 managing-suite-assignments。
    • 如果用户期待的是新创建但尚未同步的套件,引导至 syncing-test-providers(通过 POST /connect/devops/sync 重新同步)以获取这些套件。
  3. 不要返回配置流程 — 说明并引导后妥善结束。

步骤 2 — 确认提示

必需 — 用户确认前不要调用 API。

“我将为 <pipelineName> 流水线配置 <testProviderName>。这会使其套件可供分配到各阶段。确认吗?”

在用户明确肯定答复前,不要继续。

步骤 3 — 配置提供方

确认后,使用提供方 ID 调用配置端点:

sf api request rest \
  "/services/data/v67.0/connect/devops/pipeline/<pipelineId>/testProvider" \
  --method POST \
  --body '{"testProviderId": "<testProviderId>"}' \
  --target-org <doce-org-alias>

成功后

“<testProviderName> 现已在 <pipelineName> 流水线上配置。其套件可供分配到各阶段。”

随后可使用 managing-suite-assignments 将新配置的套件分配到阶段。


重要注意事项

此 POST .../pipeline/<pipelineId>/testProvider 端点会创建新的提供方配置记录(DevopsPipelineTestProvider)。仅在首次配置提供方时使用。要为已配置的提供方重新同步新套件,请使用 syncing-test-providers(POST /connect/devops/sync)— 对已配置的提供方调用此配置端点会产生重复的 DevopsPipelineTestProvider 记录。

错误处理

切勿向用户显示原始 API 错误消息、堆栈跟踪或 JSON 负载。将响应状态码映射为通俗易懂的消息:

状态码面向用户的消息
400“请求无效。请检查提供商 ID 和流水线 ID 是否正确。”
403“你没有权限在此流水线上配置测试提供商。”
404“未找到该流水线或测试提供商。”
409“该提供商似乎已在此流水线上配置。若要获取新套件,请重新同步。”
500“发生服务器错误。请几分钟后重试。”

相关技能

  • checking-devops-prerequisites — 首先加载,以确定组织和流水线上下文。
  • syncing-test-providers — 配置提供商后,使用此技能重新同步,以获取新添加的套件。
  • managing-suite-assignments — 配置提供商后,使用此技能将其套件分配或映射到流水线阶段。
  • recommending-devops-tests — 用于推荐应运行哪些新可用套件。

评论

支持 Markdown