如何在Azure DevOps中获取工作项的链接项

时间:2019-01-15 15:24:08

标签: azure-devops

我正在使用Azure API和VisualStudio.Services.Client。

我的目标是获取与用户案例相关的测试用例列表,到目前为止,我在这里:

 VssConnection connection = new VssConnection(new Uri("https://{myOrg}.visualstudio.com"),
            new VssBasicCredential("UserName","SuperSecretPassword"));

        WorkItemTrackingHttpClient witClient = connection.GetClient<WorkItemTrackingHttpClient>();

        var ticket =  witClient.GetWorkItemAsync(1234).Result;

哪个返回我的用户故事。

问题: 我想找到与此相关的任何链接项以查找我的测试用例,但是看不到通过UI(因此我可以调用查询)或直接通过API进行此操作的任何方法。

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

我个人喜欢使用WIQL查询来从Azure DevOps检索数据。它非常灵活,可以在任何情况下使用。

以下示例针对Azure DevOps窗口小部件。 (javascript)

var wiqlQuery = `
SELECT
    [System.Id],
    [System.Title],
    [System.WorkItemType]
FROM workitemLinks
WHERE
    (
        [Source].[System.TeamProject] = @project
        AND [Source].[System.WorkItemType] = 'User Story'
    )
    AND (
        [System.Links.LinkType] = 'System.LinkTypes.Hierarchy-Forward'
    )
    AND (
        [Target].[System.TeamProject] = @project
        AND [Target].[System.WorkItemType] = 'Test Case'
    )
MODE (Recursive)`;

witClient.queryByWiql({ query: wiqlQuery }).then(function(result){
    // Your Code
});

您应该记住,LinkType在此查询中很重要。

在这里您可以找到有关关系类型的详细信息:Link type reference

在这里您可以找到有关WIQL queries

的更多信息

在这里您可以找到有关Azure DevOps Rest API for WIQL Queries

的详细信息

如果您在Azure DevOps中有一个查询,并且想要将其导出为WIQL查询,则可以使用此marketplace extension