mcpField
P
platform-agentexchange-partner-offers-enable

platform-agentexchange-partner-offers-enable

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

关于 platform-agentexchange-partner-offers-enable

用于 Salesforce 组织管理的技能,可配置组织是否能通过 Transactable Marketplace 接收合作伙伴报价。它先检查当前偏好设置,再部署所需配置并验证结果。

主要功能

  1. 01读取当前组织偏好设置
  2. 02启用或禁用接收合作伙伴报价
  3. 03通过 Metadata API 部署设置
  4. 04验证部署后的偏好值
  5. 05部署前要求确认

适用场景

  1. 01为订阅者组织启用接收合作伙伴报价
  2. 02禁用 Transactable Marketplace 偏好设置
  3. 03部署后确认偏好设置已更改

安装

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

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

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

附带文件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