如何使用 powerquery 将 Jira board 导入 Excel

问题描述 投票:0回答:3

我希望在我的 excel 文件中有一个 powerquery,它可以从 jira board 中提取所有问题。 我有:

  1. 已经在 jira 中为问题创建了一个过滤器。
  2. 捕获了 csv 导出的链接:

https://[mycompany].atlassian.net/sr/jira.issueviews:searchrequest-csv-with-bom-all-fields/12170/SearchRequest-12170.csv?atl_token=8e034a3-9a77-484b-9138- a0be45b9ff7b_1aaca7d5e98a798a9df94a3d032ab32e23de3433_lin&tempMax=1000

  1. 在“excel / powerquery /新源/其他源/网络”中,我键入了网址的第一部分:

https://[mycompany].atlassian.net/sr/jira.issueviews:searchrequest-csv-with-bom-all-fields/12170/SearchRequest-12170.csv

  1. 我读到基本身份验证已被弃用,并且我无法使用匿名、Windows 或组织身份验证,因此我选择了 webapi。

  2. 在jira中,我创建了一个api令牌,将其命名为“excel”。

  3. 在 power query 中,我键入了 api 令牌字符串并指定了 jira csv 下载的 url:

  4. [错误步骤] - 当我尝试连接时,我收到消息:“只有在提供 Web api 密钥名称时才能指定 Web api 密钥”

-> 我需要做什么? 我假设有些人有很多 api 密钥,而我需要引用我命名为“excel”的密钥? 我该怎么做?

任何见解表示赞赏:)

excel powerbi jira powerquery m
3个回答
0
投票

不同的方法。您为什么不尝试使用插件:Jira Cloud for Excel,它是 Atlassian 的官方产品,它是免费的。您可以使 Excel 与 Jira 问题保持同步(仅从一个方向 Jira -> Excel)。提取问题后(通过 Jira Filter、JQL 或

JIRA.JQL
函数,我更喜欢最后一个选项),您可以使用 Power Query 来转换源、Excel 函数等。

我认为 Jira-Excel 集成是实现这一目标的最佳方法。除非您在 Excel 中阻止了加载项(通常有些公司会这样做),否则这是集成这两个工具的最简单方法。顺便说一句,他们有一个适用于 Google Spreadsheet 的兄弟产品:Jira Cloud for Google Spreadsheet。我已经使用这两个了好几年了。

据我记得他们不需要 API 令牌来进行身份验证。它可以轻松地从您的 Jira 实例安装,转到Issues,输入您想要的查询,然后单击以下图标:

稍后,您可以从 Excel 更改查询,或使用 Jira Filter 或

JIRA.JQL
函数。您还可以指定要在 Excel 中引入的列,它还允许获取 Jira 实例已定义的 Jira 自定义字段。无需拥有管理员权限即可执行此操作。


0
投票

如果您想遵循最佳实践,我会选择@David Leal 的解决方案。 否则,在公式栏中,通过附加 API 密钥名称作为查询参数来修改 URL。将

&os_username=excel
添加到 URL 末尾。

https://[mycompany].atlassian.net/sr/jira.issueviews:searchrequest-csv-with-bom-all-fields/12170/SearchRequest-12170.csv?atl_token=8e034a3-9a77-484b-9138-a0be45b9ff7b_1aaca7d5e98a798a9df94a3d032ab32e23de3433_lin&tempMax=1000&os_username=excel

当您包含

os_username
参数并将其值设置为 API 密钥名称“excel”时,您可以指定用于身份验证的 API 密钥。


0
投票

我不认为使用个人访问令牌可以下载问题列表as-csv。

使用 Power Query,您可以执行返回 JSON 的 REST API 搜索,然后使用步骤从 JSON 响应中解压所需的值。

这是一个简单的示例,您可以在 Power Query 高级编辑器中复制/粘贴该示例。当 Power Query 要求您进行连接身份验证时,请指定匿名身份验证。

修改下面的服务器 URL、jql 查询和个人访问令牌即可开始:

let
  Source = Json.Document(Web.Contents(
      "https://your.jira.server/rest/api/2/search", 
      [
          Query=[
            jql="project=SOMEPROJECT", 
            fields="summary,reporter,status", 
            maxResults="1000" /* default is 50 */
          ],
          Headers=[Authorization="Bearer YOURPERSONALACCESSTOKEN"]
      ]
  )),
  Navigation = Source[issues],
  AsTable = Table.FromList(Navigation, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
  Headers = Record.FieldNames(AsTable[Column1]{0}),
  Result = Table.ExpandRecordColumn(AsTable, "Column1", Headers, Headers),
  #"Removed columns" = Table.RemoveColumns(Result, {"self", "expand", "id"}),
  #"Expanded fields" = Table.ExpandRecordColumn(#"Removed columns", "fields", {"summary", "reporter", "status"}, {"summary", "reporter", "status"}),
  #"Expanded reporter" = Table.ExpandRecordColumn(#"Expanded fields", "reporter", {"name"}, {"reporter_name"}),
  #"Expanded status" = Table.ExpandRecordColumn(#"Expanded reporter", "status", {"name"}, {"status_name"})
in
  #"Expanded status"
© www.soinside.com 2019 - 2024. All rights reserved.