我试图在Jenkins管道作业中获取一些构建参数。在此上下文中,参数在复选框中定义"此项目已参数化"并在构建时通过。
在工作中我称之为两个分支:
parallel firstBranch: {
build job: 'Run Blah', parameters: [string(name: 'BLAH', value: '$app.blah.blah')]
}, secondBranch: {
build job: 'Run BlahBlah', parameters: [string(name: 'BLAH', value: '$app.blah.blah')]
}
我已尝试以各种方式访问构建参数:app.blah.blah:
我总是得到一些我可以理解的例外,但我开始变得非常恼火。为了上帝的缘故,在脚本中获取构建参数不应该是这很难。我做错了什么?
答案 0 :(得分:0)
这对我有用:
println blah
所以我想你应该这样做就好了:
parallel firstBranch: {
build job: 'Run Blah', parameters: [string(name: 'BLAH', value: blah)]
}, secondBranch: {
build job: 'Run BlahBlah', parameters: [string(name: 'BLAH', value: blah)]
}
答案 1 :(得分:0)
好吧,看起来你的构建参数名称中没有点!混淆Groovy以为你正在访问一个类。很糟糕,我无法在Ant脚本和Jenkins工作中保持我的参数一致,但现在这并不是一件大事。如果有人知道如何访问虚线变量,请随意添加输入!
更正构建参数变量的语法:alphanumeric_underline_only
正确的访问语法:println(alphanumeric_underline_only)
答案 2 :(得分:0)
如果管道的名称中带有dot
参数,则可以尝试使用getProperty()
来获取此参数的值,例如(已测试):
//println params.MyApp.Api.Server // will not work
//println "${MyApp.Api.Server}" // will not work
println getProperty('MyApp.Api.Server') //works perfectly