用Python统计JIRA数据

本文结构:

  1. 用自己初步写的Python统计JIRA结构
  2. 针对代码的结构和语法,显示其优化后的代码

本文目的:

  1. 自己学习python,总结
  2. 初级者,中高级者请绕道

正文:

用Python统计JIRA数据_第1张图片
JIRA-1.PNG
用Python统计JIRA数据_第2张图片
JIRA-2.PNG
用Python统计JIRA数据_第3张图片
JIRA-3.PNG

from jira import JIRA
表示从JIRA引用第三方的jira包

import xlwt
import xlrd
引用了这2个第三方库就可以对Excel进行操作,本代码是使用 xlwt;因为我们只使用了写入数据的操作。

class count()
唯一的一个类,恩,就是这么简单粗暴。

def auth()里面调用了cal_issues()cal_issues()可以使用def auth()的所有参数。

这里说下break的用法:
break是退出当前最小循环,跳到外循环继续,本文中的white循环则跳出了while语句;' continue '并没有真的退出循环,而是只结束本次循环体的执行;return是返回该函数,接着执行下一个函数。

继续说def auth(),他主要功能是输入用户名/密码/搜索的时间段(时间段为项目需求设计,你可以不需要加入此条件)。'''verify your name and pwd'''表示紧跟方法的注释描述。这里的raw_input有点土,如果换成raw_input(unicode("请输入开始时间(如:2017/8/5):").encode('gbk'))则更棒,语法解析如下:unicode这个函数的作用是将string按照encoding的格式编码成为unicode对象。encode('gbk')使其unicode对象转化为gbk子编码,为啥要用gbk编码呢,因为windows里面的dos命令使用了gbk编码。中途如果使用if self.username == '': continue 则可以重复输入用户密码。

输入了用户名等条件后,马上调用cal_issues

file = xlwt.Workbook()
        data_sheet = file.add_sheet('issues',cell_overwrite_ok=True)
        data_sheet.write(0,0,'project name')
        data_sheet.write(0,1,'open_count')
        data_sheet.write(0,2,'reopen_count')

这句创建了一个excel文件,且在0列中写入project相关信息。' cell_overwrite_ok=True `单元项表示可重复输入。

for i in range(len(self.project)):循环主要用于找出project名称以及每种project的数量,且写入对应的excel文件中。

file.save("D:/issues.xls")可把路径作为变量设置成单独的变量文件并导入,将低耦合度。

def issue_reopen(self,jql):找到reopen的数量,在request的history中找到status:Reopen标记的,则reopen_count+1.

def issue_open(self,jql):使用jql语句找到状态为open的个数,且返回数量。

你可能感兴趣的:(用Python统计JIRA数据)