Jenkins流水线执行完成后发送邮件通知


Jenkins流水线执行完成后发送邮件通知


Jenkins流水线执行完成后发送邮件通知

安装插件

Jenkins需要配置邮件通知,安装插件Email Extension,然后进入系统管理-> 系统设置 ->Extended E-email Notification。这里我使用的是QQ邮箱,填写SMTP服务器地址smtp.qq.com 和端口 465注意要开启SSL,密码为授权码。


Jenkins流水线执行完成后发送邮件通知


配置插件


Jenkins流水线执行完成后发送邮件通知

邮件通知的功能很重要,我们要为每条流水线都加上这个步骤,我们在共享库中封装一个toemail.groovy。新建文件src/org/devops/toemail.groovy。在这个文件中,我们写了一段HTML代码,主要展示Jenkins的构建信息。

<code>package org.devops

//定义邮件内容
def Email(status,emailUser){
emailext body: """







<table>



构建信息/<font>





  • 项目名称:${JOB_NAME}

  • 构建编号:${BUILD_ID}

  • 构建状态: ${status}

  • 项目地址:

  • 构建日志:





/<table>

""",
subject: "Jenkins-${JOB_NAME}项目构建信息 ",
to: emailUser
}/<code>

测试邮件

<code>#!groovy

@Library('jenkinslibrary@master') _

//func from shareibrary
def gitlab = new org.devops.gitlab()
def toemail = new org.devops.toemail()

//branch
branchName = branch - "refs/heads/"
currentBuild.description = "Trigger by ${userName} ${branch}"
gitlab.ChangeCommitStatus(projectId,commitSha,"running")


//pipeline
pipeline{
agent { node { label "build"}}
stages{

stage("CheckOut"){
steps{
/> println("${branchName}")
}
}
}
}

post {
always{
/> println("always")
}
}

success{
/> println("success")
gitlab.ChangeCommitStatus(projectId,commitSha,"success")
toemail.Email("流水线成功",userEmail)
}

}
failure{
/> println("failure")
gitlab.ChangeCommitStatus(projectId,commitSha,"failed")
toemail.Email("流水线失败了!",userEmail)
}
}

aborted{
/> println("aborted")
gitlab.ChangeCommitStatus(projectId,commitSha,"canceled")
toemail.Email("流水线被取消了!",userEmail)
}

}

}

}/<code>

接下来可以调试了,如果没有问题会在邮箱中看到此封邮件。


Jenkins流水线执行完成后发送邮件通知




Jenkins流水线执行完成后发送邮件通知


Jenkins流水线执行完成后发送邮件通知


分享到:


相關文章: