У меня есть отличная функция, возвращающая код ошибки (1). Я не пытаюсь использовать это возвращаемое значение для некоторых действий, таких как обновление контекста github.
У меня проблема с тем, что на шаге не отображается ошибка, если я не использую manager.build.@result = hudson.model.Result.FAILURE
в своем операторе else
. Это установит состояние шага как ошибку, но не установит команду как ошибку в Blue Ocean.
Есть ли более простой способ справиться с этим вариантом использования или я что-то упустил?
Вот упрощенный пример
Groovy file
def foo() {
def status_code = sh(
script: "echo 1",
returnStatus: true
)
echo "${status_code}" // displays 1
return status_code
}
Pipeline
stage() {
steps {
script {
BUILD = foo()
echo "${BUILD}" // displays 1
if ("${BUILD}" == "0") {
echo "build success"
} else {
echo "build failure" // I reach here
}
}
}
}