TFS2015:全局列表的 REST API

TFS2015: REST API for global lists

我正在开发一个自定义仪表板小部件,我必须从全局列表中读取它,但我找不到任何用于此类操作的 REST API 方法。

有什么想法吗?

您可以使用其余客户端的所有 exportWorkItemTypeDefinition() 方法。

这个方法有三个参数:

  • project: string. Optional. Project ID or project name
  • type: string. Optional.
  • exportGlobalLists: boolean. Optional.

将"project"和"type"指定为"null",将"exportGlobalLists"指定为"true",您将获得导出的全局工作流,其中包含全局列表。


您仍然可以使用witadmin命令行工具来实现

显示全局列表的名称

witadmin listgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection

导出全局列表的定义

witadmin exportgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:mygloballists

来源Link:Manage global lists for work item types

我没有成功使用 exportWorkItemTypeDefinition() 来实现这一目标。就我而言,我想使用 C# 纯粹从后端执行此操作。

首先,您需要在项目中包含 Microsoft.TeamFoundation.Client 程序集。我们将使用它来查询 TFS。其次,我建议安装 JB.Tfs.Common,这是一个很好的扩展包,它提供了帮助程序 类 用于将全局列表管理为 POCO 对象。

一旦您添加了这些先决条件,获取全局列表确实是一项简单的任务。

public GlobalListCollection GetGlobalLists(string url)
{
    var collectionUri = new Uri(url);
    var teamProjectCollection = new TfsTeamProjectCollection(collectionUri, false);
    var workItemStore = teamProjectCollection.GetService<WorkItemStore>();
    return workItemStore.GetGlobalLists();
}

Url 是 TFS 集合的路径,例如:

http://example.com:8080/tfs/MyCollection