我有一个带两个轴的Jenkins多配置项目:
sbBrowser
,其值为:
firefox
ie
chrome
envConfig
,其值为:
pp1
pp2
pp3
staging
systemtest
我必须创建组合过滤器才能在所有sbBrowser = firefox
上仅使用envConfig
运行。
如何构建表达式?
类似的东西:
sbBrowser=="firefox" && envConfig=="pp1" "pp2" "pp3" "staging" "systemtest"
答案 0 :(得分:6)
如果你想让它只运行firefox,在envConfig的所有值上,那么为什么要指定envConfig集的成员?只需执行(sbBrowser=="firefox")
,它就只能在Firefox上运行,适用于envConfig的所有成员。
答案 1 :(得分:5)
好的,以下表达式可用作魅力:
(sbBrowser=="firefox") && (envConfig=="pp1") ||(sbBrowser=="firefox") && (envConfig=="pp2")||(sbBrowser=="firefox") && (envConfig=="pp3")||(sbBrowser=="firefox") && (envConfig=="staging")||(sbBrowser=="firefox") && (envConfig=="systemtest")
答案 2 :(得分:0)
如果在其他构建参数中定义了groovy表达式,例如,当使用定义默认组合的Matrix Combinations Parameter时 - 参数名称应该在evaluate()
内:
...
您还必须批准使用
管理Jenkins 下的方法groovy.lang.Script评估java.lang.String
- > 进程内脚本批准
答案 3 :(得分:0)
您可以通过这种方式进行操作
(sbBrowser=="firefox") && ["pp1","pp2","pp3","staging","systemtest"].contains(envConfig)