我正在构建 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: Illegal repeat near index 1 ^${FINAL_EAR}' -> ^ ”
注意:实际日志包含 `, ' 和 -> 所以我需要正则表达式中的这些字符。提前感谢您的帮助。