在 jenkins 管道工作流中的通知邮件中附加日志文件

Foo*_*aut 2 jenkins jenkins-pipeline

我试图在邮件正文中附加一些特定日志文件的内容,同时通过电子邮件通知作业执行失败。

stage("Checkout Fusion Source")  {
    parallel 'A': {
        node('LinuxNode') {
            try {
                echo "Hello World(Linux)"
            } catch (Exception e) {
              mail body: 'Failed!',
              subject: 'Job has failed in Linux!',
              to: 'abc@xyz.com',
              attachmentsPattern: '/path/to/log/file/log_linux.out'
            }
            mail body: 'Passed!',
            subject: 'Job has passed in Linux!',
            to: 'abc@xyz.com',
            attachmentsPattern: '/path/to/log/file/log_linux.out'
        }
    }, 'B': {
         node('AixNode') {
            try {
                echo "Hello World(AIX)"
            } catch (Exception e) {
              mail body: 'Failed!',
              subject: 'Job has failed in AIX!',
              to: 'abc@xyz.com',
              attachmentsPattern: '/path/to/log/file/log_aix.out'
            }
            mail body: 'Passed!',
            subject: 'Job has passed in AIX!',
            to: 'abc@xyz.com',
            attachmentsPattern: '/path/to/log/file/log_aix.out'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

attachmentsPattern无济于事。PS 我的詹金斯版本是2.46.3.

小智 5

安装电子邮件扩展插件并在您的管道工作流程中尝试类似的操作。

emailext attachLog: true, body: "${currentBuild.result}: ${BUILD_URL}", compressLog: true, replyTo: 'email@xxx.com',
       subject: "Build Notification: ${JOB_NAME}-Build# ${BUILD_NUMBER} ${currentBuild.result}", to: 'email123@xxx.com'
Run Code Online (Sandbox Code Playgroud)