首页 文章

如何从Groovy脚本中访问jenkins构建环境变量

提问于
浏览
0

我们有一个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

    我有以下代码..

    import hudson.model.BuildableItem
    import hudson.model.Job
    import jenkins.model.*;
    
    
    jenkins = Jenkins.instance;
    

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

相关问题