Как получить конкретную информацию о текущем проекте сборки в Jenkins с Groovy? - PullRequest
11 голосов
/ 14 ноября 2011

В Jenkins / Hudson, с помощью сценария Postbuild Groovy, я хотел бы получить одно из следующих:

  • переменная окружения (например, текущий JOB_NAME, BUILD_NUMBER и т. Д.)
  • результат определенного номера сборки текущего проекта
  • номер сборки последней неуспешной сборки в текущем проекте

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

def item = hudson.model.Hudson.instance.getItem("GroovyMultipleFailTest") 
def build = item.getLastBuild()
build.getNumber()

Ответы [ 6 ]

6 голосов
/ 11 декабря 2012
${manager.build.getEnvironment(manager.listener)['BUILD_NUMBER'] }
4 голосов
/ 30 января 2013

Бо Перссон имел лучший ответ, но был немного коротким.

Чтобы получить доступ к переменным среды из сборки в Groovy Postbuild, вы можете получить их из сборки. Этот пример кода полезен для выгрузки всех переменных среды BUILD в консоль:

manager.build.getEnvironment(manager.listener).each {
    manager.listener.logger.println(it);
}
3 голосов
/ 17 августа 2016

Используя Jenkins v2.17, это работает для меня:

echo "BUILD_NUMBER = $ {env.BUILD_NUMBER}"

2 голосов
/ 27 мая 2015

Если вы используете скрипт Groovy в « Env Inject », вы можете получить текущую сборку и текущее задание:

0 голосов
/ 25 апреля 2016

Единственный способ заставить его работать на меня был с build.properties.environment.BUILD_NUMBER

0 голосов
/ 14 ноября 2011

переменная окружения (например, текущий JOB_NAME, BUILD_NUMBER и т. Д.)

String jobName = System.getenv('JOB_NAME')
...