飞书卡片通知与Jira工作流集成,简便高效

飞书卡片通知与Jira工作流集成,简便高效

开发者广场内容精选NaN-NaN-NaN
解决方案
作者:张圣波
推荐理由
飞书机器人集成jira平台状态流转,jira工单的流程流转会通过飞书机器人发送消息给到对应的负责人,帮助最少时间了解最多信息量!
一、关于我们
我们是一家防火墙网络运维管理平台(深圳天元云科技有限公司)的测试开发团队,我们热衷利用技术手段提升工作效率,热爱分享!
二、需求分析
研发流程目前在jira项目管理平台中以工单的形式流转,每个人都需要自己主动去找到自己负责的工单,操作流转。操作繁琐,并且没有实时的消息通知,无法实时进行工单流转,导致效率不高。
需求:
  • Jira工单的新增、状态变更都会通过飞书机器人发送消息给到对应的经办人与报告人。不同的jira工单状态显示不同的飞书消息主题与提醒内容。
  • 在飞书通知中可查看工单的基本信息与工单的跳转链接
三、方案调研
对飞书以及jira进行调用发现,Jira和飞书都提供了对外的二开窗口,那么可以通过本地开发一个webhook接受jira返回的数据,并做数据的二次调整,调用飞书的API针对个人/群组发送消息。
1、Jira平台提供状态后置动作webhook,在做完动作后都调用,传递数据出来。
250px|700px|reset
2、飞书应用API支持针对个人发送/群组发送消息
四、开发流程
前提条件:
  • 飞书应用(需要有获取用户id的权限以及发送消息的权限)
  • Jira平台(需要有配置webhook的权限)
  • Python+Flask
操作步骤
1、新建飞书应用,获取应用的app_id和app_secret,可参考
2、需要用到2个接口,分别为以下。应用需要授权这两个接口的权限
3、使用python+flask编写webhook接口,处理jira返回的数据并转发给到飞书应用发送消息
4、使用jira管理员账号新建网络钩子
5、使用jira管理员账号配置各个需要触发消息通知的流程中添加后置,触发钩子
6、实现结果
  • 可以根据不同的工单状态,发送不同的人,不同的消息格式
  • 消息都是单独发送的,不会影响到其他人
五、细节解惑
jira怎么设置网络钩子?以及怎么在工作流中设置后置触发?
设置网络钩子
250px|700px|reset
设置工作流触发
250px|700px|reset
假设我工单状态在开发中,那么我修改到测试中后。在开发-测试的线中设置后置触发,就可以实现网络钩子的调用,数据走到flask服务中,转发给带飞书机器人发送消息。
代码架构是怎么样的,怎么使用
代码不复杂,简单明了
软件架构
APScheduler==3.10.1
colorlog==6.6.0
Flask==2.1.3
jira==3.0.1
jsonpath==0.82
PyYAML==5.4.1
PyYAML==6.0.1
Requests==2.31.0
Werkzeug==2.3.6
安装教程
1.更新pip
pip install --upgrade pip
2.创建虚拟目录
python -m venv 虚拟环境名称,名称是随意起的
python -m venv feishu_easy_work-env
3.激活虚拟环境
当激活虚拟环境时命令行上会有个虚拟环境名前缀
Unix或MacOS上激活虚拟环境
source feishu_easy_work-env/bin/activate
windows上激活虚拟环境
feishu_easy_work-env\Scripts\activate.bat
4.项目依赖安装
python -m pip install --upgrade pip
pip install -r requirements.txt
启动
python app.py
先进生产力和业务协同平台
联系我们立即试用

先进团队,先用飞书

欢迎联系我们,飞书效能顾问将为您提供全力支持
分享先进工作方式
输送行业最佳实践
全面协助组织提效
联系我们立即试用