from jira import JIRA
from dateutil.parser import parse
import xlwt
outputpath = r'错.xls'
#获取错误内容
def getMyBug():
jira = JIRA('http://jira/',basic_auth=('user', 'pass'))
project = jira.projects()
print(project)
# project 项目名 assignee 经办人
# issue = jira.search_issues('project=JIRA')
# issue = jira.search_issues('assignee=admin')
issues = jira.search_issues('assignee = currentUser() order by created desc')
print(len(issues))
issue = issues[0]
# print(dir(issue.fields))
print(issue.key)
print(issue.fields.summary)
print(issue.fields.reporter.displayName)
print(issue.fields.assignee.displayName)
print(issue.fields.status.name)
print(parse(issue.fields.created).strftime('%Y-%m-%d %H:%M:%S'))
return issues
#将BUG导出到Excel
def exportExcel(issues):
workbook = xlwt.Workbook()
# cell_overwrite_ok 表示是否可以覆盖单元格
sheet = workbook.add_sheet('bug' , cell_overwrite_ok=True)
fields = ['编号','标题','报告人','经办人','状态','创建时间']
# 写入字段信息 其中的'0-行, 0-列'指定表中的单元,''是向该单元写入的内容
for i in range(0,len(fields)):
sheet.write(0,i,fields[i])
# 写入数据信息
for r in range(1,len(issues)+1):
sheet.write(r, 0, issues[r - 1].key)
sheet.write(r, 1, issues[r - 1].fields.summary)
sheet.write(r, 2, issues[r - 1].fields.reporter.displayName)
sheet.write(r, 3, issues[r - 1].fields.assignee.displayName)
sheet.write(r, 4, issues[r - 1].fields.status.name)
sheet.write(r, 5, parse(issues[r - 1].fields.created).strftime('%Y-%m-%d %H:%M:%S'))
workbook.save(outputpath)
#主程序
def main():
issues = getMyBug()
exportExcel(issues)
if __name__ == '__main__':
main()