【发布时间】:2017-11-01 21:41:43
【问题描述】:
我们正在升级到更新版本的 Jenkins (2.60.1),并且在以前的 Jenkins 版本 (1.596/2) 中运行的 groovy 脚本不再工作。
这是一个 Jenkins 构建项目,它是参数化的,我们使用 Groovy 脚本为 Choice Provider 提供选择(Choice Provider 设置为 System Groovy Choice Parameter)。
我们正在尝试访问 Jenkins 环境变量并这样做(这是 Groovy 脚本的一部分):
import hudson.slaves.EnvironmentVariablesNodeProperty
import hudson.EnvVars
EnvironmentVariablesNodeProperty prop = jenkins.getGlobalNodeProperties().get(EnvironmentVariablesNodeProperty.class)
EnvVars env = prop.getEnvVars()
def MY_VAR = env['MY_JENKINS_VAR']
但是,我在运行脚本时遇到以下错误:
Failed to execute script
groovy.lang.MissingPropertyException: No such property: jenkins for class: groovy.lang.Binding
at groovy.lang.Binding.getVariable(Binding.java:63)
at org.jenkinsci.plugins.scriptsecurity.sandbox.groovy.SandboxInterceptor.onGetProperty(SandboxInterceptor.java:224)
在我看来,“jenkins”引用应该是 Jenkins 或可能是 Groovy 提供的内置属性,但我找不到任何关于我需要做什么才能从 Groovy 脚本访问它的信息.
感谢您的帮助。
【问题讨论】: