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