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


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

尝试:

#1:

def env = System.getenv()
def BUILD_NUMBER= env["BUILD_NUMBER"]

结果: 

当我访问BUILD_NUMBER时为空

#2:

def BUILD_NUMBER= params["BUILD_NUMBER"]

结果: 

当我访问BUILD_NUMBER时为空 但是,此解决方案适用于我创建的环境变量


4918
2017-07-29 17:51


起源



答案:


找到答案: build.environment.get("BUILD_NUMBER")


10
2017-07-29 18:20



没有这样的属性:为类构建:groovy.lang.Binding - kylestephens
对不起,我不在同一个地方,现在再和詹金斯一起工作了 - Cher


答案:


找到答案: build.environment.get("BUILD_NUMBER")


10
2017-07-29 18:20



没有这样的属性:为类构建:groovy.lang.Binding - kylestephens
对不起,我不在同一个地方,现在再和詹金斯一起工作了 - Cher


只是为了让大家都知道我试过了

def foo = build.buildVariableResolver.resolve("FOO")
println "FOO=$foo" 

有效。 请参考此处的示例 https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin


3
2018-06-08 12:55



在最近的版本中你需要做 def previousBuild = currentBuild.getPreviousBuild(); def foo = previousBuild.buildVariables["YOUR_VARIABLE_NAME"] - tftd
@tftd ERROR: (script, line 1) No such property: currentBuild for class: script - derHugo
可能是Jenkins / DSL / Pipeline的旧版本 - tftd


echo 'Build No: ' + env.BUILD_NUMBER + '. Build URL: ' + env.BUILD_URL

环境变量列表可通过以下方式访 HTTP://HOST/PATH_TO_JENKINS/env-vars.html/

例如。, HTTP://本地主机:8888 /詹金斯/ ENV-vars.html /


1
2018-05-30 15:23