У меня есть этап конвейера Jenkins, который я хочу пропустить, если в сообщении коммита нет волшебной строки вида Release: (major|minor|patch)
(без учета регистра и некоторых пробелов) в первой строке. Я пытаюсь использовать директиву when
и условие changelog
, но мне не нравится мое регулярное выражение, потому что оно искажено или буквально интерпретирует флаги .../im
или экранированный пробел \s
. Я не совсем знаю, как эффективно отлаживать ...
stage('Publish') {
when {
changelog '/.*^release:\\s*(major|minor|patch)\\s*$/im'
}
# ...
}
Когда это было "голое" регулярное выражение типа changelog /.*^
... у него была синтаксическая ошибка.
Есть ли способ заставить регулярное выражение работать или было бы другое решение, подобное
when {
expression {
???? ==~ /.*^release:\\s*(major|minor|patch)\\s*$/im
}
быть лучше? Не уверен, что можно бросить в ????.