Я создаю сценарии конвейера Jenkins и отправляю электронную почту в состоянии сборки.
stage('Sending email') {
echo "${FINAL_EAR}"
emailext body: '''$DEFAULT_CONTENT
The cause of the build:
${BUILD_CAUSE}
current build changes:
${CHANGES, showPaths=true, format="%a: %r %p \\n--\\"%m\\"", pathFormat="\\n\\t- %p"}
Changes since the last build:
${CHANGES_SINCE_LAST_UNSTABLE}
Artifact location:
${BUILD_LOG_REGEX, regex="^`\\\\$\\\\{FINAL_EAR\\\\}' ->", showTruncatedLines=false}''', replyTo: '$DEFAULT_REPLYTO', subject: '$DEFAULT_SUBJECT', to: 'blah@blah.com'
}
В приведенном выше фрагменте я столкнулся с проблемой regex = "^` \\ $ \\ {FINAL_EAR \\ } '-> ". Регулярное выражение не может найти правильное значение, эхо выводит правильное значение. Я попытался экранировать (с или без) $, {и}, который имеет особое значение в регулярном выражении, но он не будет работать.
Это ошибка, которую я вижу, когда получаю электронное письмо "* java .util.regex.PatternSyntaxException: недопустимое повторение рядом с индексом 1 ^ $ {FINAL_EAR} '-> ^"
Примечание: Фактический журнал содержит символы`,' и -> поэтому мне нужны эти символы в регулярных выражениях. Заранее признателен за помощь.