Jenkins 管道构建作业参数语法

Jenkins Pipeline build job parameter Syntax

我想知道是否有人可以解释 build jobparameter 的以下 Jenkins groovy 语法。我找不到任何文档来解释它。

parameter块的末尾有这个+语法和一个函数,我想知道是否有函数应该return值来替换原来的参数?或者只是添加它们?

函数

def some_function(a, b) {
    build job: SomeJob,
    parameters: [
        string(name: 'p1', value: "..."),
        ...
    ] + some_other_function()
}

def some_other_function() {
    ...
    return some_value
}

这里的运算符+是在Groovy中的列表中追加一个元素。如果你在 Groovy 中写 println([1] + 2) 你会得到 [1, 2]。您可以在 https://www.jdoodle.com/execute-groovy-online/.

上试试这个

回到你原来的问题,只是将some_other_function()的return值添加到参数列表中。当您需要根据作业上下文动态决定参数时,它很有用。例如

def some_other_function() {
  return string(name: 'tag', value: 'master' == env.GIT_BRANCH ? 'release':'dev')
}