Skip to content

Instantly share code, notes, and snippets.

@JitendraZaa
Created August 27, 2017 22:51
Show Gist options
  • Select an option

  • Save JitendraZaa/0fccf2ec92b7a06649f9e3f2c4048100 to your computer and use it in GitHub Desktop.

Select an option

Save JitendraZaa/0fccf2ec92b7a06649f9e3f2c4048100 to your computer and use it in GitHub Desktop.
How to Retrieve and Deploy Custom Metadata Types using ANT
# build.properties
sfSandbox.serverurl = https://test.salesforce.com
sfPRO.serverurl = https://login.salesforce.com
sfdc.Org2.username=Org2@gmail.com
sfdc.Org2.password=Org2Pwd
sfdc.Org2.retrieveTarget=Org2\\src
sfdc.Org2.unpackaged=Org2\\src\\package.xml
sfdc.Org2.retrieveMessage= Script to retrieve metadata from Org2
sfdc.Org1.username=Org1@gmail.com
sfdc.Org1.password=Org1Pwd
sfdc.Org1.retrieveTarget=Org1\\src
sfdc.Org1.unpackaged=Org1\\src\\package.xml
sfdc.Org1.retrieveMessage= Script to retrieve metadata from Org1pur@gmail.com
root.dir=C:\\ProjectPath\\Personal Orgs
<project name="Deployment Scripts" default="dev11" basedir="." xmlns:sf="antlib:com.salesforce">
<property file="build.properties"/>
<property environment="env"/>
<property name="test.Level" value="NoTestRun"/>
<property name="test.Level.LocalRun" value="RunLocalTests"/>
<target name="Org1">
<echo message="${sfdc.Org1.retrieveMessage}"/>
<echo message="${sfdc.Org1.username}"/>
<echo message="folder - ${root.dir}/${sfdc.Org1.retrieveTarget}"/>
<echo message="path - ${root.dir}/${sfdc.Org1.unpackaged}"/>
<sf:retrieve
username="${sfdc.Org1.username}"
password="${sfdc.Org1.password}"
serverurl="${sfPRO.serverurl}"
retrieveTarget="${root.dir}/${sfdc.Org1.retrieveTarget}"
unpackaged="${root.dir}/${sfdc.Org1.unpackaged}"
/>
</target>
<target name="Org2_deploy">
<echo message="Deploy to Org ${sfdc.Org2.username}"/>
<echo message="Defploy from folder - ${root.dir}\${sfdc.Org1.retrieveTarget}"/>
<sf:deploy
username="${sfdc.Org2.username}"
password="${sfdc.Org2.password}"
serverurl="${sfPRO.serverurl}"
deployRoot="${root.dir}/${sfdc.Org1.retrieveTarget}"
maxPoll="1000"
testLevel="${test.Level}"
checkOnly="false"
pollWaitMillis="10000"
rollbackOnError="true"/>
</target>
</project>
<?xml version="1.0" encoding="UTF-8"?>
<Package xmlns="http://soap.sforce.com/2006/04/metadata">
<types>
<members>Salesforce_Feature.Einstein_Wave</members>
<members>Salesforce_Feature.Platform_Shield</members>
<members>Salesforce_Feature.Sales_Cloud</members>
<members>Salesforce_Feature.Service_Cloud</members>
<name>CustomMetadata</name>
</types>
<types>
<members>Salesforce_Feature__mdt</members>
<name>CustomObject</name>
</types>
<version>39.0</version>
</Package>
@timothywlewis
Copy link

As of sfdx-cli v45, you can do the equivalent using this one-liner:

sfdx force:source:retrieve -m "CustomObject:Salesforce_Feature__mdt,CustomMetadata:Salesforce_Feature.Einstein_Wave,CustomMetadata:Salesforce_Feature.Platform_Shield,CustomMetadata:Salesforce_Feature.Sales_Cloud,CustomMetadata:Salesforce_Feature.Service_Cloud"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment