一、相关文档
二、组件版本
组件 | 版本 |
---|---|
Jenkins | 2.303.3 |
三、钉钉配置
新建聊天群->群设置->智能群助手->添加机器人
自定义关键词:设定后,只有包括关键词的内容才被发送
加签:签名密钥,需填写到Jenkins中,增加安全
IP地址(段):设定后,只有来自IP地址范围内的请求才会被正常处理
切记保管好加签和Webhook
四、Jenkins配置
1、安装钉钉插件DingTalk
2、在Jenkins用户管理中填写钉钉手机号
用户列表->用户
3、在Jenkins中配置钉钉
系统管理->系统配置
填写之前记录的加签和Webhook
4、在自由风格任务配置中,添加机器人
5、在流水线任务中编写pipeline
安装插件build user vars:pipeline中显示构建用户名与密码插件
pipeline {
agent any
environment {
BUILD_USER = ""
}
stages {
stage('Hello') {
steps {
wrap([$class: 'BuildUser']) {
script {
BUILD_USER = "${env.BUILD_USER}"
}
}
echo '${BUILD_USER}'
}
}
}
post {
success {
dingtalk (
robot: "test",
type:'ACTION_CARD',
atAll: false,
title: "构建成功:${env.JOB_NAME}",
//messageUrl: 'xxxx',
text: [
"### [${env.JOB_NAME}](${env.JOB_URL}) ",
'---',
"- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
'- 状态:<font color=#00CD00 >成功</font>',
"- 持续时间:${currentBuild.durationString}".split("and counting")[0],
"- 执行人:${BUILD_USER}",
]
)
}
failure{
dingtalk (
robot: "test",
type:'ACTION_CARD',
atAll: false,
title: "构建失败:${env.JOB_NAME}",
//messageUrl: 'xxxx',
text: [
"### [${env.JOB_NAME}](${env.JOB_URL}) ",
'---',
"- 任务:[${currentBuild.displayName}](${env.BUILD_URL})",
'- 状态:<font color=#EE0000 >失败</font>',
"- 持续时间:${currentBuild.durationString}".split("and counting")[0],
"- 执行人:${BUILD_USER}",
]
)
}
}
}
五、参考鸣谢
Jenkins pipeline获取Build User和Email
Jenkins: pipeline实现编译完成后钉钉机器人通知
钉钉机器人插件