我的任务是将旧。org的所有报告上传到一个全新的。org
我发现可以通过。xml文件从旧的。org检索报告,并通过工作台将其上传到新的组织。这样的
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>FOLDERA/REPORTA</members>
<members>FOLDERB/REPORTB</members>
<name>Report</name>
</types>
<version>43.0</version>
我已经测试了这种方式,它确实工作良好
,
旧的。org包含数千个报告,一次遍历每个文件夹,每次都自定义.xml文件,这将是相当令人厌烦的。
调用*刚刚检索到一个名为"unpacked"的空文件夹;包含名为"packaged"但不幸的是,仅此而已。
<?xml version="1.0" encoding="UTF-8"?>
<Package
xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>*</members>
<name>Report</name>
</types>
<version>43.0</version>
是否有一种方法可以同时大量下载、传输和上传所有的报告和文件,以便我在新的和"干净"的文件中拥有完全相同的结构?.org ?
我很感激任何反馈!
提前谢谢你!
完全自动化是有点混乱。你需要学习文件夹名称,然后有一个元数据API调用listMetadata
,你给文件夹名称(报告,仪表板,电子邮件模板…),它会告诉你里面有什么。有一种方法可以自动化它(旧的开发工具称为Force.com IDE能够,如果你有一个使用VSCode的开发人员,有一个不错的插件来构建包。xml…)如果您只是需要一次性的,那么在工具上可能会有太多的投资。
看这个查询是否给你有希望的结果
SELECT FolderName, DeveloperName
FROM Report
ORDER BY FolderName, DeveloperName
将结果放入Excel,一些公式,大量搜索-替换,您应该能够为您的包创建<member>...</member>
行?