mcpField
S
syncing-test-providers

syncing-test-providers

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

关于 syncing-test-providers

用于重新同步 DevOps Center 流水线中已配置测试提供方的 Salesforce 技能,使提供方新增的套件可供阶段分配。同步前需确认,操作以异步方式运行。

主要功能

  1. 01列出流水线测试提供方
  2. 02同步已配置的提供方
  3. 03同步前要求确认
  4. 04异步运行提供方同步

适用场景

  1. 01刷新已配置提供方的测试套件
  2. 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 — 用于推荐运行哪些新同步的套件。

评论

支持 Markdown