mcpField
D
dx-lifecycle-center

dx-lifecycle-center

github.com/forcedotcom云与 DevOps1.1k59 次安装1 天前更新
代码仓库

关于 dx-lifecycle-center

用于管理 DX Inspector 部署目标并在 Salesforce 组织间部署元数据的技能。它可列出或连接组织、管理 Lifecycle Center 组织,并执行验证、部署和快速部署;修改组织前需确认。

主要功能

  1. 01列出并解析已连接组织
  2. 02连接或修复部署目标
  3. 03管理 Lifecycle Center 组织连接
  4. 04部署、验证或快速部署组件
  5. 05轮询部署状态并报告结果

适用场景

  1. 01查看可用的部署目标
  2. 02连接新的沙盒或生产组织
  3. 03将源组织组件部署到目标组织
  4. 04检查正在运行的部署状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/forcedotcom/sf-skills --skill dx-lifecycle-center

安装后在 Claude Code 中输入/dx-lifecycle-center确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

examples/
workflows.md
references/
connect-api.md
connect-org.md
deploy.md
error-handling.md
hub-org.md
list-orgs.md
request-body.md
troubleshooting.md
scripts/
poll-deploy-status.sh
resolve-environment.sh

详细介绍

Lifecycle Center:连接组织并部署元数据

此技能用于管理用户可部署到哪些组织,以及执行部署。所有操作都在源组织中进行:即用户进行构建的组织,也是 DX Inspector 运行所在的组织。所有连接和环境都存储在该组织中。

操作

操作名称功能详情
A列出组织显示已连接到 DX Inspector 的组织(部署目标),或当前组织的详情。也会解析用户指定的目标。references/list-orgs.md
B连接组织将新的 sandbox、scratch、生产环境或 OrgFarm 组织连接为部署目标,或修复未完成的连接。用户通过链接登录。references/connect-org.md
CLifecycle Center 组织连接、修复或检查 Lifecycle Center 组织(凭据 ALMDevOpsCenterHub)。references/hub-org.md
D部署将组件从源组织部署到已连接的目标,或执行验证、快速部署,然后持续轮询直到完成。references/deploy.md

连接(B)以及部署或快速部署(D)会更改组织,因此需要先等待用户确认。列出组织、检查状态、运行验证和轮询都不会更改目标组织。

关键术语

术语含义
源组织用户进行构建的组织。使用用户指定的别名,否则使用 sf org display --json 返回的默认组织。组件必须已存在于该组织中。
DX Inspector 环境源组织中包含 Named Credential 的 DevopsEnvironment 记录。部署目标仅包括这些记录。
部署目标状态为 selectable 的环境。expired 或 unauthenticated 环境不是目标。
Lifecycle Center 组织Lifecycle Center 中心。这是单独的连接,绝不会作为部署目标。

路由(确定性)

脚本和参考资料的路径都位于此技能的文件夹内(即存放本文件的文件夹)。此技能负责处理以下所有请求。按以下规则依次选择操作;匹配的第一条规则优先。不要将这些请求交给其他技能,也不要依据一般知识回答。

#请求操作
1在任何请求中提及 Lifecycle Center 组织,无论拼写方式如何:"Lifecycle Center"、"lifecyclecenter"、"lifecycle-center"、"lifecycle_center"(匹配规则见 references/hub-org.md)C
2将组件部署、验证、快速部署或推送到某个组织、URL、组织 ID、别名或环境名称;或提供 requestId 或验证 IDD
3显示、列出或选择已连接的组织或环境;"我可以部署到哪些组织";当前组织的详情A
4连接、添加、登录、重新连接或修复组织或其凭据B
5其他与已连接组织或 DX Inspector 环境相关的请求A

Lifecycle Center 组织规则(1)有两个例外:"Dev Hub" 绝不是 Lifecycle Center 组织;"DevOps Center orgs"、"DX Inspector orgs"、"environments" 或 "orgs connected to DX Inspector" 等复数短语也不属于 Lifecycle Center 组织;应按规则 2 至 5 路由。详情见:references/hub-org.md。

解读措辞。 应用规则前,先规范化请求:转换为小写,将连字符、下划线和多余空格视为单个空格,并忽略标点、五个或更多字母的单词中的单字母拼写错误,以及 "please"、"can you"、"I want to" 等填充词。(规则 1 还使用 references/hub-org.md 中描述的两种形式。)然后根据下方各组中的任意词语进行匹配;无需完全匹配短语。

操作动作词(任意形式,例如“deploy”“deploying”“deployment”)对象词
Ddeploy、deployment、validate、validation、check only、dry run、quick deploy、quickdeploy、push、send、ship、move、copy、release、add 或 install(当对象是组件时)components、metadata、classes、flows、objects,或作为目标的命名 org(带有“to”“into”“onto”)
Bconnect、connection、add、link、hook up、hookup、authorize、authenticate、log in、login、sign in、set up、setup、register、onboard、reconnect、repair、fix、refreshorg、environment、env、sandbox、scratch、production、prod、orgfarm、org farm
Ashow、list、see、view、display、which、what、pick、choose、availableorgs、environments、envs、targets、connections、“where can I deploy”

包含 D 动作词和目标的请求,或无论使用什么动词,只要提到组件和目标的请求(“add AccountService to my QA sandbox”),都属于 D,即使请求中也包含 B 词语。对象是 org 或 environment 的 B 动作词会使请求归为 B,即使出现“connected”或“linked”等词语(“reconnect my sandbox, it shows not connected”)。只包含 B 词语的请求属于 B。只包含 A 词语的请求,或询问已连接内容的请求,属于 A。单独出现的 requestId 或“status of my deploy”属于 D。如果没有匹配的分组,请使用下面的模糊提示词表。

混合了多项任务的请求(例如“connect my sandbox and deploy AccountService to it”)采用编号最低的匹配项,本例中为 D;如果目标尚未连接,D 会自行运行 B。

模糊提示词。 如果消息只有“deploy”“push my changes”“connect an org”或类似内容,不要猜测,也不要调用任何 API。只问一个问题,以确定第一个缺失的输入:

意图按以下顺序提问
部署1. 哪些组件?(references/deploy.md,第 1 步) 2. 哪个目标 org?
连接1. “这是 sandbox 或 scratch org、production org,还是 OrgFarm org?” 2. 环境的短名称应是什么(仅限字母)?
不清楚是哪种“你想连接 org,还是部署组件?”

如果没有 DX Inspector 上下文,单独出现的“deploy”是一个问题,而不是部署请求。

始终适用的规则

  • 目标取自源 org 中的 DX Inspector 环境,绝不使用 sf org list 或本地别名。
  • 绝不部署到不可 selectable 的目标、源 org 或 Lifecycle Center org。
  • Lifecycle Center org 绝不会出现在列表中,列出内容时也不提及它。只有用户询问时才讨论它。
  • 每次调用更改 org 前都要确认:连接(connect-org.md,第 1 步)和部署(deploy.md,第 4 步)。只有 validate 模式无需确认。
  • 如果连接是从部署流程发起的,连接完成后,告知用户 org 已连接且将继续部署,然后询问是否确认部署。连接本身不会触发部署。
  • sandbox 和 scratch org 属于同一类型(SANDBOX)。对两者的 URL 一视同仁。
  • 每次 API 调用只尝试一次。绝不循环重试、超时后重新提交,或编造 id、凭据名称或状态。
  • 绝不索要、打印或传递访问令牌。绝不显示行 id 或凭据名称。
  • 绝不声称已打开浏览器。提供登录链接,并等待用户回复 done。
  • 不要猜测缺失的输入。针对第一个缺失的输入,只问一个问题。
  • 对于 URL 主机无法确定的 org 类型,要求用户确认。绝不根据环境名称推断。

用户看到的内容

操作后回复内容
A 列表仅回复表格和结束语(list-orgs.md,第 4 节)。不要提供原始 JSON,也不要额外提出其他选项。
A 未启用仅回复 list-orgs.md 第 2 节中的一句话。不要回复其他内容。
B 连接先显示带按钮样式链接的登录布局(connect-org.md,步骤 2),然后在 done 后显示已连接布局:环境名称、组织主机、类型和状态(connect-org.md,步骤 5)。
C回复 hub-org.md 中的原文句子。连接时,使用与 B 相同的登录和已连接布局,但采用 Hub 格式。
D用通俗语言报告:部署了什么、从哪里部署到哪里,以及结果如何(deploy.md,步骤 7)。不要提供原始 JSON。如果部署约 2 分钟后仍在运行:提供 requestId,说明任务正在进行,并请用户发回该 ID 以获取状态(deploy.md,步骤 6)。

如果出现故障

故障查看位置
列表或目标查找失败references/list-orgs.md,第 2 节
连接步骤失败references/troubleshooting.md
部署或验证失败references/error-handling.md
目标登录凭据已过期重新连接该环境(references/connect-org.md,修复流程),然后在重试前征求确认

参考资料

  • references/list-orgs.md:操作 A。解析器脚本、匹配状态、列表表格和未启用时的处理方式。
  • references/connect-org.md:操作 B。模式、步骤 0 到 5,以及连接组织的规则。
  • references/hub-org.md:操作 C。Lifecycle Center 组织:Hub 名称、回复内容和相关规则。
  • references/deploy.md:操作 D。部署、验证、快速部署和轮询的步骤 1 到 7。
  • references/request-body.md:部署、验证和快速部署的请求正文及测试级别。
  • references/connect-api.md:环境 API 和 setupNamedCredential 请求与响应格式、状态检查。
  • references/troubleshooting.md:连接错误代码和恢复方法。
  • references/error-handling.md:部署错误代码。
  • examples/workflows.md:每项操作的示例提示词。
  • scripts/resolve-environment.sh:只读列表和标识符解析器。
  • scripts/poll-deploy-status.sh:只读状态轮询器。读取 Simple Deploy 端点和 DevopsRequestInfo,并在失败时报告组件错误。

评论

支持 Markdown