Jenkins声明性管道,带有扩展选择参数

时间:2017-06-13 10:31:04

标签: jenkins jenkins-pipeline

我尝试用Jenkins实现我的第一个Declarative Pipeline,以便能够在SCM下放置作业的参数定义。

我想转移一个具有扩展选择参与者的现有工作。不幸的是,我无法将其添加到我的脚本的参数{...}部分。

在插件页面上:https://wiki.jenkins-ci.org/display/JENKINS/Extended+Choice+Parameter+plugin我发现了一条评论说明应该可以通过以下方式进行评论:

import com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition

def type = "PT_JSON"
def groovyScript  = null
def propertyValue  = null
def projectName = null
def propertyFile = null
def groovyScriptFile = "/path_to/script.groovy"
... 
def extendedChoice = new ExtendedChoiceParameterDefinition(name,
            type,
            propertyValue,
            projectName,
            propertyFile,
            groovyScript,
.....

input message: 'Param1', parameters: [extendedChoice]

不幸的是,这对我不起作用。 "输入请求"给出了非指定的错误。虽然我可以接受输入消息"解决方案,它首先不是我想要的。我想将此参数添加到已经提到的参数部分。但我无法找到任何描述这个的地方。任何建议如何继续,或者也许是替代方法/插件?

2 个答案:

答案 0 :(得分:3)

您应该转到http://jenkins-url.com/pipeline-syntax下拉列表选择Sample step上的properties This project is parameterized,然后您可以选择Add parameter {{1}你可以为你的管道生成groovy。

答案 1 :(得分:2)

这是我使用和测试成功的单个参数,您可能需要将其转换为Json

com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition extch =new com.cwctravel.hudson.plugins.extended_choice_parameter.ExtendedChoiceParameterDefinition( "NAME", "PT_SINGLE_SELECT", "VALUE, a, b", null, null, null, null, null,null, null,null,null, null, null, null,null, null, null,null, null, null, null, null, null, null,null,false,false,2,"DESC", "," )