# JIRA每周bug统计并飞书提醒 **Repository Path**: phlio/jira-weekly-bug-statistics ## Basic Information - **Project Name**: JIRA每周bug统计并飞书提醒 - **Description**: 通过搜索jira jql获取每周开发未处理问题和本周新增问题 对问题数大于0的开发进行提醒,并飞书通知到对应群 - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 5 - **Forks**: 0 - **Created**: 2022-12-30 - **Last Updated**: 2025-03-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # JIRA每周bug统计 #### 介绍 通过搜索jira jql获取开发人员历史未处理问题和本周新增问题,对问题数大于0的开发人员进行飞书提醒通知到对应群 #### 软件架构 软件架构说明 ``` -config --config.json [jira/飞书配置文件] --userInfo.json [用户信息配置文件] -src --api ---feishu_robot_push.py [飞书机器人发送消息] ---feishu_sign.py [飞书签名算法] ---jira_client_api.py [jira客户端api] ---jira_jql.py [jira jql搜索语句] ---log.py [日志打印] -main.py 主运行程序 ``` #### 安装教程 1. pip3 install -r requirements.txt #### 使用说明 1. 修改config文件夹下config.json/userInfo.json 配置,修改为对应的jira链接,飞书webhook地址 ``` config.json -> { "jira": { "url": "http://jira.xxxx", #jira地址 "url_browse": "http://jira.xxxx/browse/", #jira browse "username": "xxx", #jira登录名 "password": "xxx" #jira密码 }, "feishu": { "webhook": "xxxx", #飞书webhook机器人地址 "secret": "xxxx" #机器人加密签名 } } userInfo.json -> { "userInfo":[ { "username": "zhangsan", "name": "张三" }, { "username": "lisi", "name": "李四" }, { "username": "wangwu", "name": "王五" } ] } ``` 2. 修改src/api/jira_jql.py中jira.search_issues对应的jql语句,修改为用户所需要的查询语句 ``` last_week_issues = jira.search_issues('issuetype = 内部Bug AND assignee in (currentUser()) AND created >= -1w ORDER BY priority DESC, updated DESC') ``` 3. 修改main.py中jira.search_issues对应的jql语句,修改为用户所需要的查询语句,主要修改status和issuetype即可,别的可以不需要修改 ``` open_issues = jira.search_issues( 'status = Open AND issuetype = 内部Bug AND assignee in ("'+worker["username"]+'") ORDER BY priority DESC, updated DESC', maxResults=-1)# 注意:如果不加maxResults=-1参数,则实际总数大于50时只能查出50条数据。 last_week_add_issues = jira.search_issues( 'issuetype = 内部Bug AND assignee in ("'+worker["username"]+'") AND created >= -1w ORDER BY priority DESC, updated DESC', maxResults=-1) ``` 4.修改main.py中href地址,修改为用户所使用的jira地址 ``` "href": "http://jira.xxxx/issues/?filter=11008&jql=status = {} AND issuetype = 内部Bug AND assignee in ({}) ORDER BY priority DESC, updated DESC".format("Open", j[0]['username']), "href": "http://jira.xxxx/issues/?filter=11008&jql=assignee in ({}) AND issuetype = 内部Bug AND created >= -1w ORDER BY priority DESC, updated DESC".format(j[0]['username']), ``` 4. 运行主程序python3 main.py