2012-04-18 16 views
7

Al escribir un script que se ejecuta Jenkins Groovy Plugin como un paso de compilación (Ejecutar script de Groovy del sistema), se pueden especificar "enlaces de variable". La línea de ayuda dice: Define varings bingings (en el formato de archivo de propiedades). Las variables especificadas se pueden abordar desde el script. [sic] ¿Cómo accedo a esas variables desde el script? No se establecen como variables de entorno para la compilación, ni están presentes entre las propiedades del sistema.Acceso a las variables especificadas para Jenkins Groovy Plugin Script

Respuesta

8

this.getBinding().getVariables()

o simplemente binding.variables

+0

¿Sabes cómo acceder a las variables de entorno en el script? –

+0

@Newbie, 'binding.varaibles' es un objeto [java.util.Map] (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) (codificado por variable nombres). –

+3

Si tiene un enlace como 'foo = bar' en sus enlaces de variable, puede obtener' bar' ejecutando 'binding.variables.get ('foo')'. –

0

yo no era capaz de utilizar binding.variables directamente, sólo tengo listener, build, launcher y out de binding.variables.

En cambio, era capaz de utilizar build.environment(listener) para recuperar las variables de entorno como se sugiere en las respuestas a esta pregunta: ¿ 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'] 

Esto podría haber sido diferente para mí ya que sólo busco de todo el sistema las variables ambientales:

(comprobado) Preparar un entorno para la carrera \ mantener las variables del medio ambiente Jenkins \ Mantenga Jenkins Construir variables

Cuestiones relacionadas