访问为Jenkins Groovy插件脚本指定的变量

访问为Jenkins Groovy插件脚本指定的变量,groovy,jenkins,jenkins-plugins,Groovy,Jenkins,Jenkins Plugins,编写作为构建步骤运行的脚本(执行系统Groovy脚本)时,可以指定“变量绑定”。帮助热线显示:定义变量绑定(以属性文件格式)。指定的变量可以从脚本中寻址。[sic]如何从脚本中访问这些变量?它们不会设置为构建的环境变量,也不会出现在系统属性中 this.getBinding().getVariables() 或者干脆binding.variables我不能直接使用binding.variables,我只能从binding.variables获得listener、build、launcher和ou

编写作为构建步骤运行的脚本(执行系统Groovy脚本)时,可以指定“变量绑定”。帮助热线显示:定义变量绑定(以属性文件格式)。指定的变量可以从脚本中寻址。[sic]如何从脚本中访问这些变量?它们不会设置为构建的环境变量,也不会出现在系统属性中

this.getBinding().getVariables()


或者干脆
binding.variables

我不能直接使用binding.variables,我只能从binding.variables获得
listener
build
launcher
out

相反,我能够使用
build.environment(listener)
来检索环境变量,正如对这个问题的回答中所建议的:

这对我来说可能有所不同,因为我只寻找全系统的环境变量:

(选中)为运行准备环境\ Keep Jenkins环境变量\ Keep Jenkins构建变量


您知道如何访问脚本中的环境变量吗?@Newbie,
binding.varaibles
是一个对象(由变量名键入)。如果您的变量绑定中有类似
foo=bar
的绑定,您可以通过运行
binding.variables.get('foo')
来获取
bar
def config = new HashMap()
config.putAll(binding.variables)
def logger = config['out']
def envvars = new HashMap()
envvars.putAll(build.getEnvironment(listener))
def myvar= envvars['myvar']