Jenkins Job DSL:在函数中创建参数对象

Jenkins Job DSL: Creating parameter object in function

我想编写一个函数(在 jenkins 作业 DSL 中),其中 returns 一组可重用的作业定义参数。像这样:

def pars(name) {
  return parameters {
        booleanParam(name, true)
  }
}

pipelineJob("Test1") {
  pars("name")
}
pipelineJob("Test2") {
  pars("name2")
}

这行不通,但我能否以某种方式重写该示例以使其行得通?

parameters不能在你的辅助方法中调用,但你可以在辅助方法中创建一个闭包。

试试这个:

def pars(name) {
  return {
    booleanParam(name, true)
  }
}

pipelineJob("Test1") {
  parameters pars("name")
}

或者这样:

def pars(name) {
  return {
    parameters {
      booleanParam(name, true)
    }
  }
}

pipelineJob("Test1").with pars("name")