2012-04-18 11 views
7

Beim Schreiben eines Skripts, das von Jenkins Groovy Plugin als Build-Schritt ausgeführt wird (Execute System Groovy Script) kann "Variablenbindungen" angegeben werden. Die Helpline sagt: Definieren Sie variable Bingings (im Eigenschaftendateiformat). Gespeicherte Variablen können über das Skript angesprochen werden. [sic] Wie greife ich auf diese Variablen aus dem Skript zu? Sie sind weder als Umgebungsvariablen für den Build festgelegt, noch sind sie unter den Systemeigenschaften vorhanden.Auf Variablen zugreifen, die für Jenkins festgelegt sind Groovy-Plug-in-Skript

Antwort

8

this.getBinding().getVariables()

oder einfach binding.variables

+0

Wissen Sie, wie Sie auf die Umgebungsvariablen im Skript zugreifen können? –

+0

@Newbie, 'binding.varaibles' ist ein [java.util.Map] (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) -Objekt (eingegeben durch Variable Namen). –

+3

Wenn Sie eine Bindung wie 'foo = bar' in Ihren Variablenbindungen haben, können Sie' bar' erhalten, indem Sie 'binding.variables.get ('foo')' ausführen. –

0

Ich war nicht in der Lage binding.variables direkt zu verwenden, ich habe nur listener, build, launcher und out von binding.variables.

Stattdessen war ich in der Lage build.environment(listener) zu verwenden, um die Umgebungsvariablen abzurufen, wie in den Antworten auf diese Frage vorgeschlagen: Access to build environment variables from a groovy script in a Jenkins build step (Windows)

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'] 

Dies könnte für mich anders gewesen, da ich nur für die systemweite Suche bin Umgebungsvariablen:

(geprüft) für den Lauf ein Umfeld vorbereiten \ Halten Jenkins Umgebungsvariablen \ Halten Jenkins Variablen Erstellen