You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 14:15:07