python3实现自动生成redmine测试日报

我们每天的测试数据,需要及时反馈给领导,领导不喜欢看细节,就喜欢看结果,一目了然,快速又不费事。

领导最想看到就是  每个人的头上都有多少缺陷放着,大家上班的时候到底是不是在踏踏实实做事。报告真的很能说明事实。

测试组需要每天整理一份日报发送邮件给大家,从redmine(我司用的这款工具,相当好用啊,相比jira/禅道/bugzilla)上下载筛选过的缺陷列表,然后进行数据统计,重新处理模板报表···随着想要的信息越来越多,没半个小时这报告出不来,关键是有时候下班下得早,缺陷状态还不稳定(开发都还在处理),回家之后还要远程连接公司服务器。

反正就一个目的,为了这件事情能做得快点,大家早点下班,早点休息。

由于此版本是改版代码,存在一些多余的数据,后期修改

-----------

先来一些准备工作

其中有一些可能随时跟新的文本信息,单独放到txt,如下(注意文件名字要一致):

current.txt (每日更新的数据)

(此行代码不读)请在下面输入今日的git号:
9543a8c16e133f7a323d124e024622a59f938727
(此行代码不读)请按照格式[报表,谭秋,进度:30%;阻塞缺陷:3个;...]输入进展:
会员管理,李四,1.测试进度:48.6%;2.提交bug数:5个;3.提交的严重问题:无;4.阻塞进度的问题描述:无
信息管理,张三,1.测试进度:48.6%;2.提交bug数:5个;3.提交的严重问题:无;4.阻塞进度的问题描述:无
仓库管理,王五,1.测试进度:48.6%;2.提交bug数:5个;3.提交的严重问题:无;4.阻塞进度的问题描述:无

module.txt(项目所有的模块,会以此做统计,此处只举例三个)

会员管理
注册管理
系统管理

user.txt  (redmine 是姓与名 之间存在空格的存储,需要注意书写)

张 三
李 四
王 五
冯 宝宝

数据库结构:

你不想自己建的话,可以用这个sql:

/*
Navicat MySQL Data Transfer

Source Server         : 1
Source Server Version : 50728
Source Host           : 192.168.1.1:3306
Source Database       : report

Target Server Type    : MYSQL
Target Server Version : 50728
File Encoding         : 65001

Date: 2019-12-25 14:12:43
*/

SET FOREIGN_KEY_CHECKS=0;

-- ----------------------------
-- Table structure for all_data
-- ----------------------------
DROP TABLE IF EXISTS `all_data`;
CREATE TABLE `all_data` (
  `time_t` date NOT NULL,
  `new` int(255) unsigned zerofill DEFAULT NULL,
  `ongoing` int(255) unsigned zerofill DEFAULT NULL,
  `feedback` int(255) unsigned zerofill DEFAULT NULL,
  `delay` int(255) unsigned zerofill DEFAULT NULL,
  `reopen` int(255) unsigned zerofill DEFAULT NULL,
  `block` int(255) unsigned zerofill DEFAULT NULL,
  `refused` int(255) unsigned zerofill DEFAULT NULL,
  `untreated` int(255) unsigned zerofill DEFAULT NULL,
  `resolved` int(255) unsigned zerofill DEFAULT NULL,
  PRIMARY KEY (`time_t`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Table structure for daily_data
-- ----------------------------
DROP TABLE IF EXISTS `daily_data`;
CREATE TABLE `daily_data` (
  `time_t` date NOT NULL,
  `new` int(255) unsigned zerofill DEFAULT NULL,
  `ongoing` int(255) unsigned zerofill DEFAULT NULL,
  `feedback` int(255) unsigned zerofill DEFAULT NULL,
  `delay` int(255) unsigned zerofill DEFAULT NULL,
  `reopen` int(255) unsigned zerofill DEFAULT NULL,
  `block` int(255) unsigned zerofill DEFAULT NULL,
  `resolved` int(255) unsigned zerofill DEFAULT NULL,
  PRIMARY KEY (`time_t`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT;

-- ----------------------------
-- Table structure for git_msg
-- ----------------------------
DROP TABLE IF EXISTS `git_msg`;
CREATE TABLE `git_msg` (
  `time_t` date NOT NULL,
  `git_num` varchar(255) DEFAULT NULL,
  PRIMARY KEY (`time_t`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

准备好之后

附代码吧,你可以根据你的情况进行改动(由于此为改版,存在多余的操作,还望大家不要指责,后面会进行完善的)

# -*- coding:UTF-8 -*-
import xlwt
from datetime import datetime
from redminelib import Redmine
import pymysql

file_user = 'user.txt'  # 参与人员名单
file_module = 'module.txt'  # 功能模块列表
file_curren = 'curren.txt'  # 每日进度和git数据
file_report = 'dailyreport.xls'   # 报表生成位置
time_list = ['2019-11-25', '2020-04-10']  # 设
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值