Skip to content

Instantly share code, notes, and snippets.

@surajp
Last active July 17, 2022 00:43
Show Gist options
  • Save surajp/1d5c828cb099d3c160d0081ab438530a to your computer and use it in GitHub Desktop.
Save surajp/1d5c828cb099d3c160d0081ab438530a to your computer and use it in GitHub Desktop.
One-liner to retrieve all Email Templates from an org into metadata folders
#!/usr/bin/env bash
set -euo pipefail
orgname="${1:-default}"
foldername="$2"
if [[ $foldername != "" ]]; then
query="Select Folder.DeveloperName,DeveloperName from EmailTemplate where Folder.DeveloperName='$foldername'"
else
query="Select Folder.DeveloperName,DeveloperName from EmailTemplate"
fi
# echo $orgname $query
if [[ $orgname != "default" ]]; then
sfdx force:data:soql:query -q "$query" -u "$orgname" -r csv | tail -n +2 | grep -e "^[^,]" | sed 's/^/EmailTemplate:/g' | sed -z 's/,/\//g' | tr '\n' ',' | sed 's/.$//' | xargs -I '%' sfdx force:source:retrieve -m "%" -u "$orgname" -w 5
else
sfdx force:data:soql:query -q "$query" -r csv | tail -n +2 | grep -e "^[^,]" | sed 's/^/EmailTemplate:/g' | sed -z 's/,/\//g' | tr '\n' ',' | sed 's/.$//' | xargs -I '%' sfdx force:source:retrieve -m "%" -w 5
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment