Jenkins Job DSL - 无法从文件加载参数

Jenkins Job DSL - can't load parmeters from file

DSL 作业:

#!groovy

def file = readFileFromWorkspace('params.properties').trim()


job('app-adm') {
  label("adm")
  println("#" + file + "#")
  parameters{
    file 
  }
  steps 
  {
    shell(readFileFromWorkspace('script-adm.sh'))
  }
}

job('app-tst-mt')
{
  parameters 
  {
     booleanParam('FLAG', true)
  }
  steps 
  {
    shell(readFileFromWorkspace('script-tst-mt.sh'))
  }
}

params.properties:

choiceParam('OPTION', ['option 1 (default)', 'option 2', 'option 3'])

我试过:

没有任何工作,通过 println inside job,我可以清楚地看到有我想放入参数的字符串,但是这样做时它没有注册它,我没有得到任何参数。

好吧,答案非常明显,但如果有人有同样的问题,只需在 Jenkins 构建的 DSL 作业之前做一个 shell 作业。 在此 shell 作业中,您可以轻松修改工作区中的文件,因此将整个 dsl 作业(groovy 脚本)放在那里,只需将部分文本替换为 sed 或 envsubst。