# プロジェクトでカスタムスクリプトを実行

Talend CI Builderでは、mvn org.talend.ci:builder-maven-plugin:8.0.X:executeScriptコマンドと-DexecuteRawScript=true/falseコマンドを使ってプロジェクトでカスタムスクリプトを実行きます。

## 始める前に

## このタスクについて

プロジェクトでカスタムスクリプトを実行する方法:

## 手順

プロジェクトをチェックアウトしたディレクトリーで、mvn org.talend.ci:builder-maven-plugin:8.0.X:executeScriptコマンドを-DscriptFileコマンドと-DexecuteRawScript=true/falseコマンドを共に実行します。

プロジェクトでスクリプトを実行する前に、次の点に注意してください。

* -DexecuteRawScript=false (デフォルト)の場合:

  * ワークスペースで利用できる各プロジェクトに対し、接続が自動的に確立されます。
  * ワークスペース内でcreateProjectコマンドが実行され、そのワークスペースで検出されたプロジェクトがすべて宣言されます。
  * -DprojectFilterパラメーターを使ってプロジェクトをフィルタリングしていない限り、CI-CommandLineインスタンスによって、ワークスペースで検出された全プロジェクトでカスタムスクリプトが続いて実行されます。

  例:

  ```
  # 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 
  ```

  次に、検出されたすべてのプロジェクト(ここではTALEND\_CI\_1とTALEND\_CI\_2)でこのスクリプトが実行されます。このスクリプトによって、アーカイブファイルをインポートするためにimportItemsコマンドが、プロジェクト用のPOMファイルを再生成するためにregenerateAllPomsコマンドがそれぞれ呼び出されます。

  ```
  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
  ```

* -DexecuteRawScript=trueの場合:

  * スクリプトは指定されたコマンドを1回だけ実行します。
  * プロジェクトへの接続は自動的には確立されないため、専用のパラメーター(initLocal、createProject、logonProject、logoffProject)を手動で宣言する必要があります。

  例:

  ```
  # 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 
  ```

  このスクリプトは、前に宣言したコマンドに従って実行されます。このスクリプトによって、アーカイブファイルをインポートするためにimportItemsコマンドが、TALEND\_CI\_1プロジェクト用のPOMファイルを再生成するためにregenerateAllPomsコマンドがそれぞれ呼び出されます。

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

CI関連のパラメーターの詳細は、[CIビルダー関連のMavenパラメーター](https://help.qlik.com/talend/ja-JP/software-dev-lifecycle-best-practices-guide/8.0/cibuilder-maven-build-options)をご覧ください。

Talend CommandLineの詳細は、[Talend CommandLine API](https://help.qlik.com/talend/ja-JP/software-dev-lifecycle-best-practices-guide/8.0/cmdl-api "Talend CommandLineアプリケーションに-helpコマンドを入力場合に取得する、すべてのコマンド用の完全なヘルプ。")をご覧ください。