# Exécuter un script personnalisé sur vos projets

Le builder d'Intégration continue Talend vous permet d'exécuter un script personnalisé sur vos projets, à l'aide des commandes mvn org.talend.ci:builder-maven-plugin:8.0.X:executeScript et -DexecuteRawScript=true/false.

## Avant de commencer

## Pourquoi et quand exécuter cette tâche

Pour exécuter un script personnalisé sur vos projets :

## Procédure

Exécutez la commande mvn org.talend.ci:builder-maven-plugin:8.0.X:executeScript et les commandes -DscriptFile et -DexecuteRawScript=true/false dans le répertoire dans lequel le checkout de vos projets a été effectué.

Avant d'exécuter le script sur vos projets, gardez à l'esprit les éléments suivants :

* Si -DexecuteRawScript=false (par défaut) :

  * la connexion à chaque projet disponible dans l'espace de travail est automatiquement établie,
  * la commande createProject est exécutée dans l'espace de travail et déclare tous les projets détectés dans l'espace de travail,
  * l'instance d'intégration continue du CommandLine exécute ensuite le script client sur tous les projets détectés dans l'espace de travail, sauf si vous avez filtré vos projets à l'aide du paramètre -DprojectFilter.

  Exemple :

  ```
  # The content of the script named importFile.txt
  importItems /home/talend/Patch_dynamic_issue.zip
  regenerateAllPoms
  ```

  ```
  # To execute the importFile.txt custom script 
  mvn org.talend.ci:builder-maven-plugin:<version>:executeScript 
  -Dlicense.path=/home/talend/studio/license 
  <!-- This parameter is only supported and needed for users with Talend Studio 8.0.1 R2024-04 or lower
  -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base -->
  -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-01  
  -DscriptFile=D:/importFile.txt 
  ```

  Ce script sera ensuite exécuté sur tous les projets détectés (ici, TALEND\_CI\_1 et TALEND\_CI\_2). Ce script appelle la commande importItems pour importer un fichier archive et la commande regenerateAllPoms pour générer à nouveau les fichiers POM de vos projets :

  ```
  initLocal
  logonProject -pn 'TALEND_CI_1' -ul 'jobbuilder@talend.com' -gt 
  importItems /home/talend/Patch_dynamic_issue.zip -o 
  regenerateAllPoms
  logoffProject
  logonProject -pn 'TALEND_CI_2' -ul 'jobbuilder@talend.com' -gt 
  importItems /home/talend/Patch_dynamic_issue.zip -o regenerateAllPoms
  logoffProject
  ```

* Si -DexecuteRawScript=true :

  * le script exécute une seule fois les commandes spécifiées,
  * la connexion aux projets n'est pas établie automatiquement et les paramètres dédiés doivent être déclarés manuellement (initLocal, createProject, logonProject et logoffProject).

  Exemple :

  ```
  # The content of the script named importFile.txt
  initLocal
  logonProject -pn 'TALEND_CI_1' -ul 'jobbuilder@talend.com' -gt 
  importItems /home/talend/Patch_dynamic_issue.zip -o 
  regenerateAllPoms
  logoffProject
  ```

  ```
  # To execute the importFile.txt custom script 
  mvn org.talend.ci:builder-maven-plugin:<version>:executeScript 
  -DexecuteRawscript=true
  -Dlicense.path=/home/talend/studio/license 
  <!-- This parameter is only supported and needed for users with Talend Studio 8.0.1 R2024-04 or lower
  -Dtalend.studio.p2.base=https://update.talend.com/Studio/8/base -->
  -Dtalend.studio.p2.update=https://update.talend.com/Studio/8/updates/R2023-01  
  -DscriptFile=d:/importFile.txt 
  ```

  Ce script sera exécuté en fonction des commandes précédemment déclarées. Ce script appelle la commande importItems pour importer un fichier archive et la commande regenerateAllPoms pour générer à nouveau tous les fichiers POM de votre projet TALEND\_CI\_1 :

  ```
  initLocal
  logonProject -pn 'TALEND_CI_1' -ul 'jobbuilder@talend.com' -gt 
  importItems /home/talend/Patch_dynamic_issue.zip -o 
  regenerateAllPoms
  logoffProject
  ```

Pour plus d'informations concernant les paramètres relatifs à l'intégration continue, consultez [Paramètres CI Builder relatifs à Maven](https://help.qlik.com/talend/fr-FR/software-dev-lifecycle-best-practices-guide/8.0/cibuilder-maven-build-options).

Pour plus d'informations concernant Talend CommandLine, consultez [API de Talend CommandLine](https://help.qlik.com/talend/fr-FR/software-dev-lifecycle-best-practices-guide/8.0/cmdl-api "L'aide exhaustive vous permet d'obtenir toutes les commandes disponibles, lorsque vous saisissez la commande -help dans votre application Talend CommandLine.").