关于 syncing-test-providers
用于重新同步 DevOps Center 流水线中已配置测试提供方的 Salesforce 技能,使提供方新增的套件可供阶段分配。同步前需确认,操作以异步方式运行。
主要功能
- 01列出流水线测试提供方
- 02同步已配置的提供方
- 03同步前要求确认
- 04异步运行提供方同步
适用场景
- 01刷新已配置提供方的测试套件
- 02使新增套件可用于阶段分配
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ forcedotcom/ sf-skills --skill syncing-test-providers安装后在 Claude Code 中输入/syncing-test-providers确认已加载。
详细介绍
同步测试提供方
在 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。
步骤 2 — 确认关卡
必须遵守 — 用户确认前不得调用 API。
“我将重新同步
<pipelineName>流水线上的<testProviderName>,以获取任何新套件。确认吗?”
在用户明确肯定答复之前,请勿继续。
步骤 3 — 触发同步
确认后,使用提供方 ID 和流水线 ID 调用同步端点:
sf api request rest \
"/services/data/v67.0/connect/devops/sync" \
--method POST \
--body '{
"testProviderIds": ["<testProviderId>"],
"pipelineId": "<pipelineId>"
}' \
--target-org <doce-org-alias>
testProviderIds 是一个列表 — 一次调用可以同步多个已配置的提供方。
成功时
“已开始同步提供方
<testProviderName>。此操作正在异步运行 — 新套件很快就会可用。”
同步会异步运行;之后可使用 managing-suite-assignments 将新同步的套件分配到各阶段。
重要注意事项
不要使用 POST /connect/devops/pipeline/<pipelineId>/testProvider 进行同步 — 该端点会创建新的提供方配置,导致出现重复的 DevopsPipelineTestProvider 记录。只能通过 POST /connect/devops/sync 进行同步。
错误处理
切勿向用户展示原始 API 错误消息、堆栈跟踪或 JSON 负载。将响应状态码转换为通俗易懂的消息:
| 状态 | 面向用户的消息 |
|---|---|
| 400 | “同步请求无效。请检查提供方 ID 和流水线 ID 是否正确。” |
| 403 | “你没有权限同步此流水线上的测试提供方。” |
| 404 | “未找到该流水线或测试提供方。” |
| 500 | “发生服务器错误。请在几分钟后重试。” |
相关技能
checking-devops-prerequisites— 首先加载,以确定组织和流水线上下文。configuring-test-provider— 用于首次配置可用的提供方;此技能仅重新同步已配置的提供方。managing-suite-assignments— 同步获取新套件后,使用此技能将套件分配或映射到流水线阶段。recommending-devops-tests— 用于推荐运行哪些新同步的套件。