9

Groovy プラグインページの例に基づいて、Groovy スクリプトを使用して他のジョブをトリガーしています。

パラメーターとしてジョブのリストを取得し、それらが存在することを確認し、いくつかのパラメーターでそれらをトリガーします。メイン トリガー コードを参照してください。

    // Prepare parameters array
    def params = 
    [
        new StringParameterValue('PARAM1', 'val1'),
        new StringParameterValue('PARAM2', 'val2'),
    ]
    def future = job.scheduleBuild2(0, new Cause.UpstreamCause(build), new ParametersAction(params))
    println "Waiting for the completion of " + jobLink
    anotherBuild = future.get()

トリガーされたジョブは完全に実行されますが、大きな問題が 1 つあります。元のパラメーターは失われ、新しいPARAM1およびPARAM2に置き換えられます。

ジョブをトリガーしてデフォルトのパラメーターに追加し、それらを置き換えない方法は?

解決策を一生懸命探しましたが、見つかりませんでした...

EDIT:パラメータを設定せず(ジョブがデフォルトを使用できるようにする)、ジョブの実行用に環境変数を設定することを考えていました。これを行う方法についてのアイデアや例はありますか?

4

2 に答える 2

5

多くのオプションを試した後、次の例のように、トリガーしようとしているジョブのデフォルト パラメーターを読み込み、準備中のパラメーター配列に追加することにしました。

ここの例を使用して、ジョブの初期デフォルト構成を取得しました。

選択肢パラメーターと null 値にロジックを追加する必要がありますが、現在の結果には満足しています。

これが役立つことを願っています。

于 2013-07-09T11:54:35.743 に答える