从把办公通信工具从微信迁移到企业微信后,群组里面多了一个叫“群聊机器人”的功能,如下图,我在某个群建了一个叫“测试”的机器人。
听名字会让人以为群里面有个能自动答复的机器人,@它就能跟他对话。其实并不能,他的功能比较弱鸡,只能通过图中Webhook的接口向他post数据,然后它来完成在群里发消息以及@某人的功能。
虽然现在的功能比较弱,只能单向发消息,但是在整个研发过程中,还是有很多场景可以利用它来搞些事情。
Gitlab小助手
Gitlab是目前开发中使用的代码可视化管理平台,上面有蛮多的消息是需要知会到对应的开发处理的,比如:
-
A开发提交了MergeRequest,并指定B开发去Review代码处理合并。以往会通过口头沟通、触发邮件两种方式来告知B。每次合并都得特意去喊B,对A同学来说就会很麻烦。以邮件的方式呢,及时性不高,开发一般不会时刻都去看邮箱是否有新的邮件,而且大部分时候甚至不开邮箱。
-
A开发提交了代码、MergeRequest,随后开始执行CI pipeline,其中可能包括代码规范检查、单元测试等等。在这些环节失败的时候,希望能及时的通知到对应的开发去处理。
-
有些项目可能会通过issue来反馈和记录问题,那么有新issue、issue被解决的时候,也希望及时的通知到跟相关方。
利用Gitlab Webhook + Robot Webhook 就能比较轻松的满足上述场景。在内网部署一个消息服务器,在Gitlab项目的配置中,配置Webhook地址为该服务器的特定路由,就能在消息服务器中收到对应的Gitlab消息,稍加处理后即可通过Robot Webhook发送到对应的群。Gitlab配置示例如下图:
为了不让消息泛滥,目前我们仅对接了MergeRequest、Pipeline、Issue三大模块的消息。
下图为Robot在群中发出的Gitlab相关消息:
MergeRequest
Pipeline
Issue
在图中可以看到,在MergeRequest或者是创建Issue时,如果在Gitlab中选择了Assignee,那在群中会自动@对应的人,提醒他看消息。随后可通过消息中的url直达Gitlab中的模块,非常高效。
Jira小助手
目前团队中使用Jira来管理个人任务、Bug、用户反馈等Issue。在快速迭代的过程中,希望每个工作日下班前都能统计当前任务的完成情况,bug的解决情况,并进行统计发出日报,方便大家及时了解当前的项目进度。让项目管理或者部门经理来人肉统计并发给大家就太浪费了。
基于Jira Api和Robot Hook,统计服务能自动的每天定时从Jira获取相关数据并整合,post到Robot Hook发到各个项目组的群中。
每日bug
上图中除了对Issue进行分类,还会把Issue按人计数,可直观看到每个经办人手头的代办Issue。同样,点击链接可以直接进到Jira系统中相关Issue筛选界面。
生活小助手
当然,除了冷冰冰的项目数据和代码数据,还是可以加一些生活化的元素进来。比如,可以利用机器人给灌水群推推天气预报、每日格言,给股神群推推每日股票行情等等。比如
数据流
据说企微内部已经有了能@机器人进行交互的功能,估计还在内测。有了这个功能,能搞更多的事情。可以想象,很多事项不需要在系统之间切换去处理了,在IM中收到系统消息,回复即可处理。
传说中的ChatOps?