当前位置: 首页 > 面试题库 >

如何在Jenkins管道脚本中使用扩展选择参数插件?

伍成仁
2023-03-14
问题内容

扩展选择参数插件很棒,我在通过UI https://wiki.jenkins-
ci.org/display/JENKINS/Extended+Choice+Parameter+plugin
配置的作业中使用它

但是,我正在努力使其在Jenkinsfile样式管道脚本中运行。由于Jenkins管道语法生成器创建了以下代码段,因此扩展选择参数插件似乎尚未与管道脚本完全兼容:

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

问题答案:

自2019年4月2日起,由于此提交,现在成为可能:https://github.com/jenkinsci/extended-choice-parameter-
plugin/pull/25

您可以像这样使用它:

properties([
    parameters([
        extendedChoice( 
            name: 'PROJECT', 
            defaultValue: '', 
            description: 'Sélectionnez le projet à construire.', 
            type: 'PT_SINGLE_SELECT', 
            groovyScript: valueKeysScript,
            descriptionGroovyScript: valueNamesScript
        )
    ])
])

如果您想知道每个可能的参数,则必须参考源代码。如果您想知道“
type”键的每个可能值,请查看这些PT_*常量。



 类似资料:
  • 问题内容: 该插件的网站说,您可以创建一个常规脚本来运行以确定参数列表。 怎么解决呢?指示什么也没说。 该脚本在什么情况下运行? 我应该从脚本中返回什么? 脚本的cwd是哪个目录?是环境变量WORKSPACE吗? 还有一个名为的额外字段。如何使用? 问题答案: 我必须深入研究源代码才能找到这些问题的答案,所以我希望这对其他人有帮助。 1.脚本在什么情况下运行? 该脚本在groovy.lang.Gr

  • 问题内容: 我是Jenkins的新手,所以这可能很简单。我安装了扩展选择参数插件。我正在使用“多重选择”参数类型从服务器列表(SERVER1,SERVER2,SERVER3)中进行选择,我已将“源”设置为“值”,“默认值”和“值描述”。 我保存了,看起来很棒。我可以选择任何或所有服务器进行构建。现在是一个大问题。如何在构建中使用这些值?基本上,我在构建过程中采取了一个步骤,该步骤可以接受用逗号分隔

  • 问题内容: 我最近将bash执行命令重写为Jenkins管道。旧代码就像 现在,我使用管道脚本来包装命令,像这样 但是,我遇到了一个错误。当我尝试时,它会正确显示。所以我怀疑内部有问题。 在使用管道之前,命令在外壳执行中工作正常。因此,源代码安装在Jenkins服务器上,似乎管道脚本不知道源命令是什么。 如何在sh wrapd块中运行source命令? 问题答案: 替换为 请注意,第一个点后有一个

  • 如何在Jenkins管道Groovy脚本中访问“Maven元数据插件”提供的参数值? 我创建了一个带有两个参数的作业: 管道Groovy脚本: 虽然SomeStr的值打印正确,但上述尝试都不能用于SomeArtifact属性。我在有Groovy沙盒和没有Groovy沙盒的情况下都尝试过,但是没有成功。 版本: Jenkins 2.14, Maven Metadata Plugin for Jenk

  • 问题内容: 我的构建中的参数之一是扩展选择参数,该扩展选择参数是在从构建网页调用构建时以逗号分隔值的形式提交的。 但是,我还需要使用+ 调用构建。 因此,格式为: 说我的扩展选择参数ECP_LIST具有可能的值:blah1,blah2,blah3,blah4。 如果我调用,例如: 对于EPC_LIST参数,构建以blah3值开始。 但是,如果我希望使用2个或多个值来调用它,则只需将一个空白值传递给

  • 我们在Jenkins系统中大量使用管道作业,需要能够使用复制工件的作业参数来参数化步骤。 首先,我发现当参数返回一个