【问题标题】:Azure DevOps Server - Who changed a specific field via historyAzure DevOps Server - 谁通过历史更改了特定字段
【发布时间】:2020-07-20 11:53:20
【问题描述】:

我正在处理 Azure DevOps Server 2019 中的分析查询,该查询将设置为 PowerBI Desktop 的数据馈送。我需要知道谁更新了工作项上的新自定义字段,这可能是也可能不是最后一次更改,以及该更新是什么。我试过使用以下方法:

  • ChangedBy 仅在需要最后一次更改时才有效
  • 历史记录包含 [字段名称] 根本不起作用

有没有办法查询特定的历史条目,该条目捕获字段的更新以及谁在 DevOps Server 中进行了更新,还是必须使用 API 编写?

【问题讨论】:

  • 嗨,您有机会尝试下面的 rest api。进展如何?
  • 您好,感谢您的提问。由于我是 BA,而不是开发人员,所以我有点挣扎,所以我正在努力学习足够的 REST API 以及如何正确编写高级编辑器查询来解决这个问题。

标签: analytics azure-devops-server-2019


【解决方案1】:

您可以使用rest api 获取工作项的历史更新。下面的rest api会得到一个workitem的所有更新的详细信息:

GET https://{instance}/{collection}/{project}/_apis/wit/workItems/{id}/updates?api-version=5.0

您可以在PowerBI查询中调用上面的rest api来获取更新的历史数据。例如:

在 PowerBI Desktop 中,转到 Get Data-Blank Query->高级编辑器

let
    Source = Json.Document(Web.Contents("https://{instance}/{collection}/{project}/_apis/wit/workItems/369/updates?api-version=5.0")),
    value = Source[value]
in
    value

要获取特定历史更新的变化数据,可以使用get update rest api:

您将调用第一个 rest api 以列出所有 updateNumbers 并在下面使用:

GET https://{instance}/{collection}/{project}/_apis/wit/workItems/{id}/updates/{updateNumber}?api-version=5.0

更多信息请参见this blog

您还可以从您的 Azure Devops 服务器的 sql server 获取数据源,并使用 sql 查询历史更新。更多信息请查看this document

【讨论】:

  • 这很有帮助——感谢代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多