web-dev-qa-db-ja.com

以前に選択したパラメーター値に基づくJenkins動的パラメーター

ここでは、基本的に依存関係パラメーターを探しています。

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

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

16
Kishore Tamire

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

これは隠された宝石のようで、これまでのところ、同様の質問のいずれにも見られません。

10
Torben Knerr

この機能(およびその他)を備えた新しいプラグインは、こちらから入手できます。 https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin

Wikiページには、いくつかの使用例とコードが含まれています

私はそれを使用していませんが、次のプラグインがあなたの望むことをするようです:

2つの選択要素を可能にするJenkinsパラメータプラグイン。 2番目の選択は、最初の選択に対して行われた選択に応じて値を設定します。

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

5
Geoff Cummings

簡単に説明しましょう。必要なものを実現するためのステップバイステッププロセスを次に示します。
1。JenkinsにActive Choicesプラグインをインストールします。
2。アクティブな選択肢のパラメーターを追加 enter image description here

  1. ACTIVE CHOICE REACTIVE PARAMETERを追加します。 enter image description here

4. [適用]をクリックしてから、[保存]をクリックします。
終わった。 !!!
これで問題が発生した場合はコメントしてください。

4
Hitsa

これ はあなたが正しく達成したいことですか?

次に、_hudson.model.ChoiceParameterDefinition_を継承して、getChoicesTextのメソッドをオーバーライドできます。必要に応じてオプションを返します。状況によっては、Hudson.getInstance()から環境を取得できます。

以下のスニペットは、環境変数を取得する方法を示しています。

_Hudson.getInstance().getGlobalNodeProperties()
       .get(EnvironmentVariablesNodeProperty.class).getEnvVars().get(name);
_

ここ も同様の質問です。

1
MangeshBiradar

これは、単一選択、複数選択、およびレベルでの実行を可能にするトリックを実行するはずです https://wiki.jenkins-ci.org/display/JENKINS/Active+Choices+Plugin

0
Gus

ここに例があります。この質問を探していたときに見つけたいです。

これは、JenkinsジョブDSLでアクティブチョイスのリアクティブパラメーターを作成する方法です。

activeChoiceReactiveParam('PARAMETER_NAME') {
    description('Parameter description')
    filterable()
    choiceType('SINGLE_SELECT')
    groovyScript {
        script('return [ANOTHER_PARAMETER + ".suffix", ANOTHER_PARAMETER + ".suffix2"]')
        fallbackScript('return ["NotFound"]')
    }
    referencedParameter('ANOTHER_PARAMETER')
}

注:DSL経由でジョブをインポートしても機能しない場合は、「構成」と「保存」を実行してください。バグがあります: JENKINS-42655

0
Romain DEQUIDT