доступ к переменным ENV_INJECT в DSL задания Jenkins

Я не могу получить доступ к каким-либо переменным среды Jenkins внутри отличного сценария JobDSL. Я вижу значения переменных системной среды.

Вот отличный сценарий, который я запускаю:

println(System.getenv("HOME")) println(System.getenv("WORKSPACE"))

Вот результат:

/users/s051464 null

Я попытался установить переменные среды с помощью Environment Injection, и это тоже не работает (все заданные переменные равны нулю).


person Jeff Hutton    schedule 20.02.2017    source источник


Ответы (1)


У вас должна быть возможность использовать ${VAR_NAME}, подробнее здесь. Единственным исключением являются переменные, специфичные для узла, такие как WORKSPACE, в этих случаях вам необходимо сделать следующее (отсюда):

 hudson.FilePath workspace = hudson.model.Executor.currentExecutor().getCurrentWorkspace()
person Jon S    schedule 20.02.2017