# feishu_easy_work **Repository Path**: sheng_bo_zhang/feishu_easy_work ## Basic Information - **Project Name**: feishu_easy_work - **Description**: 飞书机器人集成jira平台状态流转。jira工单的流程流转会通过飞书机器人发送消息给到对应的负责人,帮助最少时间了解最多信息量! - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2023-11-15 - **Last Updated**: 2025-07-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 一、关于我们 我们是一家防火墙网络运维管理平台(深圳天元云科技有限公司)的测试开发团队,我们热衷利用技术手段提升工作效率,热爱分享! 二、需求分析 研发流程目前在jira项目管理平台中以工单的形式流转,每个人都需要自己主动去找到自己负责的工单,操作流转。操作繁琐,并且没有实时的消息通知,无法实时进行工单流转,导致效率不高。 需求: - Jira工单的新增、状态变更都会通过飞书机器人发送消息给到对应的经办人与报告人。不同的jira工单状态显示不同的飞书消息主题与提醒内容。 - 在飞书通知中可查看工单的基本信息与工单的跳转链接 [图片] 三、方案调研 对飞书以及jira进行调用发现,Jira和飞书都提供了对外的二开窗口,那么可以通过本地开发一个webhook接受jira返回的数据,并做数据的二次调整,调用飞书的API针对个人发送/群组发送消息。 1. Jira平台提供状态后置动作webhook,在做完动作后都调用,传递数据出来。 [图片] 2. 飞书应用API支持针对个人发送/群组发送消息 [图片] 四、开发流程 前提条件: - 飞书应用(需要有获取用户id的权限以及发送消息的权限) - Jira平台(需要有配置webhook的权限) - Python+Flask 操作步骤 1. 新建飞书应用,获取应用的app_id和app_secret,可参考 1. 飞书开放平台 2. 获取访问凭证 - 服务端 API - 开发文档 - 飞书开放平台 2. 需要用到2接口,分别为以下。应用需要授权这两个接口的权限 1. 通过手机号或邮箱获取用户 ID - 服务端 API - 开发文档 - 飞书开放平 2. 发送消息 - 服务端 API - 开发文档 - 飞书开放平台 3. 使用python+flask编写接口,处理jira返回的数据并转发给到飞书应用发送消息 - 源码地址:bobby-sheng/feishu_easy_work 4. 使用jira管理员账号新建网络钩子 5. 使用jira管理员账号配置各个需要触发消息通知的流程中添加后置,触发钩子 6. 实现结果 - 可以根据不同的工单状态,发送不同的人,不同的消息格式 - 消息都是单独发送的,不会影响到其他人 [图片] 五、细节解惑 jira怎么设置网络钩子?以及怎么在工作流中设置后置触发? 设置网络钩子 [图片] 设置工作流触发 [图片] [图片] 假设我工单状态在开发中,那么我修改到测试中后。在开发-测试的线中设置后置触发,就可以实现网络钩子的调用,数据走到flask服务中,转发给带飞书机器人发送消息。 代码架构是怎么样的,怎么使用 代码不复杂,简单明了 源码地址:bobby-sheng/feishu_easy_work [图片] 软件架构 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