全局列表是可包含在一个或多个工作项字段和类型中的选取列表。 使用全局列表可最大程度减少更新多个工作项类型共享的列表所需的工作量。 由于全局列表是为团队项目集合定义的,因此它们可以包含在集合内所有团队项目的工作项类型中。
你可以在其自己的定义文件中、在工作项类型的定义文件中或在全局工作流中定义全局列表。 全局列表定义管理为集合定义的全局列表。 全局列表定义在 witadmin 命令行工具中使用以下命令:
destroygloballist:销毁全局列表。
exportgloballist:将全局列表导出到 XML 文件或命令提示符窗口。 此命令将导出单个文件,该文件包含为团队项目集合定义的所有全局列表。
importgloballist:从 XML 文件导入全局列表。 如果你尝试导入服务器上已有的全局列表,将提示警告,询问你是否希望覆盖服务器上的全局列表。 如果导入不存在的全局列表,该命令将创建新的全局列表。
listgloballist:显示服务器上定义的每个全局列表的名称。
若要运行 witadmin 命令行工具,请在安装了 Visual Studio 或团队资源管理器的情况下打开命令提示符窗口,然后输入:
cd %programfiles%\Microsoft Visual Studio 12.0\Common7\IDE
在 64 位版本的 Windows 上,将 %programfiles% 替换为 %programfiles(x86)%.
备注
过程编辑器是 Visual Studio 的一个增强工具,可使用该工具创建或修改全局列表。有关详细信息,请参阅 Team Foundation Server 增强工具。
要求
对于在其中定义全局列表的团队项目,你必须具有以下权限集:
若要导出或列出全局列表,你必须是“项目集合有效用户”组的成员,或者你的“查看集合级别信息”权限设置为“允许”。
若要导入全局列表,你必须是“项目管理员”安全组的成员,或者你的“编辑项目级别信息”权限设置为“允许”。
若要使用 witadmin destroygloballist 销毁全局列表,你必须是“项目集合管理员”安全组的成员,或者你的“编辑集合级别信息”权限设置为“允许”。
请参阅Team Foundation Server 权限参考。
备注
即使你以管理权限登录,也必须打开提升的命令提示符窗口,以在运行 Windows Server 2008 的服务器上执行此功能。若要打开提升的命令提示符窗口,请选择“开始”,打开“命令提示符”快捷窗口,然后选择“以管理员身份运行”。有关详细信息,请参阅 Microsoft 网站上的以下页面:用户访问控制。
witadmin destroygloballist /collection:CollectionURL /n:GlobalListName [/noprompt] [/force]
witadmin exportgloballist /collection:CollectionURL [/f:FileName] [/e:Encoding]
witadmin importgloballist /collection:CollectionURL /f:FileName [/e:Encoding]
witadmin listgloballist /collection:CollectionURL
参数
参数 |
描述 |
---|---|
/collection:CollectionURL |
指定团队项目集合的 URI。 URI 的格式如下:http://ServerName:Port/VirtualDirectoryName/CollectionName 如果未使用虚拟目录,则 URI 将为以下格式: http://ServerName:Port/CollectionName。 |
/n:GlobalListName |
要销毁的全局列表的名称。 |
/f:FileName |
要导出或导入的全局列表 XML 定义文件的路径和名称。 备注 如果客户端计算机运行 Windows Vista,你可能没有特定文件夹的权限。如果你尝试将全局列表导出到没有权限的位置,注册表虚拟化技术会自动重定向导出的文件并将其保存到虚拟存储。有关详细信息,请参阅 Microsoft 网站上的以下页面:注册表虚拟化和 Windows Vista 中的通用文件和注册表虚拟化问题。若要避免此重定向,你可以将文件导出到具有权限的位置。 |
/e:Encoding |
.NET Framework 2.0 编码格式的名称。 指定的编码将用于导出或导入 XML 数据。 例如,/e utf-7 指定 Unicode (UTF-7) 编码。 如果省略此参数,则 witadmin 将尝试检测编码,并且如果检测失败,witadmin 将使用 UTF-8。 |
/noprompt |
禁用请求确认的提示。 |
/? 或 help |
在“命令提示符”窗口中显示有关命令的帮助。 |
备注
如果不存在,则导入全局列表将创建一个列表。 如果列表已存在,则 witadmin importgloballist 命令将警告你当前列表将被覆盖。 你可以编写自己的程序来更新现有全局列表,也可以使用新数据自己更新全局列表。
若要创建新的全局列表,请从以下代码开始并根据需要进行修改。 本示例定义你可以对任务分配的规范的全局列表。
<?xml version="1.0" encoding="utf-8"?>
<gl:GLOBALLISTS xmlns:gl="https://schemas.microsoft.com/VisualStudio/2005/workitemtracking/globallists">
<GLOBALLIST name="Disciplines">
<LISTITEM value="Architecture" />
<LISTITEM value="Requirements" />
<LISTITEM value="Development" />
<LISTITEM value="Release Management" />
<LISTITEM value="Project Management" />
<LISTITEM value="Test" />
</GLOBALLIST>
</gl:GLOBALLISTS>
请勿在全局列表中包含项目作用域的安全组,因为全局列表的作用域为集合而非项目。
若要将全局列表添加到字段,请导出包含该字段的工作项类型的定义并将其添加到字段定义,如下面的示例所示:
<FIELD name="Discipline" refname="Microsoft.VSTS.Common.Discipline" type="String">
<HELPTEXT>The discipline to which the task belongs</HELPTEXT>
<ALLOWEDVALUES>
<GLOBALLIST name="Disciplines" />
</ALLOWEDVALUES>
</FIELD>
若要查看更改,请导入类型定义并刷新你的浏览器或客户端缓存。 你可能需要关闭引用字段的工作项,然后再重新打开。
有关导出和导入类型定义的信息,请参阅导入、导出和管理工作项类型 [witadmin]。
示例
除非另外指定,否则在每个示例中应用下面的值:
团队项目集合的 URI:http://AdventureWorksServer:8080/tfs/DefaultCollection
Server 网站端口:8080
显示全局列表的名称
下面的示例显示服务器上定义的全局列表。 该示例使用默认的 UTF-8 编码导出全局列表:
witadmin listgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection
导出全局列表的定义
下面的示例导出全局列表:
witadmin exportgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:mygloballists.xml
下面的示例将相同的全局列表导出到相同的服务器,但使用 Unicode (UTF-7) 编码:
witadmin exportgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:mygloballists.xml /e:utf-7
导入全局列表的定义
下面的示例导入全局列表:
witadmin importgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:mygloballists.xml
下面的示例将相同的全局列表导入到相同的服务器,但使用 Unicode (UTF-7) 编码:
witadmin importgloballist /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:mygloballists.xml /e utf-7