我有一个jenkins作业,带有多选扩展选择参数。参数中有元素列表。因此,我的要求是我希望允许用户选择多个参数,但不包括参数中的第一个元素。这意味着用户不能选择参数中具有其他元素的第一个元素。我正在使用jenkinsfile创建参数。
如上所示,用户不应该选择'无'与任何其他元素的参数。有人知道如何做到这一点吗?
mrphzbgm1#
我不认为你可以只使用Extended choice parameter。作为一种解决办法,你可以添加两个参数。第一个参数检查它是否是None,如果不是,你可以打开第二个参数。你可以使用Active Choice Parameter来完成这个任务。
Extended choice parameter
properties([ parameters([ [$class: 'CascadeChoiceParameter', choiceType: 'PT_MULTI_SELECT', description: 'Select a choice', filterLength: 1, name: 'choice1', referencedParameters: 'CHOICE', script: [$class: 'GroovyScript', fallbackScript: [ classpath: [], sandbox: true, script: 'return ["ERROR"]' ], script: [ classpath: [], sandbox: true, script: """ if (CHOICE == 'Yes') { return['Item1','Item2','Item3'] } else { return[] } """.stripIndent() ] ] ] ]) ]) pipeline { agent any parameters { choice(name: 'CHOICE', description: "Do you have any choices?", choices: ["Yes", "None"]) } stages { stage("Run Tests") { steps { sh "echo SUCCESS on ${params.CHOICE}" } } } }
1条答案
按热度按时间mrphzbgm1#
我不认为你可以只使用
Extended choice parameter
。作为一种解决办法,你可以添加两个参数。第一个参数检查它是否是None,如果不是,你可以打开第二个参数。你可以使用Active Choice Parameter来完成这个任务。