【问题标题】:Pulling full work item information from a single DevOps API query从单个 DevOps API 查询中提取完整的工作项信息
【发布时间】:2020-11-06 00:08:45
【问题描述】:

我们在 Azure DevOps 中有一个简单的查询,它查找某个迭代路径中的所有工作项,并在 Web GUI 中运行时返回 System.Id、System.WorkItemType、System.Title、System.AssignedTo、System。标签和 System.Parent。通过使用这种形式的 API 调用:

https://dev.azure.com///_apis/wit/wiql/

我可以获得查询返回的列列表以及每个工作项的链接。链接不包含列中的信息。据推测,我应该获取每个工作项链接并形成一个 WIQL 查询,该查询将返回我想要的信息。通常不是问题(除了我不熟悉 WIQL),但我们将这些信息提取到 Azure 数据工厂,以提交到 SQL 数据库并与来自其他来源的工作信息相关联。 ADF 可以从 Rest API 提取到数据库(我已经看到,但仍在学习...),但似乎最好(或者可能只有可能)使用单个查询来执行此操作,而不是基于初始查询结果的一组查询。

所以,我的问题是:是否有一个针对 Azure DevOps 的 API 调用将针对每个工作项返回与查询关联的工作项信息?也就是说,我想要一个实际上而不是告诉我每个工作项的 Id、WorkItemType 等的查询,而不是一个必须提供给另一个查询以获取我们想要的信息的可循环列表。

【问题讨论】:

  • 这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒this

标签: azure-devops azure-devops-rest-api azure-boards


【解决方案1】:

恐怕只有一个rest api无法返回查询中的工作项信息。

通过rest api可以获取查询设置(工作项字段)和工作项id,需要结合其他API获取工作项信息。

这是我的 PowerShell 示例:

$token = "PAT"

$url=" https://dev.azure.com/{OrganizationName}/{ProjectName}/{Team}/_apis/wit/wiql/{QueryId}?api-version=5.1"

$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))



$response = Invoke-RestMethod -Uri $url -Headers @{Authorization = "Basic $token"} -Method Get -ContentType application/json



$IDS = $response.workItems.id  -join ',' 
$Fieldnames = $response.columns.referenceName -join ',' 



echo $IDs
echo $Fieldnames


$url1="https://dev.azure.com/{OrganizationName}/_apis/wit/workitems?ids=$IDs&fields=$Fieldnames&api-version=6.0"

$response2 = Invoke-RestMethod -Uri $url1 -Headers @{Authorization = "Basic $token"} -Method Get 


echo $($response2 | ConvertTo-Json -Depth 100)

说明:

First Rest API:Wiql - Get 用于获取查询设置和 IDS。我们可以从响应中获取 ids 和 fields 并形成一个字符串。

Second Rest API:Work Items - List 用于获取工作项信息,您可以在 URL 中添加字段和 id,然后您可以获取具有目标字段的工作项。

结果:

【讨论】:

  • 谢谢你。我有一个可行的解决方案,基本上将其转换为 Python。我很抱歉没有尽快回复;家庭事务让我太忙了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-27
  • 1970-01-01
相关资源
最近更新 更多