Tools for deploying/retrieving package files using Salesforce Metadata API via JSforce.
Provides command line interface (CLI) to easily deploy/retrieve packages.
$ npm install jsforce-metadata-tools -g
$ jsforce-deploy -u username@example.org -p ${SF_PASSWORD} -D ./path/to/packageDir
$ jsforce-deploy -u username@example.org -p ${SF_PASSWORD} -Z ./path/to/package.zip
(Assuming that ./path/to/packageDir
directory has a package.xml
file inside)
$ jsforce-retrieve -u username@example.org -p ${SF_PASSWORD} -D ./path/to/packageDir
$ jsforce-retrieve -u username@example.org -p ${SF_PASSWORD} --memberTypes "ApexClass:Class1,Class2;ApexPage:*" -D ./path/to/distDir
$ jsforce-retrieve -u username@example.org -p ${SF_PASSWORD} --packageNames "Package1,Package2" -D "./path/to/distDir1,./path/to/distDir2"
$ jsforce-retrieve -u username@example.org -p ${SF_PASSWORD} -P ./path/to/package.xml -D ./path/to/distDir
$ jsforce-retrieve -u username@example.org -p ${SF_PASSWORD} --packageName Package1 -Z ./path/to/package.zip
Once the authorization is done in JSforce REPL, the same connection is also valid here (no password required)
$ jsforce
> .authorize
...
(OAuth authorization flow)
...
Received authorization code. Please close the opened browser window.
Authorized. Fetching user info...
Logged in as : username@example.org
> .exit
$ jsforce-deploy -c username@example.org -D ./path/to/packageDir