解锁消息通知,提升协作战斗力!
DevOps 全链路消息中转站,消除信息孤岛。
作为一个 折腾 复杂、多元且敏捷的 DevOps 团队,消息通知一直让人又爱又恨。
就像垃圾消息一样,总是堆满弹窗。
无脑转发、群聊、风格各异、消息提示音…… 犹如一场交响乐,在脑海中回荡。最终,所有人都感谢一个叫 消息免打扰 的功能。
原本期望的打破信息壁垒,最终造成了信息风暴,严重影响了工作者的 身心健康 工作效率。
依旧会出现的灵魂回答:
- 不知道
- 没听说
- 没注意
甩锅场景也回来了:
- 怎么不早说
- 怎么没通知
- 怎么没提醒
很明显,消除信息孤岛,缺的不是技术,而是 场景化解决方案。
如今的企业团队,邮件已经逐渐退出使用场景,大家都擅长使用 IM(即时通信),企业微信和钉钉有绝对优势,但飞书也有大展拳脚的架势。
就技术而言,每家 IM 的官方文档站均给出了群机器人的接入使用手册。
另外,除了官方文档,简单易用的第三方库也是覆盖各种常用技术栈。
所谓 工欲善其事,必先利其器,以上种种只能算利器,而我们的目的是 善事 。
多方协作,高效不扰民
虽然,全员通知尽量避免,过多的全员通知只会变成信息风暴,最终造成群体免疫。
但没有全员通知也是不可取的,有些信息需要每天大喇叭喊一喊,比如各种日报。
缺陷报告
测试用例执行报告
这些能让大家看到整个团队是动态的,有利于鼓励群体前进。
场景定制,关键信息不遗漏
除了定期发送的通知,更多的需求是希望打通各种平台的信息链,集中到高频使用的 IM 这样的窗口中来。
比如研发团队想要高效协作,代码合并请求、制品构建结果、环境部署状况等关键信息,多少会都想瞄一眼,毕竟其中任何一个环节出了问题,都会影响整个迭代的完成,甚至,不到最后一刻,没人知道锅是谁的。
镜像通知
上报缺陷
缺陷评论
虽然技术上什么消息都能推,但一定要根据团队中实际场景来设计通知,否则信息风暴造成思考力丧失。
提醒到位,消息精准传达
群体通知的隐含属性是:
- 无责任人
- 可关注,可不关注
所以这种通知就像广场舞,除了知道有人在跳舞,多数人不看舞蹈本身。
而我们利用 IM 最大的一个好处是能使用 @ 功能,精准提醒到人,并且还是大庭广众之下 @ 。
如果说之前的通知能给出现名字的员工带来一定的荣誉感,那么这里的消息会给员工造成一定的紧张感。
缺陷被指派
缺陷被修复
分享一刻值千金
受限于各路插件本身稳定性,且不便于集中管理,我们制定了一个快速、易维护、集中式管理的方案,使消息通知场景不会成为高效协作中的绊脚石。
利用轻便的 web 服务作为中转中心,全链路中所有的 webhook 全部发送至该 web 服务,由该服务收纳后自动分发到各目的地。
本着消息中转的初心,业务逻辑上尽量简单,力求信息 ”从来处来,到去处去“ ,机器人消息模板可自定义。
配置以 Jira 为例:
Jira 原生 Webhook
Automation for Jira
企业微信和钉钉的机器人消息都支持 Markdown 的格式,而飞书比较特别,特别到一言难尽。
所以这里我展示一下 Markdown 的消息模板:
你没看错,模板除了支持变量,还支持语法,我这里使用的是 Python 下的一个热门模板引擎 Jinja2,有兴趣的朋友可以自行了解。
高效协作
快人一步
点击“阅读原文”了解 OpenDevOps MSG Center