如何用Excel Power Query获取Jira筛选工单的CSV数据?
用Excel Power Query从Jira已保存筛选获取CSV数据的解决方案
问题根源
Jira的导出CSV链接需要身份验证,直接使用Power Query的「从Web获取数据」会跳转到登录页面,返回的是登录HTML而非目标CSV内容。
方法1:带Cookie请求头的自定义Power Query查询
复用浏览器登录态直接获取数据,步骤如下:
- 在浏览器登录Jira,打开你的已保存筛选页面,点击导出CSV按钮,确认能正常下载CSV文件。
- 打开浏览器开发者工具(按F12),切换到「网络」标签,找到对应的CSV请求(类型为
text/csv),复制请求头里的完整Cookie内容。 - 打开Excel进入Power Query编辑器,新建空白查询,替换为以下M代码(将
Url和Cookie替换为你的实际内容):let Url = "https://*****/jira/sr/jira.issuesview.search-request***.csv?delimiter=,", Cookie = "JSESSIONID=xxx; atlassian.xsrf.token=xxx;", // 替换为你复制的Cookie Headers = [ #"Cookie" = Cookie, #"Accept" = "text/csv" ], Source = Web.Contents(Url, [Headers=Headers]), CsvData = Csv.Document(Source, [Delimiter=",", Encoding=65001]) in CsvData - 运行查询即可获取正确的工单CSV数据。
方法2:手动导出后导入Power Query
若无需自动化更新,直接在浏览器导出CSV文件,再用Power Query的「从CSV」功能导入即可,操作简单但无法自动同步数据。
方法3:Jira API调用(长期稳定方案)
针对云版Jira,推荐用官方API获取数据,无需依赖易过期的Cookie:
- 在Atlassian账号设置中生成API令牌。
- 新建Power Query空白查询,使用以下M代码(替换域名、邮箱、API令牌和JQL查询):
let Url = "https://your-domain.atlassian.net/rest/api/3/search?jql=你的筛选条件", // 已保存筛选的JQL可从Jira页面复制 ApiToken = "你的API令牌", Auth = "Basic " & Binary.ToText(Text.ToBinary("你的邮箱地址:" & ApiToken), BinaryEncoding.Base64), Headers = [ #"Authorization" = Auth, #"Accept" = "application/json" ], Source = Web.Contents(Url, [Headers=Headers]), JsonData = Json.Document(Source), Issues = JsonData[issues], // 按需展开需要的字段,示例展开摘要、状态、经办人 ExpandedFields = Table.ExpandRecordColumn(Issues, "fields", {"summary", "status", "assignee"}, {"工单摘要", "状态", "经办人"}), // 进一步展开状态名称和经办人名称 ExpandedStatus = Table.ExpandRecordColumn(ExpandedFields, "状态", {"name"}, {"状态名称"}), ExpandedAssignee = Table.ExpandRecordColumn(ExpandedStatus, "经办人", {"displayName"}, {"经办人名称"}) in ExpandedAssignee - 运行查询即可获取结构化的工单数据,API令牌有效期长,适合定期自动刷新数据。
内容的提问来源于stack exchange,提问作者Dince-afk
相关产品推荐
相关产品推荐

