无论如何在静态范围内使用环境变量?

时间:2019-07-17 02:21:15

标签: jenkins groovy

我想使用环境变量来设置静态变量。
反正有实现这一目标的方法吗?


我正在尝试从这样的静态变量中获取BUILD_URL。

class CustomEnvironment {
  static String CUSTOM_ENV = BUILD_URL.contains('stg') ? 'STG' : 'PROD'
}

错误消息:

  

在静态范围内发现了表观变量“ BUILD_URL”,但未引用局部变量,静态字段或类。可能的原因:
  您试图从静态上下文中引用绑定中的变量或实例变量。
  您拼写了一个类名或静态导入的字段。请检查拼写。
  您尝试使用方法“ BUILD_URL”,但在语法不允许的地方省略了方括号。
  静态字符串CUSTOM_ENV = BUILD_URL.contains('stg')吗? 'STG':'PROD'

1 个答案:

答案 0 :(得分:0)

否。你不能。

这是基本属性。如果BUILD_URL也是static变量,它将起作用。但是这里不是。。。

所以您可以通过这种方式实现

class Test{
    static String getCustom(String val)
    {
        return val.contains('stg') ? 'STG' : 'PROD'
    }
}

println Test.getCustom('test')