Jenkins job DSL: извлечение ветки с последней фиксацией в Groovy-скрипте

Я использую Jenkins для автоматического запуска заданий. Я также использую Bitbucket Server в качестве системы контроля версий.

Я настраивал DSL задания Jenkins на любые изменения в моем репозитории Bitbucket (при каждой фиксации), используя какой-нибудь отличный скрипт для создания задания:

job(jobName) {
  steps {
    // Doing some staff. Need name of branch where last commit was done
  }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }

Итак, когда я делаю некоторые коммиты в my_repo, это задание выполняется, и я хочу извлечь имя ветки, в которой была сделана фиксация. Можно как-то это сделать?

P.S. на стороне Дженкинса (пользовательский интерфейс) я вижу имя ветки для текущего выполнения, но я понятия не имею, как извлечь его на отличной стороне.


person smart    schedule 26.02.2017    source источник
comment
Вы ищете план для ветки, в которой происходит фиксация? Или просто конкретная ветка каждый раз, когда на ней происходит фиксация?   -  person KeepCalmAndCarryOn    schedule 26.02.2017
comment
@KeepCalmAndCarryOn, меня интересует каждая ветка из моего репозитория, где происходит фиксация   -  person smart    schedule 27.02.2017


Ответы (1)


По сути, информация о ветке будет храниться в переменных среды с идентификатором «GIT_BRANCH» для каждой сборки, поэтому существует множество способов ее извлечь.

вы можете просто добавить следующий скрипт

job(jobName) {
  steps {
       shell('''
               echo $GIT_BRANCH
             '''.stripIndent().trim())
            }
  scm {
      git('ssh://git@<my_git_host>/<my_project>/<my_repo>.git', '**')
  }
  triggers {
    bitbucketPush()
    scm ''
  }
person Pradeep Thimmireddy    schedule 27.02.2017
comment
Спасибо! Эти переменные где-то задокументированы? - person smart; 27.02.2017
comment
Просто нажмите на номер сборки, откроется страница с информацией о сборке. На этой странице слева вы можете увидеть вкладку Environment Varribles. - person Pradeep Thimmireddy; 27.02.2017