5

我有一个带有两个轴的 Jenkins 多配置项目:

  1. sbBrowser具有值:

    firefox
    ie
    chrome
    
  2. envConfig具有值:

    pp1
    pp2
    pp3
    staging
    systemtest
    

我必须创建组合过滤器才能仅sbBrowser = firefox在所有envConfig.

如何构建表达式?

就像是:

sbBrowser=="firefox" && envConfig=="pp1" "pp2" "pp3" "staging" "systemtest"
4

4 回答 4

7

好的,下面的表达式是一个魅力:

(sbBrowser=="firefox")  && (envConfig=="pp1") ||(sbBrowser=="firefox")  && (envConfig=="pp2")||(sbBrowser=="firefox")  && (envConfig=="pp3")||(sbBrowser=="firefox")  && (envConfig=="staging")||(sbBrowser=="firefox")  && (envConfig=="systemtest")
于 2013-04-26T09:19:21.953 回答
6

如果您希望它仅在 envConfig 的所有值上为 firefox 运行,那么为什么要指定 envConfig 集的成员呢?只需这样做(sbBrowser=="firefox"),它将仅在 Firefox 上运行,适用于 envConfig 的所有成员。

于 2013-10-18T14:27:59.540 回答
1

你也可以这样做——

(sbBrowser=="firefox") && ["pp1","pp2","pp3","staging","systemtest"].contains(envConfig)
于 2020-12-16T09:57:30.513 回答
0

如果在其他构建参数中定义了 groovy 表达式,例如,当使用定义默认组合的矩阵组合参数时- 那么参数名称应该在里面evaluate()

矩阵组合参数

...

在此处输入图像描述

您还必须批准使用

方法 groovy.lang.Script 评估 java.lang.String

Manage Jenkins --> In-process Script Approval下

于 2015-12-22T10:51:23.130 回答