用途
本技能用于在 DevOps Center 流水线上配置一个可用的测试提供程序(例如 Apex Unit Tests、Code Analyzer、Flow Tests、Provar),通过 Connect API 完成配置,使其测试套件可被分配到流水线阶段。
主要能力
- 获取流水线当前所有测试提供程序,解析出 testProviderId,并确认哪些提供程序仍处于 Available(未配置)状态。
- 按状态分组展示提供程序摘要(已配置 / 可用)。
- 在用户明确确认后,调用配置端点将指定提供程序配置到流水线上。
- 对已配置的提供程序不重复配置,避免产生重复的 DevopsPipelineTestProvider 记录,并根据用户实际目标重定向到相应技能。
- 将 API 错误状态码映射为通俗语言提示,不暴露原始错误信息、堆栈或 JSON 负载。
使用方式
前置条件:需先加载 checking-devops-prerequisites 技能,完成前置条件 1–4(组织登录、Agentforce DX 插件、DevOps Center 组织认证、识别流水线)。前置条件 5(阶段)不需要,因为提供程序是在流水线级别配置,而非阶段级别。
所需变量:
- doce-org-alias:在前置条件 1 中建立。
- pipelineId:在前置条件 4(流水线选择)中识别。
- testProviderId:通过获取流水线的测试提供程序解析得到。
步骤 1 — 获取测试提供程序以解析提供程序 ID:
sf api request rest \
"/services/data/v67.0/connect/devopstesting/pipeline/<pipelineId>/testProviders?status=all" \
--target-org <doce-org-alias>
每个提供程序条目包含 testProviderId、testProviderName 和状态(Configured 与 Available)。按状态分组展示简短摘要。只有 Available 的提供程序才能被配置。如果流水线没有可用的提供程序,应报告并停止,不得编造提供程序或 ID。
如果指定的提供程序已配置:不要展示确认环节,也不要向配置端点发送 POST(步骤 2–3),否则会创建重复的 DevopsPipelineTestProvider。应直接说明该提供程序已配置,包括其已同步的套件数量和最近同步时间(如返回)。然后诊断用户的实际目标并按名称重定向:若用户表示在向阶段分配测试时看不到该提供程序的套件,这是阶段分配缺口而非提供程序配置缺口,应重定向到 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 — 用于推荐新可用套件中应运行哪些。
适用场景
适用于需要在 DevOps Center 流水线上首次启用某个测试提供程序,使其测试套件可被分配到流水线阶段的场景。
限制
- 仅能配置状态为 Available 的提供程序;无可用提供程序时应停止,不得编造。
- 配置前必须获得用户明确确认。
- 对已配置的提供程序不得重复调用配置端点,否则会产生重复记录。
- 需先完成前置条件 1–4。
- 关于收费、价格、平台支持范围等具体信息,资料中暂未提供。