打通 Jira 与钉钉和企业微信不再难
每每看到别人家公司将聊天机器人与项目管理有效结合的实践,我都甚是羡慕。自己只使用过钉钉自带的 Jira 机器人,也曾尝试使用 Script Runner 插件写点 Groovy 脚本,来实现项目管理过程中的任务提醒功能,但是由于技术水平有限,所以一直没有产生什么结果。
正好前两天在摸索 Automation for jira 插件时,竟然跑通了一个关键流程:通过钉钉自定义机器人将 Jira 更新的消息成功推送到了钉钉群,心里甚是欣喜。我周末花了一天多时间,仔细研究了下,最终完成了”如何将每天定点获取的逾期任务自动推送到钉钉和企业微信两个群“的 Demo,下面是具体的实践步骤,希望对大家有所帮助。
01
—
新建自动化规则
我们首先找到需要配置任务逾期提醒的 Jira 项目,到项目配置的 Project automation 中,选择 Project rules 创建新规则:
选择规则的触发器为计划(Scheduled),按指定计划执行规则,比如:每天将 JQL 查询结果自动推送消息。
使用 Cron 表达式,输入:0 30 9 * * ? ,表示:每天早晨 9:30 准时执行计划。在 JQL 输入如下语句,表示:查询未解决的逾期用户故事。点击保存,即可完成计划的设定。
02
—
配置自定义机器人
添加组件:在 New action 中选择发送网络请求,我们将创建两个网络请求,分别对应企业微信和钉钉群机器人,用来将定时计划的消息推动到群里。
添加企业微信群机器人,获取到网络钩子 URL,将其输入到 Webhook URL 中。选择网络钩子主体为自定义数据(Custom data),按照企业微信群机器人配置规范进行配置,我们使用 markdown 类型消息体(参考代码如下),点击保存,继续添加钉钉机器人网络请求:
添加钉钉群机器人,选择自定义机器人(而非自带的 Jira 机器人),在安全设置-自定义关键字中输入【小蜜提醒】,获取到网络钩子 URL,将其输入到 Webhook URL 中。选择网络钩子主体为自定义数据(Custom data),按照钉钉群机器人配置规范进行配置,我们使用 markdown 类型消息体(参考代码如下),点击保存,给自动化规则命名后打开,此时自动化状态为可用的(ENABLED)。
03
—
测试自动化规则
对上述自动化规则进行测试,即使配置了每天早晨 9:30 自动执行,但是我们仍可以通过手工执行规则进行测试。
点击右上角”运行规则“,查看已配置自定义机器人的两个群消息是否完全符合预期。如果接收不到消息或消息内容有缺失,那么需要仔细检查网络钩子 markdown 格式内容。
注意:如果你在群里接收到的消息分成了 2 条,那么需要在"When: Scheduled"的更多选项中勾选:批量处理该触发器产生的所有 Issues。
写在最后:
关于如何高效写出网络钩子主体的自定义语句,Jira 官网有关于"smart values"非常详尽的说明文档。同时,官网还提供了在线Automation沙箱环境,里面有非常多案例供学习和参考(本文相关材料链接,如果找不到,可以单独跟我沟通)。
版权声明: 本文为 InfoQ 作者【YY哥-杨勇】的原创文章。
原文链接:【http://xie.infoq.cn/article/0143c5cb040dbc35c6365cbf5】。文章转载请联系作者。
评论