想要一份关于缺陷ticket的反馈次数和缺陷来往情况,做一个简单的redmine缺陷分析报表
如何开始呢,思考历程写下来:
1.首先考虑是否可以从内部获取数据,听说redmine的数据库是Mysql,但是我没有账号和权限
2.在一个查看是否提供接口,可以直接获取,登陆啥的是个麻烦事儿,界面化太麻烦(能力有限,且耗时)
3.python的支持库
4.爬虫
优选1.3,其次是4,最差2了
下载python-redmine 在下载页有少许的入门介绍,我也做少许的介绍吧
一 . 首先是定位项目筛选信息
如图看到的箭头指向,便是你的项目
定位项目之后,可以拿到项目下的所有的ticket,如图中的第2点;其中某一条数据如3
再一个是filter函数,可以帮助我们去筛选我们想要的版本或者其他状态的ticket
issues = list(redmine.issue.filter(project_id=46, tracker_id=1, status_id='*', fixed_version_id=387))
通过list将所有筛选的ticket组装成列表,便是获得了我们要分析的数据
打开你的debug,采用Evaluate查看信息
你可以挨个打开看看里面都记录的是什么内容,从而提取你想要得到的信息
二. 数据处理
需求1:得到每个ticket的状态变化
redmine中的状态都是用123456去表示的状态,所以我们需要一个转换函数,对得到的状态进行装换
# 新建1 进行中2 已解决3 不处理 4 反馈 5 阻塞6 已关闭7 已指派8 不处理9 重新打开10 已验证12
def change_value(num):
switch = {
'1': "新建", #已确定
'2': "进行中", #已确定
'3': "已解决", #已确定
'4': "反馈", # 已确定