Groovy 如何使用DSL访问Jenkins环境变量?

Groovy 如何使用DSL访问Jenkins环境变量?,groovy,jenkins,Groovy,Jenkins,正如问题所说。我无法访问它 尝试: #1: 结果: 访问内部版本号时为Null #2: 结果: 访问内部版本号时为Null 但是,此解决方案适用于我创建的环境变量找到了答案:build.environment.get(“build\u NUMBER”) 可通过以下方式访问的环境变量列表: e、 g。, 只是想让你们知道我试过 def foo = build.buildVariableResolver.resolve("FOO") println "FOO=$foo" 成功了。 请参考此处的

正如问题所说。我无法访问它

尝试:

#1:

结果:

访问内部版本号时为Null

#2:

结果:

访问内部版本号时为Null
但是,此解决方案适用于我创建的环境变量

找到了答案:
build.environment.get(“build\u NUMBER”)

可通过以下方式访问的环境变量列表:

e、 g。,
只是想让你们知道我试过

def foo = build.buildVariableResolver.resolve("FOO")
println "FOO=$foo" 
成功了。 请参考此处的示例

这将适用于Jenkins和DSL插件的最新版本:

def BUILD_NUMBER = getBinding().getVariables()['BUILD_NUMBER']
詹金斯。2.138.2


def gitUrl=binding.variables.get(“GITLAB_URL”)

没有这样的属性:build for class:groovy.lang.binding对不起,我不在同一个位置,现在要和Jenkins一起工作anymore@kylestephens在其前面添加以下行
build=Thread.currentThread().executable
在最新版本中,您需要执行
def previousBuild=currentBuild.getPreviousBuild();def foo=previousBuild.buildVariables[“YOUR_VARIABLE_NAME”]
@tftd
错误:(脚本,第1行)没有这样的属性:currentBuild for class:script
可能是Jenkins/DSL/PipeLine的旧版本在我使用的公司Jenkins上产生了“脚本不允许使用方法groovy.lang.Binding getVariables”(版本未知)这是一个许可问题。请和你们的詹金斯管理员联系。这里发布的唯一方法是在管道阶段为我工作
echo 'Build No: ' + env.BUILD_NUMBER + '. Build URL: ' + env.BUILD_URL
def foo = build.buildVariableResolver.resolve("FOO")
println "FOO=$foo" 
def BUILD_NUMBER = getBinding().getVariables()['BUILD_NUMBER']