
大家好,我是空哥。
当Jenkins部署成功后,如何有效快速的通知相关人员?
之前我深度讲解过如何用邮件通知,但邮件还是不如即时通知软件,如企业微信、钉钉这种消息提醒。
这次我来讲解下Jenkins如何接入企业微信通知。
企业微信智能机器人是基于企业微信生态的AI对话系统,具备自动回复、多轮对话、数据沉淀等功能,支持文本和语音多模态交互,还可以自定义知识库。它通过自然语言处理技术(NLP)和知识图谱,能够理解客户语言并给出准确回复。其主要作用包括:
Jenkins是一款流行的自动化工具,主要用于持续集成和持续交付(CI/CD)。添加智能机器人到Jenkins的原因包括:
需要注意的是,Jenkins 本身并不直接支持智能机器人,通常需要通过插件或API集成来实现这些功能。
群聊中添加一个群机器人


如下图所示,这是测试机器人的消息推送配置,有推送消息的示例、配置、说明等。最重要的是 Webhook 地址,这个链接后面要复制到 Jenkins 的配置中。

下面是用 Postman 工具测试往这个 Webhook 地址发送消息。

发送成功后,就能在企业微信中收到机器人发送的消息提醒。

因为 Jenkins 并没有自带企业微信工具,所以需要手动安装下企业微信的插件。
首先在 Jenkins 插件市场搜索插件:企业微信。

添加机器人 ID、名称、webhook 地址。机器人 ID 填写一个在这个 Jenkins 实例中唯一的 ID 就行。

在 Jenkins 中还可以测试插件是否配置正确,如果配置正确,点击测试时,会收到企业信息通知。

手机号用于在企业微信找到相关的成员,并 @ 该成员。


在 Jenkins pipeline 的脚本中加入如下代码,成功或失败时通过企业微信通知相关人员。
消息的文本格式是 markdown 格式,也可以是纯文本的格式,这里为了消息提醒的样式更好看,采用了 markdown 格式。
post {
success {
script {
echo "成功时通知触发构建者"
wxwork(
robot:'robot1',
type:'markdown',
text: [
"部署<font color=\"green\">成功</font>通知",
">项目: <font color=\"comment\">后端</font>",
">任务名: <font color=\"comment\">${env.JOB_NAME}</font>",
">模块: <font color=\"comment\">${params.SERVICE_NAME}</font>",
">分支: <font color=\"comment\">${params.GIT_BRANCH}</font>",
">部署ID: <font color=\"comment\"># ${env.BUILD_NUMBER}</font>",
">构建日志: <font color=\"comment\">${currentBuild.absoluteUrl}</font>"
]
)
}
}
failure {
script {
echo "失败时通知提交者"
wxwork(
robot:'robot1',
type:'markdown',
text: [
"部署<font color=\"red\">失败</font>通知",
">项目: <font color=\"comment\">后端</font>",
">任务名: <font color=\"comment\">${env.JOB_NAME}</font>",
">模块: <font color=\"comment\">${params.SERVICE_NAME}</font>",
">分支: <font color=\"comment\">${params.GIT_BRANCH}</font>",
">部署ID: <font color=\"comment\"># ${env.BUILD_NUMBER}</font>",
">构建日志: <font color=\"comment\">${currentBuild.absoluteUrl}</font>"
]
)
}
}
}
完整的模板代码下载:
https://gitee.com/jayh2018/passjava-script/blob/master/jenkins/wework-notice.groovy


post 阶段调用 wxwork(),可按成功/失败场景发送带链接和 @ 的 Markdown 消息。参考资料:https://plugins.jenkins.io/wxwork-notification