2017-02-22 93 views
11

的擴展選擇參數插件是偉大的,我使用它通過用戶界面https://wiki.jenkins-ci.org/display/JENKINS/Extended+Choice+Parameter+plugin如何在Jenkins管道腳本中使用Extended Choice參數插件?

但是配置工作,我掙扎得到它在Jenkinsfile風格管線腳本工作。 這樣看來,擴展選擇參數插件尚未與管道腳本完全兼容,因爲詹金斯管道語法生成器創建下面的代碼片段:

parameters([<object of type com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition>]) 

如果我手動創建的參數,我得到了相同的行爲,提到在 https://issues.jenkins-ci.org/browse/JENKINS-32188

org.kohsuke.stapler.NoStaplerConstructorException: There's no @DataBoundConstructor on any constructor of class 

有誰知道,能找到解決的ExtendedChoiceParameterDefinition不使用@DataBoundConstructor問題的任何變通辦法嗎?

  • 詹金斯2.19.2
  • 擴展選擇參數插件0.75
+1

[JENKINS-34617(https://issues.jenkins-ci.org/browse/JENKINS-34617)是這個開放式問題。 – mkobit

回答

0

就像mkobit說,這是目前無法使用擴展插件選擇作爲構建參數。

我喜歡作爲一種解決方法使用的是類似下面的

timeout(time: 5, unit: TimeUnit.MINUTES) { 
    def result = input(message: 'Set some values', parameters: [ 
     booleanParam(defaultValue: true, description: '', name: 'SomeBoolean'), 
     choice(choices: "Choice One\nChoice Two", description: '', name: 'SomeChoice'), 
     stringParam(defaultValue: "Text", description: '', name: 'SomeText') 
    ]) as Map<String, String> 
} 

echo "${result.SomeBoolean}, ${result.SomeChoice}, ${result.SomeText}" 

,並調用它在我的流水線開始構建。開始構建後不久就會詢問這些輸入。

相關問題