Как получить доступ к переменным окружения Jenkins с помощью DSL?

Как говорится в этом вопросе. Я не могу получить к нему доступ.

Пытается:

# 1:

def env = System.getenv()
def BUILD_NUMBER= env["BUILD_NUMBER"]

Результат:

Нуль при доступе к BUILD_NUMBER

# 2:

def BUILD_NUMBER= params["BUILD_NUMBER"]

Результат:

При доступе к BUILD_NUMBER Однако это решение работает для переменных среды, которые я создаю

Ответ 1

Нашел ответ: build.environment.get("BUILD_NUMBER")

Ответ 2

Просто, чтобы вы знали, что я пытался с помощью

def foo = build.buildVariableResolver.resolve("FOO")
println "FOO=$foo" 

Это сработало. См. Пример здесь https://wiki.jenkins-ci.org/display/JENKINS/Groovy+plugin

Ответ 4

Это будет работать с последними версиями плагинов Jenkins и DSL:

def BUILD_NUMBER = getBinding().getVariables()['BUILD_NUMBER']

Ответ 5

Дженкинс вер. 2.138.2

def gitUrl = binding.variables.get("GITLAB_URL")