Jenkins矩阵项目组合过滤器-如何配置groovy表达式?

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

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

  • 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)
    

    这里肯定是更好的答案。