2017-09-08 5 views
1

Jenkins Pipeline(およびGroovy)の新機能は、選択した値に基づいて別のものに依存する方法でパラメータを定義できるかどうか疑問です。たとえば、AとBという2つの選択肢のパラメータがあり、Aの[動的に]選択された値に基づいてBの選択肢を設定するとします。このようなもの:Jenkinsパイプライン相互依存パラメータ

pipeline { 
    agent { label 'my-agent' } 

    parameters { 
     choice(name: 'DataCenter', choices:'Foo\nBar') 
     choice(name: 'AvailabilityZone', choices: if(DataCenter.equals("Foo") {return 'A\nB'} else {return 'C\nD'})) 
    } 

    stages { 
    ... 
    } 
} 

明らかにこれは機能しません。これを箱から取り出す方法はありますか?それ以外の場合は、コールバックイベントをDataCenter選択肢ドロップダウンにバインドして手動でAvailabilityZoneの値を変更する方法がありますか?

答えて

0

私は過去に同じ必要性があり、Active Choices Pluginを使用して解決しました。

残念ながら、このプラグインは、依存関係の1つにセキュリティ問題があるため、recently blacklistedでした。

セキュリティが大きな問題ではない場合は、まだinstall the plugin manuallyです。

+0

このプラグインはJenkins Pipelineをサポートしていません。 – PoweredByOrange

+0

これは、現在の「スクリプト化」パイプラインをサポートしています(このプラグインは、私の環境では4つのパイプラインジョブで動作します)。あなたのコードをもう一度見て、私はあなたが "宣言的な"パイプラインで作業していることを理解しました。このようなプラグインではおそらく動作しません。 –

関連する問題