运维开发和钉钉
Posted September 25, 2019
最近使用钉钉的群聊机器人来做运维平台的通知消息端, 瞬间对钉钉这个软件有了好感。 为什么说有了好感, 因为之前听说钉钉搞什么『必须微笑打卡』, 让我对钉钉很排斥。 而钉钉之所以占领企业即时通信领域, 这和钉钉的开放和易于接入有关的, 当开源版本的微信程序和官方的封杀斗智斗勇的时候, 钉钉已经提供了, 一个 URL 的接口, 就可以轻松接入到群聊的机器人功能。
虽然企业微信也支持自定义机器人 webhook , 但企业微信不支持 ActionCard 类型的消息样式. 这是一种可接受一组操作的消息体, 很强大.
应用在运维开发的场景.
- 监控报警 (图片, 链接)
- 数据报表
- 工作流进度通知
- 后台任务接口通知
- 更多通知场景..
注册应用
直接在群聊的配置页面里, 增加机器人。 然后复制 webhook URL。
程序接入
钉钉提供一个webhook URL,通过 POST 相关的数据来发送消息, 消息支持非常多的样式,自定义性非常高。 包括普通的文本消息, markdown 和 actionCard 消息,并且支持 mention (@提及) 功能, 非常适合监控和通知。
写在最后
机器人不支持私信功能, 必须通过群聊发送信息。 不过这个可以通过 atMobiles 来达到分配任务的目的。 可以获取轮班人员信息, 发送信息前组织数据的 atMobiles 来实现轮班提醒. 不得不说, 钉钉对开发人员是非常友好的,降低了公司的接入钉钉的开发成本。