Azure devops 从单个DevOpsAPI查询中提取完整的工作项信息

Azure devops 从单个DevOpsAPI查询中提取完整的工作项信息,azure-devops,azure-devops-rest-api,azure-boards,Azure Devops,Azure Devops Rest Api,Azure Boards,我们在Azure DevOps中有一个简单的查询,它查找特定迭代路径中的所有工作项,当在web GUI中运行时,返回System.Id、System.WorkItemType、System.Title、System.AssignedTo、System.Tags和System.Parent。通过使用此表单的API调用: //_API/wit/wiql/ 我可以获得查询返回的列列表以及每个工作项的链接。链接不包含来自列的信息。据推测,我应该获取每个工作项链接并形成一个WIQL查询,该查询将返回我想要

我们在Azure DevOps中有一个简单的查询,它查找特定迭代路径中的所有工作项,当在web GUI中运行时,返回System.Id、System.WorkItemType、System.Title、System.AssignedTo、System.Tags和System.Parent。通过使用此表单的API调用:

//_API/wit/wiql/

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


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

恐怕只有一个rest api不能在查询中返回工作项信息

通过RESTAPI,您可以获得查询设置(工作项字段)和工作项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)
说明:

FirstRESTAPI:用于获取查询设置和ID。我们可以从响应中获取ID和字段,并形成一个字符串

第二个RESTAPI:用于获取工作项信息,您可以在URL中添加字段和ID,然后使用目标字段获取工作项

结果:


这张票有更新吗?如果答案能给你一些帮助,请随时告诉我。只是提醒一下。谢谢你。我有一个有效的解决方案,本质上就是将其转换为Python。我很抱歉没有尽快回复;家庭事务使我忙得不可开交。