mcpField
P
platform-agentexchange-partner-offers-configure

platform-agentexchange-partner-offers-configure

github.com/forcedotcom其他1.1k4.9k 次安装1 天前更新
代码仓库

关于 platform-agentexchange-partner-offers-configure

供 Salesforce 团队配置并验证组织是否可接收 Transactable Marketplace 合作伙伴报价的技能。它通过 Metadata API 设置偏好项,并要求部署前确认。

主要功能

  1. 01读取当前偏好值
  2. 02启用或停用报价接收资格
  3. 03写入设置元数据文件
  4. 04部署并验证设置

适用场景

  1. 01为订阅方组织启用合作伙伴报价接收
  2. 02停用 Marketplace 合作伙伴报价接收

安装

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

$npx skills add https://github.com/forcedotcom/sf-skills --skill platform-agentexchange-partner-offers-configure

安装后在 Claude Code 中输入/platform-agentexchange-partner-offers-configure确认已加载。

附带文件assets/org-pref-template.mdexamples/org-preference-settings.xml

详细介绍

启用可交易 Marketplace 接收合作伙伴报价组织偏好设置

此技能通过 TransactableMarketplacePrivateOfferSettings Metadata API 类型配置 enableTransactableMarketplaceReceivePartnerOffers 组织偏好设置,该设置控制 Salesforce 组织是否有资格通过 Transactable Marketplace 接收合作伙伴报价。参与 TM 合作伙伴报价流程的订阅者组织必须启用此设置。

范围

  • 范围内:读取偏好设置的当前值,通过 Metadata API(TransactableMarketplacePrivateOfferSettings)启用或停用该设置,并验证更改是否生效。
  • 范围外:创建或管理合作伙伴报价记录、配置 Marketplace 列表,或进行与报价处理相关的 Apex/触发器更改。

必需输入

  • 目标组织别名或用户名:要设置此偏好项的组织。如果用户未提供,请询问。
  • 目标状态:true(启用)或 false(停用)。默认值:true。

工作流

阶段 1 — 检查当前状态
  1. 查询当前偏好设置值,运行:

    sf data query -q "SELECT Preference, Value FROM OrgPreference WHERE Preference = 'TransactableMarketplaceReceivePartnerOffers'" --target-org <alias> --use-tooling-api
    

    如果记录存在且 Value = true,则表示偏好设置已启用——继续操作前请向用户确认。 如果查询未返回任何行,则表示尚未设置此偏好项(默认为 false)。

  2. 解析组织的包目录以确定元数据的写入位置。运行以下命令,并将其输出用作 <packageDir>:

    jq -r '.packageDirectories[0].path // "force-app/main/default"' sfdx-project.json
    
阶段 2 — 应用偏好设置
  1. 写入 TransactableMarketplacePrivateOfferSettings 元数据文件——加载 assets/org-pref-template.md,以获取确切的 XML 结构,然后将文件写入:

    <packageDir>/settings/TransactableMarketplacePrivateOffer.settings
    

    设置 <enableTransactableMarketplaceReceivePartnerOffers>true</enableTransactableMarketplaceReceivePartnerOffers>(如果要停用,则设置为 false)。

  2. 将元数据部署到目标组织。运行部署前,请向用户确认:

    • 已与用户确认目标组织别名(部署到错误的组织不容易撤销)
    • 已确认目标状态(true/false)符合用户意图
    sf project deploy start --metadata TransactableMarketplacePrivateOfferSettings --target-org <alias>
    
阶段 3 — 验证
  1. 确认更改:重新运行步骤 1 中的 Tooling API 查询,并验证 Value 列与目标状态相符。

  2. 向用户报告——参见下文的输出要求。


规则 / 约束

规则原因
写入元数据前,始终查询当前值避免不必要的部署,并发现冲突的更改
使用 TransactableMarketplacePrivateOfferSettings 作为元数据类型这是平台为此偏好项注册的具体类型,而非通用的 OrgPreferenceSettings
设置文件必须命名为 TransactableMarketplacePrivateOffer.settingsMetadata API 要求文件名与设置节点名称一致
不要硬编码 force-app/main/default/始终读取 sfdx-project.json 以确定实际的包目录
未与用户确认组织别名前,绝不部署部署到错误的组织不容易撤销

常见问题

问题解决方法
Tooling API 查询未返回任何行首选项未设置(默认为 false)。可以安全地创建新的设置文件。
部署失败并报错 INVALID_TYPE元数据类型名称为 TransactableMarketplacePrivateOfferSettings——请检查 --metadata 标志的值。
部署成功,但值未更改项目中的另一个设置文件可能覆盖了此文件。请在项目中搜索其他 TransactableMarketplacePrivateOffer.settings 文件。
部署时出现 INSUFFICIENT_ACCESS_OR_READONLY执行部署的用户必须在目标组织中拥有“Modify All Data”权限或组织首选项管理员权限。
首选项未显示在 UI 中enableTransactableMarketplaceReceivePartnerOffers 不会显示在 Setup UI 中——Tooling API 查询是唯一的验证方式。
仅从 API 版本 67.0 起可用此类型从 API v67.0 起可用——针对更早的 API 版本进行部署将会失败。

输出要求

完成所有阶段后,报告:

Org: <alias>
Preference: enableTransactableMarketplaceReceivePartnerOffers
Previous value: <true|false|unset>
New value: <true|false>
File written: <packageDir>/settings/TransactableMarketplacePrivateOffer.settings
Deploy status: Success

参考文件索引

文件何时阅读
assets/org-pref-template.md第 2 阶段,第 3 步——将其用作设置文件的精确 XML 结构
examples/org-preference-settings.xml用于验证生成的文件是否符合预期格式

评论

支持 Markdown