Je souhaite sauvegarder automatiquement les métadonnées Salesforce par exécution de planification, J'ai exécuté ANT à partir du planificateur de tâches Windows pour créer un outil permettant de planifier des sauvegardes automatiques.
Ce dont vous avez besoin est le suivant. -Installation d'Apache Ant -Installation de Java JDK ・ Installation de Python3
Cliquez sur le lien ci-dessous pour obtenir un guide détaillé sur la sortie de Salesforce à l'aide d'ANT. (Il y a aussi une description de la façon d'installer ANT et Java) · Publication des modifications à l'aide de l'outil de migration Ant
Cliquez sur le lien ci-dessous pour installer Python. ・ Installer Python3
myorg/
┣unpackaged
┃ ┗package.xml
┣build.properties
┣build.xml
┣modifyXML.py
┣backupByDateTime.bat
-Unpackaged / package.xml: définissez le type de métadonnées que vous souhaitez récupérer · Build.properties: définit les informations de connexion à l'organisation Salesforce.
build.properties
sf.username = [email protected]
sf.password = xxxyyyzzz
sf.serverurl = https://login.salesforce.com
sf.maxPoll = 20
-Build.xml: définit les commandes à exécuter par Ant.
build.xml
<?xml version='1.0' encoding='UTF-8'?>
<project xmlns:sf="antlib:com.salesforce" name="Sample usage of Salesforce Ant tasks" default="test" basedir=".">
<property file="build.properties" />
<property environment="env" />
<condition property="sf.username" value=""> <not> <isset property="sf.username" /> </not> </condition>
<condition property="sf.password" value=""> <not> <isset property="sf.password" /> </not> </condition>
<condition property="sf.sessionId" value=""> <not> <isset property="sf.sessionId" /> </not> </condition>
<taskdef resource="com/salesforce/antlib.xml" uri="antlib:com.salesforce">
<classpath>
<pathelement location="../ant-salesforce.jar" />
</classpath>
</taskdef>
<target name="retrieveUnpackaged">
<mkdir dir="backupxxxxxxxxx" />
<sf:retrieve username="${sf.username}" password="${sf.password}" serverurl="${sf.serverurl}" maxPoll="${sf.maxPoll}" retrieveTarget="backup0111163434" unpackaged="unpackaged/package.xml" />
</target>
</project>
-ModifyXML.py: un programme qui édite build.xml
modifyXML.py
import xml.etree.ElementTree as ET
import datetime
#Analyser XML
tree = ET.parse('build.xml')
ET.register_namespace('sf', 'antlib:com.salesforce')
#Obtenir du XML
root = tree.getroot()
now = datetime.datetime.now()
dt_string = now.strftime('%m%d%H%M%S')
for e_mkdir in root.iter('mkdir'):
e_mkdir.set('dir', 'backup' + dt_string)
for e_ret in root.iter("{antlib:com.salesforce}retrieve"):
e_ret.set('retrieveTarget', 'backup' + dt_string)
#sauvegarder
tree.write('build.xml', 'UTF-8', True)
-BackupByDateTime.bat: Un fichier de commandes qui exécute le python ci-dessus et exécute les commandes ANT.
backupByDateTime.bat
python modifyXML.py
Ant retrieveUnpackaged
Planifiez le fichier de commandes ci-dessus avec le planificateur de tâches Windows. Reportez-vous à ici pour les paramètres du planificateur.
Vous pouvez également ouvrir le dossier ci-dessus et double-cliquer sur le fichier de commandes.
Lors de l'exécution, un dossier nommé "date et heure d'exécution de la sauvegarde en secondes" est créé dans le dossier, Les métadonnées sont stockées dans ce dossier.
Utilisez-le pour les projets de développement Salesforce, par exemple lorsque vous devez effectuer une sauvegarde régulière de l'environnement de production, de vérification et de développement.
Quand j'ai partagé les créations au sein de l'entreprise, il y avait une voix disant "Gérer les dossiers acquis avec Git", donc si vous avez le temps, j'aimerais essayer cela aussi.
Recommended Posts