Как мне сохранить все неудачные этапы моего декларативного конвейера Jenkins?

В моем пайплайне Дженкинса 15 этапов. Теперь у меня есть функция публикации в конце файла Jenkins, чтобы отправить мне электронное письмо о том, был ли весь процесс неудачным или успешным. Я также хотел бы включить в электронное письмо все этапы, которые не удалось выполнить. Использование публикации на каждом этапе — не лучшая идея, потому что я буду получать 15 электронных писем каждый раз, когда задание выполняется.

Я думаю создать список и сохранить все неудачные env.STAGE_NAME в списке и распечатать его в конце? Но это не позволило бы мне сделать это в посте.
Я хочу добиться чего-то вроде:

pipeline {
    agent { label 'master'}
    stages {
        stage('1') {
            steps {
                echo 'make fail'
            }
        }
        stage('2') {
            steps {
                sh 'make fail'
            }
        }

        ...

        stage('15') {
            steps {
                sh 'make fail'
            }
        }
    }
    post {
        always {
            echo 'ok'
        }
        failure {
            "There are 3 stages have failed the test, which are: '1', '2' '15'"
        }
    }
}

Как бы я это сделал?


person user3741679    schedule 07.05.2020    source источник
comment
Отвечает ли это на ваш вопрос? Определить этап сбоя в декларативном конвейере Jenkins   -  person zett42    schedule 16.05.2020
comment
Я переместил свой ответ здесь, так как подобных вопросов уже слишком много.   -  person zett42    schedule 16.05.2020