Как предотвратить отключение уведомлений Jenkins Webhook? - PullRequest
0 голосов
/ 08 января 2019

У меня есть следующая проблема:

Мой CI Pipeline работает на Jenkins (2.157) с использованием Git Plugin (3.9.1).

Настроено, что любое изменение с нашего размещенного Bitbucket Server (5.9.1) вызывает сборку. Уведомление о подтверждении отправляется через Bitbucket HTTP-запрос Hook

Пока это работает, если ветвь функции не удалена.

При удалении ветки запускается сборка с идентификатором Git Commit "0000000000000000000000000000000000000000"

Если я не справлюсь с этим, сборка завершится неудачей (неудивительно).

Тем не менее, процесс уведомления все еще работает, и следующий коммит в хранилище снова запускает задание.

Что мне сейчас не нравится, так это то, что в моей истории есть неудачные сборки, которые на самом деле не ошибочны. Поэтому я попытался отфильтровать уведомления о фиксации с идентификатором фиксации «0000000000000000000000000000000000000000», пометить их как «УДАЛЕНИЕ ФИЛИАЛА» и установить статус

currentBuild.result = 'SUCCESS'

Пока все хорошо. Теперь проблема в том, что задание CI больше никогда не запускается.

Рабочая область по-прежнему содержит содержимое предыдущего коммита, и я не могу понять, почему уведомление о фиксации больше не перехватывается.

Автоматический запуск сборки, после чего снова включается процесс уведомления.

Может кто-нибудь помочь или хотя бы объяснить, что здесь не так? Подключаемый модуль HTTP-запроса Bitbucket не имеет возможности «игнорировать» удаление ветки (я создал для этого Issue в 2017 году, но он не был реализован)


UPDATE

Немного поиграв, я обнаружил, что только одно из следующего деактивирует процесс уведомления:

currentBuild.result = 'SUCCESS'
currentBuild.result = 'UNSTABLE'

При установке состояния на одно из следующих действий процесс уведомления все еще работает:

currentBuild.result = 'ABORTED'
currentBuild.result = 'FAILED'

ОБНОВЛЕНИЕ 2

Другим возможным решением является использование многоотраслевых конвейеров Jenkins - они не реагируют на удаление веток (кроме удаления рабочей области удаленной ветки)

...