Как я могу заставить сборки Jenkins сообщать о сбоях на сервер Bitbucket?

В моей работе работает Jenkins и Bitbucket Server (поэтому вместо облака битбакет у них есть собственная версия битбакет). Я привык к тому, что с помощью github и bitbucket облака, которые собираются/не работают, сразу же сообщают о PR и ветвях о том, прошла ли сборка или не удалось. Я хочу передать этот подарок моей команде в нынешних условиях. Как мне получить PR на сервере Bitbucket для получения успеха/неудачи сборок от Jenkins?


[Рисунок 1 просто показывает пример функциональности, которую я хочу, работает на PR в github + codehip]


PR with build success and failures on github and codeship

Ответы

Ответ 1

В то время как Webhook для Jenkins для Bitbucket может помочь уведомить Дженкинса для опроса, когда есть коммит, вам все равно нужно помнить о "ленивых обновлениях обновлений" в Bitbucket (описанных в этой теме)

Нам пришлось реализовать что-то, что позволит получить доступ к API REST для изменений pull-request/*/changes перед вызовом URL- /git/notifyCommit Jenkins /git/notifyCommit.

Последний Jenkins URL /git/notifyCommit поступает из плагина Jenkins Git.

Подробнее см. В разделе " Настройка Webhook To Jenkins для Bitbucket ".

После того, как Дженкинс будет правильно вызван, вы можете, как указано в " Уведомлять статус сборки от Дженкинса до сервера Bitbucket ", использовать " Jenkins Stash Pullrequest Builder ", из nemccarthy/stash-pullrequest-builder-plugin.

http://blog.nemccarthy.me/wp-content/uploads/2015/03/Screen-Shot-2015-03-23-at-11.08.56-am.png

Ответ 2

Сервер Bitbucket имеет API build-status. Он сохраняет статус сборки для конкретной фиксации, нет отдельного статуса сборки PR. Статус сборки PR - это статус сборки фиксации главы в этом PR.

Вы можете реализовать собственный вызов api для обновления статуса сборки или использования одного из существующих плагинов. Мы используем Post Webhooks для плагина Bitbucket Bitbucket в сочетании с плагином BlitzBank Source Source jenkins.

Ответ 3

Вы могли бы использовать BitBucket REST API для достижения этого?

Здесь практическое обновление фиксирует статус сборки: Обновление состояния сборки для фиксации

Статус фиксации отображается в Pull Request и на ветвях

Ответ 4

вы можете настроить плагин уведомления об утилизаторе, он отлично работает с BitBucket и уведомляет статус сборки для запроса ветвления и протягивания