导入和导出类别

Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018

重要

对于本地 XML 进程模型,可以使用 witadmin 列出、导入、导出和修改项目的进程。 对于继承的和托管的 XML 进程模型,只能使用 witadmin 列出和导出进程信息。 有关过程模型和支持的概述,请参阅 自定义工作跟踪体验

可以使用以下 witadmin 命令导入和导出为项目定义的类别:

  • exportcategories:导出为项目定义的类别的 XML 定义。
  • importcategories:将工作项类型 XML 定义文件导入项目中。 如果带相同名称的类别已存在,则此命令将覆盖现有定义。 如果工作项类型尚不存在,则此命令将创建一个新类别。

若要了解默认类别及其使用方式,请参阅使用 类别对工作项类型进行分组

如何运行 witadmin 命令行工具

若要运行 witadmin 命令行工具,请打开命令提示符窗口,Visual Studio命令提示符窗口。 witadmin 命令行工具随任何版本的 Visual Studio 一起安装。 可以通过安装免费版本的 Visual Studio Community 或 Visual Studio 团队资源管理器 来访问此工具

注意

如果要连接到本地服务器,则必须使用与本地服务器相同的或更高版本的 Visual Studio 或 团队资源管理器 Azure DevOps Server。 例如,如果连接到 TFS 2017 实例,则必须从 Visual Studio 2017 或 团队资源管理器 2017 进行连接。 2015 团队资源管理器版本。

Visual Studio 2019 或 团队资源管理器 2019 客户端:

%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

TeamExplorer或 、 ProfessionalEnterprise ,以Community使用 来表示 ,具体取决于已安装的版本。

Visual Studio 2017 或 团队资源管理器 2017 客户端:

%programfiles(x86)%\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer

TeamExplorer或 、 ProfessionalEnterprise ,以Community使用 来表示 ,具体取决于已安装的版本。

在 32 位版本的 Windows 上,将 x86 (%) % 替换为 %programfiles%。 可以安装 Visual Studio Community (,它提供对 团队资源管理器) 或 Visual Studio 团队资源管理器 2017 的免费访问权限。

提示

使用 witadmin,可以 导入和导出定义文件。 可以使用的其他工具包括进程编辑器 (要求已安装版本Visual Studio) 。 从 Visual Studio Marketplace 安装"进程模板"编辑器

或者,可以使用 TFS Team Project Manager,这是一个可从 GitHub。

提示

使用 witadmin,可以 导入和导出定义文件。 可以使用的其他工具包括进程编辑器 (要求已安装版本Visual Studio) 。 从市场安装 TFS 进程模板Visual Studio编辑器。 可以使用此版本的进程编辑器来修改旧式工作项窗体。 不能使用它来编辑与新 Web 窗体 关联的窗体

或者,可以使用 TFS Team Project Manager,这是一个可从 GitHub。

先决条件

对于定义了类别的项目,必须设置以下权限:

  • 若要导出工作项类型的类别,必须将"查看项目级信息"权限 设置为 "允许 "
  • 若要导入工作项类型的类别,你必须是管理员Project组的成员,或者必须将"编辑项目信息"权限设置为"允许"

有关详细信息,请参阅 更改项目集合级权限

语法

witadmin exportcategories /collection:CollectionURL /p:Project [/f:FileName] [/e:Encoding]   
  
witadmin importcategories /collection:CollectionURL /p:Project /f:FileName [/e:Encoding]   

参数

参数 说明
/collectionCollectionURL 指定项目集合的 URI。 例如:

本地 TFS 格式:http://ServerName:Port/VirtualDirectoryName/CollectionName

如果未使用虚拟目录,则 URI 的格式如下: http://ServerName:Port/CollectionName
/pProject 从其中导出类别或将类别导入到的项目的名称。
/fFileName 包含要导出或导入的类别的 XML 定义文件的路径和文件名。 如果在使用 exportcategories 命令时省略此参数,该命令会在"命令提示符"窗口中列出类别。
/eEncoding 2.0 .NET Framework 2.0 编码格式的名称。 指定的编码将用于导出或导入 XML 数据。 例如: /e指定utf-7 Unicode (UTF-7) 编码。 如果省略此参数, witadmin 将尝试检测编码,如果检测失败, witadmin 将使用 UTF-8。
/?帮助 在“命令提示符”窗口中显示有关命令的帮助。

注解

如果类别尚不存在,则导入类别文件将创建这些类别。 如果类别已存在, witadmin importcategories 命令将警告你当前列表将被覆盖。 您可以编写自己的程序来更新现有类别集,也可以使用新数据更新类别。

重要

对类别所做的更改会影响过程配置。 请参阅 ProcessConfiguration XML 元素

有关 XML 文件结构类别的信息,请参阅 类别 XML 元素参考

示例

除非另外指定,否则在每个示例中应用下面的值:

  • 项目集合的 URI: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • 项目名称:AdventureWorks
  • 输入或输出文件的名称:myCategories.xml
  • 默认编码:UTF-8

列出类别

下面的命令列出了为 AdventureWorks 项目定义的工作项类型类别。

witadmin exportcategories /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks   

将类别添加到隐藏的类型类别

将类别添加到"隐藏类型"类别,以删除用户对创建该类别中工作项类型的支持。

  1. 导出项目类别的定义文件。

    witadmin exportcategories /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /f:myCategories.xml   
    
  2. 在首选的文本编辑器中打开"类别"文件,并找到 CATEGORY 的 元素 "Hidden Types Category"

    <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">  
       <DEFAULTWORKITEMTYPE name="Code Review Request" />  
       <WORKITEMTYPE name="Code Review Response" />  
       <WORKITEMTYPE name="Feedback Request" />  
       <WORKITEMTYPE name="Feedback Response" />  
       <WORKITEMTYPE name="Shared Steps" />  
    </CATEGORY>  
    
  3. 添加 WORKITEMTYPE 一个 元素,该元素指定要添加的工作项类型的友好名称。

    例如,以下语法可将自定义工作项类型“集成版本”添加到“隐藏的类型类别”。

    <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">  
       <DEFAULTWORKITEMTYPE name="Code Review Request" />  
       <WORKITEMTYPE name="Code Review Response" />  
       <WORKITEMTYPE name="Feedback Request" />  
       <WORKITEMTYPE name="Feedback Response" />  
       <WORKITEMTYPE name="Shared Steps" />  
       <WORKITEMTYPE name="Integration Build" />  
    </CATEGORY>  
    
  4. 将类别的定义文件导入项目。

    witadmin importcategories /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /f:myCategories.xml