关于 configuring-test-provider
此技能用于在 Salesforce DevOps Center 流水线上配置可用的测试提供方,使其测试套件可分配到阶段。它会先检查提供方状态,并要求确认后才执行配置。
主要功能
- 01列出流水线测试提供方及状态
- 02确认后配置可用提供方
- 03避免创建重复配置记录
- 04将重新同步和阶段分配引向对应技能
适用场景
- 01让提供方的测试套件可分配到阶段
- 02检查提供方是否已配置
- 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。请改为:
- 明确说明该提供方已配置,并在返回了同步套件数量和上次同步时间时一并说明(例如:“Flow Tests 已在
<pipelineName>上配置,并已同步 3 个套件(上次同步时间为 2026-06-23)。”)。 - 判断用户的实际目标,并明确指出名称进行引导:
- 如果用户说分配测试到阶段时看不到该提供方的套件,这是阶段分配缺失,而非提供方配置缺失 — 这些套件已经存在于流水线级别,只需将其关联到阶段。引导至
managing-suite-assignments。 - 如果用户期待的是新创建但尚未同步的套件,引导至
syncing-test-providers(通过POST /connect/devops/sync重新同步)以获取这些套件。
- 如果用户说分配测试到阶段时看不到该提供方的套件,这是阶段分配缺失,而非提供方配置缺失 — 这些套件已经存在于流水线级别,只需将其关联到阶段。引导至
- 不要返回配置流程 — 说明并引导后妥善结束。
步骤 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— 用于推荐应运行哪些新可用套件。