我们有一个Jenkins构建,它在Jenkins 1.596.2上成功运行,我们正在迁移到运行Jenkins 2.60.1的新构建机器
作为构建配置的一部分,我们有一个Extensible Choice参数,并使用System Groovy Choice Parameter作为Choice Provider。然后我们使用Groovy脚本来获取选择列表。
此Groovy脚本需要访问其中一个Jenkins构建环境变量,该变量在构建配置的“全局属性”部分中设置(在“环境变量”下)。
在早期版本的Jenkins中,我们可以使用以下代码获取此环境变量值:
import hudson.slaves.EnvironmentVariablesNodeProperty
import hudson.EnvVars
EnvironmentVariablesNodeProperty prop = jenkins.getGlobalNodeProperties().get(EnvironmentVariablesNodeProperty.class)
EnvVars env = prop.getEnvVars()
def myVariable = env['MY_VAR']
但是,当我们在新的Jenkins构建下运行时,我们会收到以下错误:
groovy.lang.MissingPropertyException: No such property: jenkins for class: Script1
任何人都可以解释一下我们需要做些什么来从Groovy脚本中访问Jenkins构建环境变量吗?
我们是否缺少可以访问“jenkins”对象/变量的插件或导入?
我在网上找到了一些答案,但没有一个解决方案有效。我猜我的Groovy脚本无法访问促进这些解决方案所需的东西。
顺便说一句,当问题出现问题时,我会转到服务器的进程内脚本批准页面并允许该项目。
答案 0 :(得分:0)
我有以下代码..
import hudson.model.BuildableItem
import hudson.model.Job
import jenkins.model.*;
jenkins = Jenkins.instance;
这是在Jenkins的一些较新的(2.60.3)版本中使用的