2012-04-18 21 views
7

Quando si scrive uno script che è gestito da Jenkins Groovy Plugin come un passaggio di generazione (Execute sistema Groovy Script) si può specificare 'variabile binding'. La linea di assistenza dice: Definire i bizzaraggi varibali (nel formato file delle proprietà). Le variabili specificate possono essere indirizzate dallo script. [sic] Come accedere a queste variabili dallo script? Non sono impostati come variabili di ambiente per la generazione, né sono presenti tra le proprietà di sistema.Variabili Accesso specificati per Jenkins Groovy Plugin Script

risposta

8

this.getBinding().getVariables()

o semplicemente binding.variables

+0

Sai come accedere alle variabili di ambiente nello script? –

+0

@Newbie, 'binding.varaibles' è un oggetto [java.util.Map] (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) (immesso da variabile nomi). –

+3

Se si ha un'associazione come 'foo = bar' nelle associazioni delle variabili, è possibile ottenere' bar' eseguendo 'binding.variables.get ('foo')'. –

0

non ero in grado di utilizzare direttamente binding.variables, ho ottenuto solo listener, build, launcher e out da binding.variables.

Invece sono stato in grado di utilizzare build.environment(listener) per recuperare le variabili di ambiente come suggerito nelle risposte a questa domanda: 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'] 

Questo avrebbe potuto essere diverso per me dato che sono solo alla ricerca di tutto il sistema variabili ambientali:

(controllato) Preparare un ambiente per la corsa \ Tenere variabili Jenkins Environment \ Tenere Jenkins costruire variabili

Problemi correlati