2017-02-23 8 views
1

私は100以上のJenkinジョブを持っています。しかし、私は、既存の設定を削除したり妨げたりせずに、すべてのジョブに追加のバッチコマンドを含める必要がある新しい要件があります。groovyスクリプトを使用して既存のjenkinsジョブのバッチコマンドを実行する方法を追加する

jenkins masterのすべてのジョブに新しい実行コマンドを挿入する方法はありますか。

いくつかのいずれかは、事前にこのしてください

おかげに光を当てるでした!!

答えて

2

最初に、これらのスクリプトは、実行中のJenkinsインスタンスの基本構造を変更してから、これを実行する前にバックアップをとってください!あなたは「ジェンキンスの管理」の下に「スクリプトコンソール」で、次のスクリプトを実行することができます

(あなたが管理者のアクセスを必要とする)

次のスクリプトは、フリースタイルのすべてのジョブの最初のステップとして、バッチコマンドを挿入します:

import java.util.ArrayList; 
import hudson.tasks.BatchFile; 

for (job in Jenkins.getInstance().getAllItems(FreeStyleProject.class)) { 
    def buildersList = job.getBuildersList() 
    def oldBuilders = new ArrayList(buildersList); // Take a copy of existing steps so that we can insert them later 
    buildersList.clear() // We need to clear the list first, add at index is not supported 
    buildersList.add(new BatchFile("""\ 
    echo "Windows batch command" 
""")); 
    buildersList.addAll(oldBuilders) 
    job.save(); 
} 

と終了時に、次のインサートそれ:

import java.util.ArrayList; 
import hudson.tasks.BatchFile; 

for (job in Jenkins.getInstance().getAllItems(FreeStyleProject.class)) { 
    def oldBuilders = job.getBuildersList().add(new BatchFile("""\ 
    echo "Windows batch command" 
""")); 
    job.save(); 
} 
関連する問題