Jenkins矩阵项目组合过滤器-如何配置groovy表达式?
我有一个Jenkins多配置项目,有两个轴:Jenkins矩阵项目组合过滤器-如何配置groovy表达式?,groovy,jenkins,Groovy,Jenkins,我有一个Jenkins多配置项目,有两个轴: sbBrowser带值: firefox ie chrome pp1 pp2 pp3 staging systemtest envConfig带值: firefox ie chrome pp1 pp2 pp3 staging systemtest 我必须创建组合过滤器,以便仅在所有envConfig上使用sbBrowser=firefox运行 如何构建表达式 比如: sbBrowser=="firefox" && envC
sbBrowser
带值:
firefox
ie
chrome
pp1
pp2
pp3
staging
systemtest
envConfig
带值:
firefox
ie
chrome
pp1
pp2
pp3
staging
systemtest
envConfig
上使用sbBrowser=firefox
运行
如何构建表达式
比如:
sbBrowser=="firefox" && envConfig=="pp1" "pp2" "pp3" "staging" "systemtest"
好的,下面的表达是一种魅力:
(sbBrowser=="firefox") && (envConfig=="pp1") ||(sbBrowser=="firefox") && (envConfig=="pp2")||(sbBrowser=="firefox") && (envConfig=="pp3")||(sbBrowser=="firefox") && (envConfig=="staging")||(sbBrowser=="firefox") && (envConfig=="systemtest")
如果您希望它只在firefox的所有envConfig值上运行,那么为什么要指定envConfig集的成员呢?只需执行
(sbBrowser==“firefox”)
,它将仅在firefox上运行,用于envConfig的所有成员。如果groovy表达式是在其他构建参数中定义的,例如,当使用该参数定义默认组合时,则参数名称应位于evaluate()
中:
您还必须批准使用
方法groovy.lang.Script评估java.lang.String
在管理Jenkins-->过程中脚本审批下,您也可以这样做-
(sbBrowser=="firefox") && ["pp1","pp2","pp3","staging","systemtest"].contains(envConfig)
这里肯定是更好的答案。