我想根据全局变量不同地配置buildDiscarder
。目前我有
options {
buildDiscarder(logRotator(numToKeepStr: '5'))
}
但是我正在寻找类似的东西
// BROKEN
options {
if ("${SOME_VAR}" == 'some_val') {
buildDiscarder(logRotator(numToKeepStr: '5'))
} else {
buildDiscarder(logRotator(daysToKeepStr: '7'))
}
}
在Jenkins声明式管道中是否有任何方法可以实现这种行为?我认为我不能在此处使用script
/ when
/ expression
块,或者至少在我尝试时不起作用。
答案 0 :(得分:1)
尝试一下:
options {
buildDiscarder(logRotator(numToKeepStr: ("${SOME_VAR}" == 'some_val') ? '5' : '7'))
}
如果要使用其他参数,只需将“未使用的”参数设置为'-1'
:
options {
buildDiscarder(logRotator(
numToKeepStr: ("${SOME_VAR}" == 'some_val') ? '5' : '-1',
daysToKeepStr: ("${SOME_VAR}" == 'some_val') ? '-1' : '7'
))
}