如何将Python调用JIRA REST API返回的结果保存为CSV文件
实现JIRA接口数据导出为CSV的方法
操作说明
你可以直接使用Python内置的csv模块完成导出,无需安装额外第三方库,只需要对原有代码做少量修改即可:
- 第一步:在代码开头的导入部分新增
csv模块导入 - 第二步:定义CSV表头,和你当前打印的字段对应
- 第三步:打开CSV文件,先写入表头,再循环写入每条工单数据
修改后的完整代码
import requests import json import base64 import csv # 新增导入csv模块 # Base encode email and api token cred = "Basic " + base64.b64encode(b'XXXX:XXXX').decode("utf-8") # Set header parameters headers = { "Accept": "application/json", "Content-Type": "application/json", "Authorization" : cred } # 填入你的项目Key projectKey = "TRT" # 替换为你的站点地址,如需返回更多结果,可在末尾加&maxResults=1000调整最大返回条数 url = "https://jira-test./rest/api/latest/search?jql=project%20%3D%20" + projectKey # 发送请求获取响应 response = requests.request( "GET", url, headers=headers ) # 把JSON字符串转为Python对象 json_data = json.loads(response.text) # 定义CSV表头,可根据自己的需求调整字段 csv_header = ["工单ID", "工单Key", "工单类型", "创建时间", "创建人", "状态", "概要"] # 打开CSV文件,设置编码为utf-8-sig适配Excel打开不乱码 with open("jira_issues.csv", "w", newline="", encoding="utf-8-sig") as f: writer = csv.writer(f) # 写入表头 writer.writerow(csv_header) # 循环写入每条工单数据 for item in json_data["issues"]: row = [ item["id"], item["key"], item["fields"]["issuetype"]["name"], item["fields"]["created"], item["fields"]["creator"]["displayName"], item["fields"]["status"]["name"], item["fields"]["summary"] ] writer.writerow(row) # 保留原来的打印逻辑,不需要可以直接删掉 print("\t".join(row))
补充说明
- 导出的文件默认保存在代码运行的同级目录下,文件名为
jira_issues.csv - 编码设置为
utf-8-sig是为了适配Windows系统下用Excel打开不会出现中文乱码的问题 - JIRA接口默认最多返回50条结果,如果你需要返回更多工单数据,可以在请求URL末尾添加
&maxResults=xxx,xxx替换为你需要的最大返回数量
内容的提问来源于stack exchange,提问作者Marcus
相关产品推荐
相关产品推荐

