2013-03-27 22 views
11

ここでは、基本的に依存パラメータを探しています。Jenkins以前に選択したパラメータ値に基づく動的パラメータ

たとえば、ビルドパラメータセクションに2つのドロップダウンがあるとします。最初のドロップダウンから選択した値に基づいて、可能なデフォルトの 2番目のドロップダウンの値を変更したい。

この要件を効果的に処理するためのプラグインまたはアプローチはありますか?

+0

シェルスクリプトの出力から2番目のドロップダウンを取得したい場合、どうすればいいですか? – Triangle

答えて

1

Thisこれは正しいものですか?

次に、hudson.model.ChoiceParameterDefinitionを継承し、そのメソッドgetChoicesTextを上書きすることができます。必要に応じてオプションを返す、あなたの状況では、Hudson.getInstance()から環境を得ることができます。

以下に、環境変数の取得方法を示します。

Hudson.getInstance().getGlobalNodeProperties() 
     .get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name); 

Hereと同様の質問です。

+0

質問は、同じフォーム上のパラメータに基づいてリストを変更することです。これを達成するのが簡単なのかどうかはわかりませんが、それをどうやって行うのかに関するいくつかのサンプルコードが大好きです。あなた(およびリンクされた回答)の表示方法は、他の場所で定義された既存の情報を使用しますが、同じフォームの別のドロップダウンに基づいて選択肢を動的に変更することはありません。 – hyde

5

私はそれを使用していないが、それはあなたがやりたいことがあり、次のプラグインのようになります。2つの選択要素を可能

Aジェンキンスパラメータプラグインを。 2番目の選択は、最初の選択に対して行われた選択に応じて値を設定します。

https://github.com/tekante/Dynamic-Jenkins-Parameter/wiki

+1

* *はかなり限られているようですが、最初のドロップダウンには2つの選択肢しかないので、2番目のドロップダウンリストには2つの代替リストしかありません。 – hyde

+0

このプラグインで可能なGroovyを実行できますか? –

9

これは、あなたが探しているまさにです: https://github.com/biouno/uno-choice-plugin/wiki/Uno-Choice-Cascade-Dynamic-Choice-Parameter

隠された宝石のようです、これまでに同様の質問のいずれかでそれを発見していません。

+6

おそらく少し遅れますが、他の誰かがこれを必要とする場合は、[この類似の質問](http://stackoverflow.com/questions/18393671/how-to-get-a-parameter-depend-of-other-parameter -in-hudson-or-jenkins)プラグインはJenkinsコミュニティと共有され、[Active Choices Plugin](https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin)に名前が変更されました。 – Morfic