Я хочу реализовать следующие уведомления в моем декларативном конвейере:
(регрессия) → Задание начало сбой!
(сбой) → Задание все еще не выполняется.
(исправлено) → Задание возобновлено.
Не похоже, что post
условия могут это сделать.Вместо этого при сбое сборки срабатывает и failure
, и regression
.Есть условие changed
, но я думаю, что эта задача хочет unchanged { failure }
, которого не существует.
post {
regression {
slackSend message: 'Job has started to fail!'
}
failure {
slackSend message: 'Job is still failing.'
}
fixed {
slackSend message: 'Job has resumed.'
} // no need for 'success' as we don't want a notification while it's working
}
Приведенная выше конфигурация будет отправлять следующие уведомления, если задание ранее было выполнено успешно:
(сбой задания)
Задание не удалось запустить!
Задание все еще не выполняется.
(задание не выполнено)
Работа по-прежнему не выполняется.
(работа выполнена)
Работа возобновлена.
Это дополнительное сообщение "Работа по-прежнему не выполняется", когда задание начинает сбой.Есть ли способ обойти это, используя post
условия?
В качестве альтернативы, как я могу реализовать это поведение другим способом?Я сделал пропуск на post { always { // decide which message is appropriate } }
, но не выяснил, как определить статус предыдущей сборки.