2012-04-18 3 views
7

При написании сценария, который выполняется Jenkins Groovy Plugin в качестве этапа сборки (Выполнение скрипта Groovy System), можно указать «привязки переменных». Горячая линия говорит: Определите билингвины varibale (в формате файла свойств). Спрашиваемые переменные могут быть адресованы из сценария. [sic] Как получить доступ к этим переменным из сценария? Они не заданы как переменные среды для сборки, они также не присутствуют среди свойств System.Доступ к переменным, указанным для скрипта подключаемого модуля Jenkins Groovy

ответ

8

this.getBinding().getVariables()

или просто binding.variables

+0

Вы знаете, как получить доступ к переменным среды в скрипте? –

+0

@Newbie, 'binding.varaibles' - это [java.util.Map] (http://docs.oracle.com/javase/6/docs/api/java/util/Map.html) объект (с ключом переменной имена). –

+3

Если у вас есть привязка как 'foo = bar' в ваших привязках переменных, вы можете получить' bar', запустив 'binding.variables.get ('foo')'. –

0

Я не был в состоянии использовать binding.variables непосредственно, я получил только listener, build, launcher и out от binding.variables.

Вместо этого я был в состоянии использовать build.environment(listener) для получения переменных окружения, как предложено в ответах на этот вопрос: 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'] 

Это могло бы быть иначе для меня, так как я ищу только в масштабах всей системы переменные среды:

(проверено) Подготовка среды для запуска \ Держите переменные Дженкинс среды \ Keep Дженкинс переменные сборки

Смежные вопросы