导入和导出全局工作流

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

重要

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

通过使用全局工作流,你可以最大程度地减少定义和更新多个项目和工作项类型共享的工作项字段和全局列表所需的工作。 借助全局工作流,你可以定义和更新字段和全局列表。 可以使用 witadmin 命令行工具中的以下命令管理项目集合或项目的全局工作流:

  • exportglobalworkflow:将全局工作流导出到 XML 文件或命令提示符窗口。
  • importglobalworkflow:从 XML 文件导入全局工作流。

若要了解全局工作流,请参阅 全局工作流 XML 元素参考

如何运行 witadmin 命令行工具

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

注意

如果要连接到本地服务器,则必须使用与 Azure DevOps Server 相同或更高版本的 Visual Studio 或团队资源管理器。 例如,如果连接到 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

TeamExplorerEnterpriseProfessional 根据你所安装的版本,或来代替 Community

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

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

TeamExplorerEnterpriseProfessional 根据你所安装的版本,或来代替 Community

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

要求

  • 若要导出全局工作流,您必须是项目或项目集合的有效用户。
  • 若要将全局工作流导入项目,你必须是以下安全组的成员: " Team Foundation 管理员"、" Project 集合管理员" 或 " Project 管理员"。
  • 若要将全局工作流导入项目集合,您必须是Team Foundation administratorsProject 集合管理员的成员。

请参阅 更改项目集合级别权限

注意

即使你使用管理权限登录,也必须打开提升的命令提示符窗口,才能在运行 Windows server 2008 的服务器上执行此功能。 若要打开提升的命令提示符窗口,请选择 " 开始",打开 " 命令提示符 " 快捷菜单,然后选择 " 以管理员身份运行"。 有关详细信息,请参阅 Microsoft 网站上的以下页面: User 访问控制

语法

witadmin exportglobalworkflow /collection:CollectionURL [/p:ProjectName] [/f:FileName] [/e:Encoding] [/exportgloballists]   
 
witadmin importglobalworkflow /collection:CollectionURL [/p:ProjectName] /f:FileName [/e:Encoding] [/v]  

参数

参数 说明
/collectionCollectionURL 指定集合的 URI。 必须按以下格式指定 URI: http://ServerName: Port/VirtualDirectoryName/CollectionName

如果不指定虚拟目录,则必须使用以下格式指定 URI:

http://ServerName: Port/CollectionName
/pProjectName 可选。 要为其导出或导入全局工作流的项目。 此项目必须在使用/collection 参数指定的集合中定义。 如果未指定项目,则会为集合导入或导出全局工作流。
/fFileName 要导出或导入的全局工作流的 XML 定义文件的路径和名称。

注意:如果客户端计算机正在 Windows Vista 上运行,则你可能没有特定文件夹的权限。 如果你尝试将全局列表导出到没有权限的位置,注册表虚拟化技术会自动重定向导出的文件并将其保存到虚拟存储。 有关详细信息,请参阅 Microsoft 网站上的 注册表虚拟化 页面。 若要避免此重定向,你可以将文件导出到具有权限的位置。
/eEncoding 可选。 .NET Framework 2.0 编码格式的名称。 指定的编码将用于导出或导入 XML 数据。 例如, /e utf-7 指定 Unicode (utf-8) 编码。 如果省略此参数, witadmin 将尝试检测编码,并在检测失败时使用 utf-8。
/v 可选。 验证定义全局工作流的 XML,但是不导入定义文件。
/exportgloballists 可选。 导出全局工作流引用的全局列表的定义。 全局列表的定义将嵌入到全局工作流的 XML 定义中。 如果没有指定此参数,就会省略全局列表的定义。
/?帮助 在“命令提示符”窗口中显示有关命令的帮助。

注解

可定义工作项字段,方式是通过全局工作流导入这些工作项字段。 但,你不能通过使用全局工作流来更改现有字段的属性。 如果导入不包含 FIELDS 元素的全局工作流,则将删除所有以前导入的全局工作流的规则。 字段定义不会受到影响。

示例

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

  • 集合的 URI: http://AdventureWorksServer:8080/tfs/DefaultCollection
  • Project: Contoso
  • 服务器网站的端口号:8080

导出项目的全局工作流的定义

下面的示例导出项目的全局工作流:

witadmin exportglobalworkflow /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:Contoso /f:C:myGlobalWorkflow.xml  

将全局工作流的定义导入项目

下面的示例将全局工作流导入到 Contoso 项目:

witadmin importglobalworkflow /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:Contoso /f:C:collectionGlobalWorkflow.xml   

将全局工作流定义导入集合

以下为将全局工作流导入集合的示例:

witadmin importglobalworkflow /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:C:collectionGlobalWorkflow.xml