Есть ли в конвейере Jenkins эквивалент «Показывать только последний статус сборки»? - PullRequest
2 голосов
/ 07 февраля 2020

Мы находимся в процессе перехода на конвейер Jenkins. Мы используем Jenkins для обновления статуса сборки наших филиалов / PR в Bitbucket.

Одна из наших проверок слияния в Bitbucket - «Проверить последний коммит как минимум для 1 успешной сборки и без неудачных сборок». Это означает, что мы не сможем объединить, если не будет 1 успешной сборки последнего коммита на Jenkins, и не будет неудачных сборок последнего коммита.

Иногда сборки Jenkins терпят неудачу по причинам, не связанным с кодом и сборкой хорошо в следующий раз, когда вы запустите его. Тем не менее, это означает, что ветвь не может быть объединена, так как была хотя бы одна неудачная сборка.

Чтобы обойти это, ранее мы могли поставить галочку в конфигурации модуля уведомлений о состоянии сборки, в которой сказано Msgstr "Показывать только статус последней сборки". Пока что мы не можем найти какой-либо эквивалентный способ настроить это в Jenkinsfile. Кто-нибудь знает, возможно ли это, и если да, то как?

Этот вопрос является дубликатом Многоотраслевого конвейера с плагином уведомлений о состоянии сборки bitbucket в jenkins , но на этот вопрос так и не был дан ответ.

1 Ответ

2 голосов
/ 10 февраля 2020

Кажется, что ваш вариант использования покрыт Build REST API Bitbucket, и есть даже пошаговый пример вашего точного случая, когда последняя сборка не удалась для внешнего причины, и новая сборка завершается успешно

Чтобы перезаписать статус уже сообщенной сборки, вам нужно будет использовать тот же commit sha и тот же key

Что касается Bitbucket Build Status Notifier , он позволяет вам указать buildKey в качестве необязательного параметра. Обязательно укажите этот параметр, и этот параметр всегда одинаков для всех сборок одного и того же задания.

Таким образом, новая сборка с тем же последним коммитом будет перезаписывать последний, так как он будет использовать тот же sha и тот же ключ.

Дополнительные сведения о параметрах см. в разделе API документации по плагину.

...