2017-01-10 82 views
0

私はJenkinsのビルドで、ビルドプレフィックスの選択ボックスをリリースしました。人が望む特定のビルドの価値に基づいて仕事を誘発するのに役立ちます。同じジョブのパラメータに基づいてJenkinsで動的パラメータを生成する

私はその選択ボックスの値を取ると、一般的にその名をオフに基づいてジョブをトリガするために、このサーバ上で使用される命名規則オフに基づいて正しい接頭辞に変数を変換したかったです。トリガーによってアクセスしようとしません使用したり、任意の特定のリリースベースの情報を設定したパラメータを意味するので、

のは、私がのために特別にビルドプレフィックスの選択肢を持っているとしましょう、noneについては ReleaseOne ReleaseTwo none

、リリースで指定されていないビルド。

私は必要に応じて、私は後でトリガー仕事のために、Release_Prefixの値を取り、それを変換したかったです。私は動的なパラメータまたは同様のメカニズムでこれを達成することを望んでいました。私のスクリプトが盗まれているのか、何か根本的なものが私の意図に反しているのかどうかは分かりません。これは、同様の質問からのいくつかの示唆されたフィードバックに基づいている場合があります。

以下のスニペットのようにすることはできますか? Dynamic Parameterプラグイン+ GroovyScriptでない場合、何をお勧めしますか?これは現在、私の選択にかかわらず、何も返さないようです。

Formatted_Prefixパラメータ、動的パラメータ

switch(binding.getVariables().get("Release_Prefix")) 
{ 
    case "none": 
     return ""; 
    case "ReleaseOne": 
     return "ReleaseOne_"; 
    case "ReleaseTwo": 
     return "ReleaseTwo_"; 
    default: 
     def prefix = binding.getVariables().get("Release_Prefix") 
     return "$prefix_"; 
} 

あり、私はこれを克服することができ、複数の方法がありますが、私は私のために最善のだろう初期パラメータの段階でそれを行うことができます。

答えて

1

あなたはこのためEnvInject Pluginを使用することができます。

+0

を:
は、チェックボックスが実行のための環境を準備し、 評価さ内のスクリプトを書くのGroovyスクリプトテキストボックス

DEFプレフィックス1 = Release_Prefix + "MYDATA"
リターン[プレフィックス1接頭辞]チェックありがとう!この答えを読んでいる人にはちょうど参考になります。これは環境変数に現れるような新しい_Jenkins_変数を作成しませんが、これはうまくいきます。このスクリーンショットのロジックを使用して、このサーバが使用する既知の命名規則に基づいてビルドをトリガするのに役立ちました:http://i.imgur.com/Ibt0jT1.png - ジョブ内で参照する変数は '$ {Formatted_Prefix} '、bashの' $ Formatted_Prefix'、cmd、 '%Formatted_Prefix%' –

関連する問題