如果输出中出现“ Fail”字样,我该如何对Jenkin的输出进行grep处理并向用户发送电子邮件?我想使用詹金的管道系统。
我正在使用Jenkins运行ssh命令。我希望在工作结束时grep Jenkin的输出,并在出现任何故障时(如果输出中显示“ Fail”一词)向管理员发送电子邮件。我该如何使用管道?
答案 0 :(得分:0)
您可以使用管道步骤httpRequest将http请求发送到构建控制台网址:BUILD_URL / consoleText
您可以通过全局变量currentBuild.absoluteUrl
或env.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'
}
}
}
}
}
}