从迭代中获取所有项目

时间:2020-04-13 17:58:10

标签: azure-devops wiql

我正在尝试从给定的迭代中获取所有工作项。我可以在其他字段上过滤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);

1 个答案:

答案 0 :(得分:0)

我可以过滤其他字段上的TaskType。但不是迭代路径。

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

import os 

def find_names(outpath):
    root_path_list= [file for file in os.listdir(outpath)]
    jpg_file_list = []
    for idx, file in enumerate(root_path_list) :
        if file.endswith('.jpg'):
            jpg_file_list += file             
            print(jpg_file_list)

此WIQL可以过滤位于SELECT [System.Id], [System.Title], [System.WorkItemType], [System.State], [System.IterationPath] FROM workitems WHERE [System.IterationPath] = 'MerConsoleApp\Q4' AND [system.WorkItemType] = 'Bug' IterationPath Bug 工作项。

此外,我看到您正在从api应用此WIQL。您需要注意一件事,如果从rest api运行WIQL,则可能无法获得确切的工作项数据。

例如,由于我们在MerConsoleApp\Q4中指定了字段,因此在通过UI运行此WIQL时,我们可以得到以下数据格式:

enter image description here

但是对于rest api,我们将工作项的data structure定义并固定为select。这意味着即使您在其中指定了id + url,也只能获得满意的工作项ID及其URL。