Groovy スクリプトからの戻り値をラベル式として評価します。


以下の変数が定義されます。

currentJob
ビルド対象のジョブ。マトリクス構成プロジェクトの場合、親ビルドには MatrixProject、 子ビルドには MatrixConfiguration のインスタンスが渡されるので注意してください。

また、以下の変数をバインドし、Groovyスクリプトからアクセスできるようにします。ただし、特定の変数が設定されなかったり、おかしな値が設定される場合があるかもしれません。 これはGroovyスクリプトの実行時点で、まだビルドが実際には始まっていないため各種の値の取得処理に制限があるためです。


以下にGroovyスクリプトの例を記載します。

Example1----------------------------------------------------------------------------- // 「ビルドのパラメータ化」で定義した値は通常のローカル変数等と同様にアクセスできます。 if(is_test == "true") { // "debug_node" のラベルが付いたノードを使用する return "debug_node"; } // ノードの制限を行わない。 // 「実行するノードを制限」を設定している場合、その値が使用されます。 return null; Example2----------------------------------------------------------------------------- // マルチ構成プロジェクトで定義した軸の値もバインドされます。 // ただし、マルチ構成プロジェクトの親ビルドでは値が定義されないため、 // 参照するときは binding.getVariables().get(VARNAME) という形でアクセスしないと、 // ローカル変数同様にアクセスすると未定義エラーで例外が発生します。 switch(binding.getVariables().get("target")) { case "Win32": case "Win64": // run on Windows. return "Windows"; case "Linux32": case "Linux64": // run on Linux. return "Linux"; } Example3----------------------------------------------------------------------------- // ジョブの名称から実行するノードを決定します。 ["win", "linux"].find(currentJob.name.contains(it))