【发布时间】:2011-11-15 11:54:15
【问题描述】:
我希望使用 Force.com ant 迁移工具检索所有电子邮件模板。我相信我们不能批量检索电子邮件模板、报告等。
有没有什么方法可以在不指定每个模板名称的情况下一次性检索所有电子邮件模板?我相信我们可以使用 Metadata API 进行一些自定义实现,但想知道是否有人已经为它实现了自定义 ant 任务。
提前致谢。
【问题讨论】:
标签: salesforce force.com
我希望使用 Force.com ant 迁移工具检索所有电子邮件模板。我相信我们不能批量检索电子邮件模板、报告等。
有没有什么方法可以在不指定每个模板名称的情况下一次性检索所有电子邮件模板?我相信我们可以使用 Metadata API 进行一些自定义实现,但想知道是否有人已经为它实现了自定义 ant 任务。
提前致谢。
【问题讨论】:
标签: salesforce force.com
电子邮件模板、报告等位于文件夹中,因此您必须为sf:bulkRetrieve 任务提供containingFolder 属性,您将取回该文件夹中的所有项目。例如:
<sf:bulkRetrieve
username="${sf.username}"
password="${sf.password}"
serverurl="${sf.serverurl}"
retrieveTarget="retrieveUnpackaged"
metadataType="EmailTemplate"
containingFolder="SalesTemplates"
/>
要查找文件夹名称本身,您可以查询Folder 对象并在Type 列上过滤您感兴趣的元数据类型。例如:
SELECT DeveloperName FROM Folder WHERE Type = 'Email'
【讨论】:
您是否尝试过在 mainfest 文件中包含以下内容。?它应该检索所有电子邮件模板:
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>EmailTemplate</name>
</types>
<version>23.0</version>
</Package>
【讨论】:
如果您有文件夹/模板名称,则可以单独部署,但不要使用通配符。
(您可能可以编写成员列表并构建一个动态的 .xml 构建文件)
<types>
<members>Simple_Survey</members>
<members>Simple_Survey/Alert_Managers_NPS_Survey_Created</members>
<name>EmailTemplate</name>
</types>
【讨论】: