如何使用 Trialforce 模板创建 Scratch Org

更新时间:

问题描述

Scratch Org 是完全可配置的,允许开发者模拟具有不同功能和设置的不同 Salesforce 版本。如其名称所述,Scratch Org 默认为空租户Org,这意味着它们几乎不包含任何样本元数据。然而,有时您可能想要在 Scratch Org 中使用预定义的元数据或已安装的包开始工作。简而言之,您想知道如何使用模板来创建 Scratch Org。

解决方案

阿里云上的 Salesforce 允许您基于自己的Dev Org的结构创建自己的 Trialforce 模板。您可以使用 Trialforce 模板来创建 Scratch Org,以便于您的日常开发和功能测试。您可以按照以下步骤来实现这一目标。

说明

此功能仅提供给 ISV 合作伙伴。您可以参考此链接了解如何成为阿里云上的Salesforce ISV 合作伙伴。

步骤1 - 定义您的 Trialforce Source Org(TSO)

定义您的 Trialforce Source Org(TSO),这将用于创建模板。Trailforce Source Org是您的Dev Org,其中包含您希望在创建 Scratch Org 时包含的所需数据、元数据和包。

创建 Trialforce 模板

  1. 在您的 Trialforce Source Org 中,转到设置 -> Trialforce。

image

说明

如果没有 Trialforce 选项,请联系阿里云上的 Salesforce 技术支持以启用相关权限。

  1. 点击新建 Trialforce 模板,并选择您开发工作所需的选项。

image

  1. 点击保存,模板创建完成后您将收到通知。您可能需要等待几分钟才能收到类似下方截图的电子邮件通知。或者您可以刷新页面查看模板是否已完成。

image

步骤2 - 在您的 Scratch Org 定义文件中包含 TSO 模板 ID

记下您上面创建得到的以 0TT 为前缀的独特模板 ID。然后,您可以在您的 Scratch 定义 JSON 文件project-scratch-def.json中包含您的TSO模板 ID,如下例所示:

{
"orgName": "Acme",
"username": "acme@abc.com",
"adminEmail": "your admin email address",
"template": "Your template ID",
"features": ["Communities", "ServiceCloud"],
"settings": {
}
}

步骤3 - 使用包含 TSO 模板 ID 的Scratch Org 定义文件创建 Scratch Orgs

您可以使用以下CLI命令示例,基于之前创建好的template进行scratch org创建。

sf org create scratch -f config/project-scratch-def.json -d -a <Alias> --target-dev-hub <Your Devhub Alias>

说明

如果过程中遇到如下报错信息,请联系阿里云上的 Salesforce 技术支持以启用相关权限。

Error (INVALID_FIELD): No such column 'Template' on sobject of type ScratchOrgInfo.