繁体   English   中英

如何使用 API 列出 Azure Board 上的工作项目?

[英]How to list work items present on Azure Board using API?

我使用 boards API 来获取 Azure boards 上的工作项目(在用户故事、功能和史诗级别),但是 boards API 正在返回团队董事会的模式,但我需要董事会上存在的工作项目列表。

有什么建议么?

请查看此 Microsoft 文档

在从 azure 服务器迁移到 devops 服务期间,我做了几乎相同的事情。

至少有两种针对 azure devops 的编程方式。

  1. REST API
  2. .NET 客户端库

您可以在这里找到简单的示例: azure devops 工作项目示例 github

让我们关注 2).Net 客户端库,简而言之来回答您的问题:想法是获取所有 id`s 您正在寻找的内容,然后下载适当的工作项。

var serverConnection = new VssConnection(YourUri, new VssBasicCredential(string.Empty, YourPAT));

var wiql = new Wiql()
        {
            Query =
                "SELECT [System.Id], [System.Title] " +
                "FROM workitem " +
                "WHERE " +
                "[System.TeamProject] = 'YourProject' " +
                "AND ([System.State] = 'Active'" + "OR [System.State] = 'New' )" +
                "AND ([System.WorkItemType] = 'User Story' OR [System.WorkItemType] ='Feature')" +
                "ORDER BY [System.ChangedDate] DESC"
        };
var queryItems = wiClient.QueryByWiqlAsync(wiql).Result;
        var queriedIds = queryItems.WorkItems.Select(wiReference => wiReference.Id).ToArray();
        var listOfWorkItems = new List<WorkItem>();
        // Get workItems, limited to 200 each download
        for (int i = 0; i < queriedIds.Length; i += 200)
        {
            var subQueriedIds = queriedIds.Skip(i).Take(200).ToArray();
            if (subQueriedIds.Any())
                listOfWorkItems.AddRange(wiClient.GetWorkItemsAsync("YourProject", subQueriedIds, null, null, WorkItemExpand.All).Result);
        }

listOfWorkItems 现在包括您通过查询定义的所有工作项。 市场上还有一个很好的 azure 插件, 在 azure 市场上称为 wiql 编辑器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM