it-swarm.com.de

wie kann ich mit DSL auf Jenkins-Umgebungsvariablen zugreifen?

Wie die Frage sagt. Ich kann nicht darauf zugreifen.

Versuche:

# 1:

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

Ergebnis: 

Null, wenn ich auf BUILD_NUMBER zugreife

# 2:

def BUILD_NUMBER= params["BUILD_NUMBER"]

Ergebnis: 

Null, wenn ich auf BUILD_NUMBER .__ zugreife. Diese Lösung funktioniert jedoch für von mir erstellte Umgebungsvariablen

11
Cher

Die Antwort gefunden: build.environment.get("BUILD_NUMBER")

11
Cher

Nur um Sie wissen zu lassen, dass ich es versucht habe 

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

Es hat funktioniert . Verweisen Sie das Beispiel hier https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin

4
Mohit Arora

Dies funktioniert mit den neuesten Versionen von Jenkins und dem DSL-Plugin:

def BUILD_NUMBER = getBinding().getVariables()['BUILD_NUMBER']
1
Alex O
echo 'Build No: ' + env.BUILD_NUMBER + '. Build URL: ' + env.BUILD_URL

Liste der Umgebungsvariablen, auf die über folgende Optionen zugegriffen werden kann: http: //Host/PATH_TO_JENKINS/env-vars.html/

z. B. http: // localhost: 8888/jenkins/env-vars.html/

0
kylestephens

Jenkins ver. 2.138.2

def gitUrl = binding.variables.get ("GITLAB_URL")

0
radzserg