Jenkins Pipeline emailext 的正则表达式错误

Regex error with Jenkins Pipeline emailext

我正在构建 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\\}' ->" 的问题。 Regex 无法匹配正确的值,echo 打印出正确的值。我尝试转义(带或不带)$、{ 和 },它们在正则表达式中具有特殊含义,但仍然无法正常工作。

这是我收到电子邮件后看到的错误“java.util.regex.PatternSyntaxException:索引 1 附近的非法重复 ^${FINAL_EAR}' -> ^

注意: 实际日志包含 `、' 和 -> 所以我需要正则表达式中的这些字符。提前感谢您的帮助。

我并不是说我得到了答案,而是在寻找确切的“${FINAL_EAR} ->”我使用了如下正则表达式

${BUILD_LOG_REGEX, regex="^`[a-zA-Z0-9-.]*' ->", showTruncatedLines=false}''', replyTo: '$DEFAULT_REPLYTO', subject: '$DEFAULT_SUBJECT', to: 'blah@blah.com'

我不想让这个问题无人回答,所以想提供我的实施方式。