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

管道将参数传递给下游作业

巫马磊
2023-03-14
问题内容

我正在使用具有集成交付管道功能(https://jenkins.io/solutions/pipeline/)的Jenkins
v2.1 来编排两个现有构建(构建和部署)。

在我的参数化构建中,我有3个用户参数设置,也需要在管道中选择该参数。

管道脚本如下:

node: {
    stage 'build'
    build job: 'build', parameters: [[$class: 'StringParameterValue', name: 'target', value: target], [$class: 'ListSubversionTagsParameterValue', name: 'release', tag: release], [$class: 'BooleanParameterValue', name: 'update_composer', value: update_composer]]

    stage 'deploy'
    build job: 'deploy', parameters: [[$class: 'StringParameterValue', name: 'target', value: target]]
}

除以外,此方法均正常运行BooleanParameterValue。当我构建管道时,会引发以下错误:

java.lang.ClassCastException: hudson.model.BooleanParameterValue.value expects boolean but received class java.lang.String

如何解决此类型转换错误?甚至更好的是,有没有一种麻烦的方式可以将所有管道参数传递给下游作业。


问题答案:

假设

value: update_composer

是问题,尝试

value: Boolean.valueOf(update_composer)

有没有那么麻烦的方式可以将所有管道参数传递给下游作业

据我所知,至少没有使用Jenkins API调用并禁用Groovy沙箱的情况。



 类似资料:
  • 问题内容: 我有一个名为 buildall 的管道作业,如下所示: 该 buildall 作业有25个参数。我想将所有 buildall 的参数传递给 job1 。有没有一种简单的方法可以代替手动指定每个参数呢? 在此问题中:向下游作业传递管道参数是一个子问题,但从未得到回答: 甚至更好的是,有没有一种麻烦的方法可以将所有管道参数传递给下游作业。 我有同样的问题。 问题答案: 以下似乎有效(尽管我

  • 我使用的是Jenkins v2.1,它具有集成交付管道功能(https://jenkins.io/solutions/pipeline/)协调两个现有构建(构建和部署)。 在我的参数化构建中,我有3个用户参数设置,这些参数也需要在管道中选择。 管道脚本如下所示: 除了之外,这可以正常工作。当我构建管道时,会抛出以下错误: 如何解决此类型转换错误?或者更好的是,是否有一种不那么麻烦的方法,可以将所有

  • 问题内容: TL; DR:显然,在Jenkins管道作业中,您可以轻松地向下游传递参数。我想知道的是,是否可以将它们传递给 上游 。 用例: 我们有三份工作;,和。它们通常仅需要一个阶段就可以单独运行,但是在越来越频繁的情况下,我们希望能够将所有三个阶段背靠背运行。 第一个和第二个依赖于您可以提前定义的参数,但是第三个和第二个依赖于从第二个作业生成的参数(该文件名的结构在job_two运行之前是未

  • 我正在尝试从使用自由式詹金斯构建切换到管道项目。 我喜欢它的许多方面,但我希望我可以使用多分支管道,因为它更适合我们公司,但目前这不是一个选择。 我们目前所做的是创建一个名为

  • 问题内容: 当前,我有一个具有不同参数的管道作业,其中此参数之一是Choice参数。这是该作业参数的config.xml输出: 现在,我可以通过传递字符串参数从管道调用此作业: 但是我无法为选择参数定义参数: 我尝试了以下方法: 但这失败并显示以下错误: 因此问题是:如何在调用其他管道作业时定义选择参数: 有人有这样的例子吗? 问题答案: 我看过一个使用以下语法的工作示例: 基本上,不要以特殊的方

  • 问题内容: 我创建了一个新的詹金斯管道。(当前)使用单个名为的布尔选项对管道进行参数化。我的管道脚本是: 当我手动创建带有选中项的项目时,将按预期回显“ true”。但是,环境变量列表未显示。 我能够显示是否将呼叫包装在一个块中: 我将拥有比这更多的参数,因此不需要单独指定每个参数。 有没有办法将所有构建参数传送到节点的环境? 问题答案: 关键是,在管道脚本中,作业参数不会像常规作业一样自动注入到