Как покрасить сцену в зеленый, если она прошла успешно во второй попытке?

jenkins workflow jenkins-plugins jenkins-pipeline

3823 просмотра

1 ответ

512 Репутация автора

Я столкнулся с проблемой во время строительства моей трубопроводной работы. У меня есть несколько этапов, и один из них содержит блок «Повторить». Что-то вроде этого:

stage "1"
stage "other job call"
node{
    def job
    retry(3)
        {
            job = build job: 'Called job', parameters:
                        [
                            [$class: 'StringParameterValue', name: 'Branch', value: "Branch"],
                        ];
        }
    }
}

stage "2"

Итак, другая работа называется, и она успешно построена со второго раза. Но сцена окрашена в красный цвет, несмотря на то, что она прошла успешно: введите описание изображения здесь

введите описание изображения здесь

Как покрасить этот этап в зеленый?

Автор: Sviatlana Источник Размещён: 19.07.2016 08:18

Ответы (1)


1 плюс

812 Репутация автора

Решение

Как и вы, я искал возможность изменить состояние или цвет одной сцены, и, наконец, кажется, что у нас нет доступа к этой функции (возможно, если вы создаете свой собственный плагин ...)

В любом случае, в вашем случае функция « Retry » позволяет повторить блок (до N раз), если какое-либо исключение происходит во время выполнения его тела. Тогда, если вы используете функцию повтора, вы автоматически получите это состояние стадии.

Я не очень понимаю, почему вы используете «повторить», но если вы хотите избежать такого поведения, попробуйте использовать некоторые другие функции, такие как:

  • блоки try / catch / finally
  • блок catchError
  • currentBuild.result = 'UNSTABLE' // 'SUCCESS' | «НЕИСПРАВНОСТЬ» | 'UNSTABLE'
  • спать // если вам нужно ждать чего-то еще
Автор: Sebastien Размещён: 19.07.2016 10:25
Вопросы из категории :
32x32