问题描述
我们需要使用 IRC 进行构建消息通知。因为:有很多免费 IRC 服务器;通知不涉及敏感消息;通知是即时的;我们使用 Linux 办公因此使用 钉钉、企业微信 多有不便;Slack 由于其他原因已经被占用;我们需要桌面应用,来进行消息通知提示。总之,就目前(02/14/2021)情况,IRC 是个不错的选择,我们使用 HexChat 进行消息接收与通知。
注意事项,在企业内,很少有使用 IRC 进行通讯,获取应该说“根本没有吧”。
该笔记将记录:在 Jenkins Pipeline 中,如何发送 IRC 消息,已经相关问题处理。
解决方案
插件地址:IRC | Jenkins plugin
仓库地址:jenkinsci/ircbot-plugin: Jenkins ircbot plugin
第一步、安装插件
在 Manage Jenkins / Manage Plugins / Available 中,安装 IRC 扩展。
第二步、修改配置
在 Manage Jenkins / Configure System / IRC Notification 中,添加 Channel 信息,根据字段含义进行添加即可。
注意事项:
1)在修改配置之后,在一段时间内 jenkions-bot 是离线的,需要在一段时间后,才能重新进入频道;
2)如果需要向 Channel 发送消息,比如如上先进行设置,以使 JeninsBot 进入 Channel;
3)关于在 IRC 中 创建 Channel 、密码设置,参考 Channel with Password 笔记;
第三步、发送通知
在 Jenkins Pipeline 中,使用 Step 发送通知。如下程序示例:
pipeline {
agent any
stages {
stage('# 构建开始') {
steps {
ircNotify targets: "#k4nz", customMessage: "Hello from IRCBot\nAAAAAAAAAAAAAAAAAAAAA"
}
}
}
}
关于发送彩色消息
详细内容,参考 IRC/Colored Messages 笔记
这里仅列举简单示例,比如,我们想要发送白色字体、红色背景的消息:
pipeline {
agent any
stages {
stage('# 构建开始') {
steps {
ircNotify targets: "#k4nz",
customMessage: "\u00030,3Hello from IRCBot\nAAAAAAAAAAAAAAAAAAAAA"
}
}
}
}
\u00030,3 将控制 Hello from IRCBot 为白色红底字体,但是 AAAAAAAAAAAAAAAAAAAAA 将显示为默认,因为 IRC 的消息以行为单位。如下截图,是 HexChat 收到的消息:
相关文章
「Jenkins Pipeline」- 发送 Slack 通知
参考文献
Let Jenkins Keep You Notified! (with the Instant Messaging Plugin)
Jenkins/Pages/Home/Plugins/Instant Messaging Plugin
IMAP IDLE - Wikipedia
Sending Notifications in Pipeline
Colors - IRC - WikiChip
本文暂时没有评论,来添加一个吧(●'◡'●)