如何解决Jira查询结果导出CSV时的AttributeError错误?
修复Jira导出CSV/Excel的AttributeError问题
你遇到的AttributeError是因为jira.search_issues()返回的是ResultList对象(包含Jira Issue实例的列表),不是Pandas的DataFrame,所以没有to_csv方法。下面是具体修复方案:
步骤1:修正变量顺序,分页获取所有Jira问题
原代码中block_size和block_num定义在search_issues调用之后,会触发NameError;同时Jira单页返回结果有数量限制,需要循环分页获取全部数据:
from jira import JIRA, JIRAError import pandas as pd # Jira连接配置 jiraOptions = {'server': "https://jira.server_link"} jira = JIRA(options=jiraOptions, basic_auth=("your_jira_username", "your_jira_password")) # 分页参数设置(Jira默认单页最大1000条,可根据实例调整) block_size = 1000 block_num = 0 all_issues = [] # 循环拉取所有分页结果 while True: issues = jira.search_issues('filter=your_filter_id', startAt=block_num*block_size, maxResults=block_size, fields="*") if not issues: break all_issues.extend(issues) block_num += 1
步骤2:将Issue对象转换为字典列表
遍历每个Issue,提取字段数据(可按需筛选字段):
issue_data = [] for issue in all_issues: # 提取Issue的原始字段字典,额外添加Issue编号(如PROJ-123) issue_dict = issue.raw['fields'] issue_dict['issue_key'] = issue.key issue_data.append(issue_dict)
步骤3:转换为DataFrame并导出
现在可以用Pandas的方法导出CSV或Excel:
# 转换为DataFrame df = pd.DataFrame(issue_data) # 导出CSV df.to_csv('jira_issues.csv', sep=';', index=True, index_label='N') # 导出Excel(需安装xlsxwriter) df.to_excel('jira_issues.xlsx', index=True, index_label='N', engine='xlsxwriter')
补充提示
- 若不需要所有字段,可在
search_issues的fields参数中指定具体字段,比如fields="summary,status,assignee",减少数据量。 - 注意Jira API的请求频率限制,避免短时间内大量请求触发限流。
内容的提问来源于stack exchange,提问作者Carmen
相关产品推荐
相关产品推荐

