从迭代中获取所有项目

Get all items from iteration

我正在尝试从给定的迭代中获取所有工作项。我可以在其他字段上过滤 TaskType。但不是迭代路径。我在这里遗漏了什么吗?

var body = "{\"query\": \"Select [System.Id], [System.Title], [System.State],[System.IterationPath] From WorkItems Where [System.IterationPath] = 'GAC\Sprint 10'\"}";
var json = await HTTP.POST("https://xxx.visualstudio.com/_apis/wit/wiql?api-version=5.1", body, personalaccesstoken);
return JsonConvert.DeserializeObject<WorkItemIdList>(json);

I can filter on TaskType on other fields. But not iteration paths.

下面的脚本是你想要的吗?

SELECT [System.Id], [System.Title], [System.WorkItemType], [System.State], [System.IterationPath] FROM workitems WHERE [System.IterationPath] = 'MerConsoleApp\Q4' AND [system.WorkItemType] = 'Bug'

此 WIQL 可以过滤位于 IterationPathBug 工作项是 MerConsoleApp\Q4

此外,我看到您正在应用 api 中的这个 WIQL。有一件事你需要注意,如果你 运行 来自 rest api 的 WIQL,你可能无法获得准确的工作项数据。

例如,由于我们在 select 中指定了字段,因此我们可以在 运行 来自 UI 的 WIQL:

中获取以下数据格式

但对于其余 api,我们将工作项的 data structure 定义并固定为 id + url。这意味着您只能获得满意的工作项 ID 及其 url,即使您在其中指定了 [System.Id], [System.Title], [System.WorkItemType], [System.State]