暂未分类暂未分类python-redmine获取redmine平台的信息
zphj1987前言
最近做redmine的bug平台的分析,统计一些需要用到的数据,这里把相关调用的地方记录下来以备后用
相关的获取接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| #! /usr/bin/python
from redminelib import Redmine redmine = Redmine('redmin的地址',username='用户名',password='密码',requests={'timeout': 5 }) issues = redmine.issue.filter(project_id='项目id',status_id='open',offset=0,limit=100)
for issue in issues: print issue.id print issue.subject print issue.author print issue.created_on print issue.updated_on myissue=redmine.issue.get(issue.id, include=['children', 'journals', 'watchers']) for journal in myissue.journals: print journal.user.name print journal.created_on
|
因为默认的时间是UTC时间,我们转换成本地时间
1 2 3 4 5 6 7
| def utc2local(utc_dtm): local_tm = datetime.fromtimestamp( 0 ) utc_tm = datetime.utcfromtimestamp( 0 ) offset = local_tm - utc_tm return utc_dtm + offset local_issue_tm = utc2local(issue.created_on)
|
这样可以把时间转换成当前的时区的时间
想格式化也行
1
| issue_create_time=local_issue_tm.strftime("%Y-%m-%d %H:%M:%S")
|
超过100条的问题的处理
1 2
| issues = redmine.issue.filter(project_id='项目id',status_id='open',offset=0,limit=100) issues = redmine.issue.filter(project_id='项目id',status_id='open',offset=100,limit=100)
|
这个是因为redmine内部把单个最大请求数限制死了是100个,因此可以通过偏移量来获取即可,有几百个bug就写几条就行了,也不会太多
总结
上面的就是获取一些信息的接口,获取以后可以到出为csv或者excel,然后做更多的数据处理,这里就不做过多的记录
变更记录
Why |
Who |
When |
创建 |
武汉-运维-磨渣 |
2020-04-03 |