Groovy Jenkins: оцените BUILD_LOG_REGEX и проверьте, если пусто, перед отправкой электронной почты - PullRequest
0 голосов
/ 05 сентября 2018

В моем JenkinsFile есть предложение finally, которое похоже на

finally{
 def script_regex = '${BUILD_LOG_REGEX, regex="^The module", maxMatches=5, showTruncatedLines=false, escapeHtml=true}'
 if (script_regex){
        emailext to: "y@z.com",
                 subject: "some subj",
                 body: script_regex
    }
}

Я пытался использовать echo (script_regex), но он дает

'${BUILD_LOG_REGEX, regex="^The module", maxMatches=5, showTruncatedLines=false, escapeHtml=true}' 

в виде строки вместо вычисления регулярного выражения. Хотя внутри exailext он работает нормально. Есть ли способ проверить, возвращает ли это регулярное выражение пустую строку? и отправлять электронную почту только тогда, когда регулярное выражение возвращает соответствующую строку. Заранее спасибо!

1 Ответ

0 голосов
/ 15 сентября 2018

Итак, после небольшого исследования я обнаружил, что переменная BUILD_LOG_REGEX определяется плагином emailext. Следовательно, мы не можем использовать вне его.

Вместо этого мы можем использовать что-то вроде manager.logContains('<regex>'), и это проверит ваш журнал сборки и вернет логическое значение, указывающее, присутствует ли требуемая строка.

...