一、蓝鲸平台
蓝鲸是一套基于 PaaS 的技术解决方案,提供了完善的前后台开发框架、调度引擎、公共组件等模块,帮助业务的产品和技术人员快速构建低成本、免运维的支撑工具和运营系统。
总的来讲,蓝鲸是一款自动化运维工具,不仅可以提供一个高效、便捷的运维体系,还可以针对企业和自身的需求定制SAAS应用!
二、项目管理系统
项目管理正是是紧紧结合蓝鲸平台而推出的一款SAAS应用,主要目的是为了解决企业中项目信息的录入,灵活展示以及消息通知功能!
在我们的智能报表模块,需要按一定的规则去灵活展示各类项目,并实现具体的消息通知到钉钉里面的相关人员!
项目管理第一版的时候,我是以微应用的形式发送的,消息通知模块的功能虽然能够实现,但是消息发送通知受到严重限制,消息类型不能灵活定制!
为了解决以上痛点!第二版的项目管理对此进行了优化,使用了一个python的第三方库 DingtalkChatbot
三、钉钉群消息通知模块使用场景
1、聚合Github、Gitlab等源码管理服务,实现源码更新同步;
2、聚合Trello、JIRA等项目协调服务,实现项目信息同步;
3、机器人支持Webhook自定义接入,就可以实现更多可能性,例如:运维报警、自动化测试结果报告、工作&生活日程安排(上班打卡、下班吃饭、健身、读书、生日、纪念日...)的提醒;
在项目管理模块中,我采用了钉钉群机器人 Webhook 的接入方式,能够实现 具体的人,具体的项目,时间节点,做哪些事情的智能报表通知! 这种接入方式,不仅支持多种通知模式,而且支持钉钉官方消息发送频率限制限制:每个机器人每分钟最多发送20条!
四、python 第三方库 DingtalkChatbot:
DingtalkChatbot 第三方库的地址:
https://pypi.org/project/DingtalkChatbot/
github上 DingtalkChatbot 的源代码地址:
https://github.com/zhuifengshen/DingtalkChatbot
安装命令如下:
pip install DingtalkChatbot
五、使用案例:
from dingtalkchatbot.chatbot import DingtalkChatbot
# WebHook地址
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=4cxxfxxxxxdd881987' \
'01a3124bxxxxxxxx5xx895'
# 初始化机器人小丁
xiaoding = DingtalkChatbot(webhook)
# Text消息@所有人
xiaoding.send_text(msg='项目管理系统通知测试', is_at_all=True)
# Text消息之@指定用户 这里只支持手机号
at_mobiles = ['+86-1751***4019'] # 这样也可以,更加方便['1751***4019']
xiaoding.send_text(msg='发消息给***', at_mobiles=at_mobiles)
实现对具体的某人,某个项目,具体的时间点,事件通知:
更多具体的用法,请参照该链接