Назад | Перейти на главную страницу

Есть ли способ получить статус последних трех сборок вакансии Дженкинса?

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

Есть идеи, как это реализовать?

Да, это возможно с помощью скрипта конвейера.

Вы можете получить статус сборки с помощью build.result.

Вы можете получить список последних 3 сборок с Jenkins.instance.getItemByFullName('full/path/to/job').builds[0..2] (обратите внимание, что это вернет список с менее чем 3 сборками, если задание еще не было построено 3 раза).

Собрав все это вместе, мы можем создать простой скрипт, чтобы проверить, не завершились ли последние три задания:

def builds = Jenkins.instance.getItemByFullName('full/path/to/job').builds[0..2]

def failedThreeTimes = builds.every { build-> build.result.toString() == 'FAILURE' }

echo("Failed three times in a row? ${failedThreeTimes}")

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