Решение этой проблемы требует небольшого взлома ... (не волнуйтесь, ничего сложного)
Способ сделать это - использовать модуль Дженкинса , который можно найти здесь .
Таким образом, чтобы пометить этап как пропущенный, нужно вызвать статический метод markStageSkippedForConditional , передав имя пропускаемого этапа.
Допустим, у вас есть сцена с именем «mystage».и вы хотите пропустить его и пометить как "пропущенный".Ваш код должен выглядеть примерно так:
import org.jenkinsci.plugins.pipeline.modeldefinition.Utils
node() {
stage('a'){
echo 'stage 1'
}
stage('mystage'){
if(true){
echo 'skipping stage...'
Utils.markStageSkippedForConditional('mystage')
}else{
echo 'This stage may be skipped'
}
}
stage('b'){
echo 'stage 2'
}
}
Обратите внимание, что вы ДОЛЖНЫ снять флажок Use Groovy Sandbox
, поскольку метод Utils ограничен.