Grep Jenkins输出和电子邮件用户

时间:2018-08-02 15:52:13

标签: jenkins jenkins-pipeline

如果输出中出现“ Fail”字样,我该如何对Jenkin的输出进行grep处理并向用户发送电子邮件?我想使用詹金的管道系统。

我正在使用Jenkins运行ssh命令。我希望在工作结束时grep Jenkin的输出,并在出现任何故障时(如果输出中显示“ Fail”一词)向管理员发送电子邮件。我该如何使用管道?

1 个答案:

答案 0 :(得分:0)

您可以使用管道步骤httpRequest将http请求发送到构建控制台网址:BUILD_URL / consoleText

您可以通过全局变量currentBuild.absoluteUrlenv.BUILD_URL

获取当前的BUILD_URL。
pipeline {
    agent any

    stages {

        stage('test') {
            steps {

                script {
                    def response = httpRequest([
                           // if your jenkins need login, 
                           // add your jenkins account or a common accout
                           // to jenkins credentials, below authentication value is 
                           // the credential Id
                           authentication: 'ba2e4f46-56f1-4467-ae97-17b356d7f854',

                           url: currentBuild.absoluteUrl + 'consoleText'])

                    if(response.status == 200) {
                        if(response.content =~ /Fail/) {
                            sh 'echo Build fail'
                            // add step to send mail
                        }
                        else {
                            sh 'echo Build successfully'
                        }
                    }
                    else {
                        echo 'Fail to fetch the build console log'
                    }
                } 

            }           
        }        
    }
}