Webhooks, как заставить BRANCH_NAME загрузить его с помощью Jenkins

У меня есть случай: я хочу загрузить ветку с последней фиксацией, я имею в виду следующую. В моем репозитории с битбаксом у меня много веток, и после того, как разработчик добавит свою push-фиксацию в [branch-1], веб-хуки отправляют уведомление Jenkins и обновляют имя ветки . Итак, как мой плагин Jenkins bitbucket должен получить имя ветки из полученного веб-хука?

Настройки задания Дженкинса

Настройки веб-перехватчиков Bitbucket


person Andrew    schedule 28.05.2018    source источник
comment
Вы хотите прочитать имя ветки при срабатывании триггера ??   -  person rohit thomas    schedule 29.05.2018
comment
да, и в результате отправьте это имя_ветви в переменную jenkins, чтобы создать сборку с именем_ветви   -  person Andrew    schedule 29.05.2018


Ответы (1)


Вам нужно будет использовать Pipeline, чтобы получить сведения о ветке, которая запускается. Пара вещей, которые вам нужно иметь в виду, вы получите всю полезную нагрузку, из которой вам нужно будет проанализировать JSON Получить параметры полезной нагрузки в Jenkins

После выполнения вышеуказанных шагов добавьте это в свой PipeLine.

 def object =  new JsonSlurper().parseText("$payload")
    // reading the JSON to see if branch is master or any other
    String refs= new JsonBuilder("$object.ref" ).toPrettyString()
    println "$refs"
    String[] arrBranch =refs.split("/")
    String branch =arrBranch[2]
    println "$branch"
    if (branch=="master")
        echo "deploy to PROD"
    else 
    echo "deploy to staging"
person rohit thomas    schedule 29.05.2018