Jenkins管道脚本以HTML格式通过电子邮件发送构建控制台o / p

时间:2017-12-01 06:43:40

标签: jenkins jenkins-pipeline

我正在尝试使用管道脚本以HTML格式向控制台o / p发送电子邮件。但是,它似乎没有起作用。任何建议。

    def notifySuccessful() {
emailext (
      subject: "STARTED: Job ${env.JOB_NAME} [${env.BUILD_NUMBER}]",
      body: '<pre>${BUILD_LOG_EXCERPT, start="^Hello World", end="^Finished: SUCCESS"} </pre>',
    to: 'myemail.com'
    )
    }

当我运行此功能时,我会在正文中收到包含以下文字的电子邮件

${BUILD_LOG_EXCERPT, start="^Hello World", end="^Finished: SUCCESS"} 

我尝试将'''或“”“”或“放到行

${BUILD_LOG_EXCERPT, start="^Hello World", end="^Finished: SUCCESS"} 

但这也不起作用。如果我附上一个",我会收到错误消息

  

意外令牌BUILD_LOG_EXCERPT

1 个答案:

答案 0 :(得分:0)

这是prudvirajanswer,它清楚地解释了BUILD_LOG_EXCERPT正则表达式的工作原理。

这是您的电子邮件分机代码

emailext (
            mimeType: "text/html",
            to: "your_email",
            subject: "Job '${env.JOB_NAME} [${env.BUILD_NUMBER}]'",
            body:'''<html>Build ! 
                    <br />
                    Check console output at <a href="$BUILD_URL">${JOB_NAME} [${BUILD_NUMBER}]</a> 
                    <br /> 
                    <br />
                    <pre>${BUILD_LOG_EXCERPT, start="Started by user Admin user", end="test"}</pre></html>'''
        )

控制台输出

enter image description here

收到的电子邮件

enter image description here