如何从Groovy脚本

时间:2017-11-03 14:39:13

标签: jenkins groovy environment-variables

我们有一个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脚本无法访问促进这些解决方案所需的东西。

顺便说一句,当问题出现问题时,我会转到服务器的进程内脚本批准页面并允许该项目。

1 个答案:

答案 0 :(得分:0)

我有以下代码..

import hudson.model.BuildableItem
import hudson.model.Job
import jenkins.model.*;


jenkins = Jenkins.instance;

这是在Jenkins的一些较新的(2.60.3)版本中使用的