导出、导入和管理工作项类型
Azure DevOps Services |Azure DevOps Server 2022 - Azure DevOps Server 2019 |TFS 2018
重要
对于本地 XML 进程模型,可以使用 witadmin 列出、导入、导出和修改项目的流程。 对于继承和托管的 XML 进程模型,只能使用 witadmin 列出和导出进程信息。 有关流程模型和支持的概述,请参阅 自定义工作跟踪体验。
可以使用以下命令 witadmin
管理项目的工作项类型:
destroywitd
:销毁工作项类型,并在不恢复的情况下永久销毁该类型的每个工作项。exportwitd
:将工作项类型的定义导出到 XML 文件或命令提示符窗口。importwitd
:将 XML 定义文件中的工作项类型导入到项目中。 如果带相同名称的工作项类型已存在,则新的工作项类型定义将覆盖现有的类型。 如果工作项类型不存在,则会创建新的工作项类型。 若要验证定义工作项类型但不导入文件的 XML,请使用/v
选项。listwitd
:在命令提示符窗口中显示指定项目中的工作项类型的名称。renamewitd
:更改特定项目中工作项类型的显示名称。 在你运行此命令后,此类型的工作项将显示新的名称。
若要详细了解如何使用工作项类型来跟踪工作,请参阅在Azure Boards用户情景、问题、bug、功能和史诗中跟踪工作项。
如何运行 witadmin
命令行工具
若要运行 witadmin
命令行工具,请打开安装 Visual Studio 的命令提示符窗口。 命令行 witadmin
工具随任何版本的 Visual Studio 一起安装。 可以通过安装免费版本的 Visual Studio Community 或 Visual Studio Team Explorer 来访问此工具。
注意
如果要连接到 Azure DevOps Services,建议使用最新版本的 Visual Studio 或 Visual Studio Community。
注意
如果要连接到本地服务器,建议使用与Azure DevOps Server相同的或更高版本的 Visual Studio。 例如,如果连接到 Azure DevOps Server 2019,则从 Visual Studio 2019 版本连接到项目。
对于 Visual Studio 2022
%programfiles(x86)%\Microsoft Visual Studio\2022\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
或 Professional
或 Enterprise
取代 Community
,具体取决于已安装的版本。
对于 Visual Studio 2019
%programfiles(x86)%\Microsoft Visual Studio\2019\Community\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
或 Professional
或 Enterprise
取代 Community
,具体取决于已安装的版本。
对于 Visual Studio 2017
%programfiles(x86)%\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer
或 TeamExplorer
或 Professional
取代 Enterprise
,具体取决于已安装的版本。
在 32 位版本的 Windows 上,将 %programfiles (x86) % 替换为 %programfiles%。 可以安装Visual Studio Community (,它免费提供对团队资源管理器) 或 Visual Studio Team Explorer 2017 的访问权限。
提示
使用 witadmin,可以 导入和导出定义文件。 可以使用的其他工具包括进程编辑器 (要求你已安装 Visual Studio) 版本。 从 Visual Studio 市场安装进程模板编辑器。
提示
使用 witadmin,可以 导入和导出定义文件。 可以使用的其他工具包括进程编辑器 (要求你已安装 Visual Studio) 版本。 从 Visual Studio 市场安装 TFS 进程模板编辑器。 可以使用此版本的进程编辑器来修改旧式工作项表单。 不能使用它来编辑与 新 Web 窗体关联的表单。
或者,可以使用 TFS 团队项目经理,这是 GitHub 提供的开源客户端。
先决条件
对于定义工作项类型的项目,必须设置以下权限:
- 若要导出或列出工作项类型,您必须是 “项目管理员 ”组的成员,或者将 “查看项目级别信息” 权限设置为 “允许”。
- 若要销毁、导入或重命名工作项类型,您必须是 Team Foundation 管理员 安全组或 项目管理员 安全组的成员。
有关详细信息,请参阅 更改项目集合级别权限。
注意
即使使用管理权限登录,也必须打开提升的命令提示符窗口,才能在运行 Windows Server 2008 的服务器上执行此操作。 若要打开提升的命令提示符窗口,请选择 “开始”,打开 命令提示符的快捷菜单,然后选择 “以管理员身份运行”。 有关详细信息,请参阅 Microsoft 网站:用户访问控制。
语法
witadmin destroywitd /collection:CollectionURL /p:Project /n:TypeName [/noprompt]
witadmin exportwitd /collection:CollectionURL /p:Project /n:TypeName [/f:FileName] [/e:Encoding] [/exportgloballists]
witadmin importwitd /collection:CollectionURL [/p:Project] /f:FileName [/e:Encoding] [/v]
witadmin listwitd /collection:CollectionURL /p:Project
witadmin renamewitd /collection:CollectionURL /p:Project /n:TypeName /new:NewName [/noprompt]
参数
参数 | 说明 |
---|---|
/collection :CollectionURL |
指定项目集合的 URI。 例如: 本地格式: http://ServerName:Port/VirtualDirectoryName/CollectionName 如果未使用虚拟目录,请使用以下格式: http://ServerName:Port/CollectionName 。 |
/p:Project |
要管理其工作项类型的项目。 必须在 /collection 参数指定的项目集合中定义此项目。 /p 参数是必需的,除非使用 /v 选项运行 importwitd 命令。 |
/n:TypeName |
要销毁、导出、导入或重命名的工作项类型的名称。 |
/f:FileName |
包含要导出或导入的工作项类型的 XML 定义文件的路径和文件名。 如果使用 exportwitd 命令时省略此参数,则 XML 将显示在命令提示符窗口中。 注意: 如果使用 Windows Vista,则可能没有对某些文件夹的权限。 如果你尝试将工作项类型导出到没有权限的位置,注册表虚拟技术会自动重定向导出的文件并将其保存到虚拟存储。 若要避免此重定向,你可以将文件导出到具有权限的位置。 有关详细信息,请参阅 Microsoft 网站上的 注册表虚拟化 页。 |
/e:*Encoding |
.NET Framework 2.0 编码格式的名称。 该命令使用指定的编码来导出或导入 XML 数据。 例如, /e:utf-7 指定 Unicode (UTF-7) 编码。 如果省略此参数, 则 witadmin 会尝试检测编码,如果检测失败, 则 witadmin 使用 UTF-8。 |
/exportgloballists |
导出由工作项类型引用的全局列表的定义。 全局列表的定义将嵌入到工作项类型定义 XML。 若未指定,将省略全局列表的定义。 |
/v |
验证定义工作项类型但不导入 XML 定义文件的 XML。 注意: 无需指定项目即可验证类型定义。 将忽略对项目范围的组的引用。 |
/new:NewName |
工作项类型的新名称。 |
/noprompt |
禁用请求确认的提示。 |
/? 或 help |
在“命令提示符”窗口中显示有关命令的帮助。 |
注解
使用 destroywitd
命令时,它会销毁以下所有对象:
- 工作项类型
- 该类型的所有工作项
- 工作项表格、长文本表格和链接表格中的对应条目
- 工作项类型元数据缓存中的对象
示例
除非另外指定,否则在每个示例中应用下面的值:
- 项目集合的 URI:
http://AdventureWorksServer:8080/tfs/DefaultCollection
- 项目名称:
AdventureWorks
- 输入或输出文件名:
myworkitems.xml
- 工作项类型名称:
myworkitem
- 默认编码:
UTF-8
导出 WIT 的定义
以下命令会将 myworkitem 的定义导出至文件 myworkitems.xml。
witadmin exportwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /f:myworkitems.xml /n:myworkitem
以下示例使用 Unicode (UTF-7) 编码导出工作项。
witadmin exportwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /f:myworkitems.xml /n:myworkitem /e:utf-7
导出 WIT 的定义及其引用的全局列表
以下示例将导出工作项类型及其引用的全局列表。
witadmin exportwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /f:myworkitems.xml /n:myworkitem /exportgloballists
列出 WIT 的定义
以下示例将在命令提示符窗口中显示工作项类型的定义。
witadmin exportwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /p:AdventureWorks /n:myworkitem
导入 WIT 的定义
以下示例将从 XML 文件导入工作项定义。
witadmin importwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:myworkitem.xml /p:AdventureWorks
验证 WIT 的 XML 定义
以下示例验证定义工作项类型但不导入定义的 XML。
witadmin importwitd /collection:http://AdventureWorksServer:8080/tfs/DefaultCollection /f:myworkitem.xml /p:AdventureWorks /v
问题解答
问:升级后,我可以进行哪些自定义,并且仍使用“配置功能向导”更新我的项目?
答: 可以添加自定义 WIT 并更改窗体布局。 配置功能向导将更新项目,你将获得最新功能的访问权限。
更改工作流或重命名 WIT 可能需要在更新项目时执行一些手动操作。 若要了解可以安全地进行哪些自定义以及应避免哪些自定义,请参阅 自定义工作跟踪体验:在自定义之前,请了解维护和升级的影响。
问:如何更改与 WIT 关联的颜色?
答: 在 Web 门户中,工作项显示在查询结果中以及敏捷规划工具的积压工作和板页上。 若要更改与现有 WIT 关联的颜色或添加用于新 WIT 的颜色, 请编辑进程配置。
问:如何停用或禁用 WIT? 如何限制用户创建特定类型的工作项?
答: 如果你有一个要停用的工作项类型,但维护基于该类型创建的工作项,则可以添加一个规则,禁止所有有效用户保存工作项类型。
<TRANSITION from=" " to="New">
<FIELDS>
<FIELD refname="System.CreatedBy">
<VALIDUSER not="[Team Project Name]Project Valid Users" />
</FIELD>
</FIELDS>
</TRANSITION>
若要只允许一组用户创建特定 WIT,可通过两种方式来限制访问:
- 将 WIT 添加到“隐藏类别”组 ,以防止大多数参与者创建它们。 如果要允许一组用户访问, 可以创建指向模板的超链接 ,用于打开工作项表单,并与要创建这些团队成员共享该链接。
- 将字段规则添加到 System.CreatedBy 字段的工作流,以有效地限制一组用户创建特定类型的工作项。 如以下示例所示,创建工作项的用户必须属于 才能
Allowed Group
保存工作项。
<TRANSITION from=" " to="New">
<FIELDS>
<FIELD refname="System.CreatedBy">
<VALIDUSER for="Allowed Group" not="Disallowed Group" />
</FIELD>
</FIELDS>
</TRANSITION>
问:如何删除 WIT?
答: 若要防止团队成员使用特定 WIT 创建工作项,可以从项目中删除它。 使用 witadmin destroywitd
时,将永久删除使用该 WIT 创建的所有工作项以及 WIT 本身。 例如,如果团队不使用障碍,则可以从 Fabrikam 网站项目中删除 WIT 标记为障碍。
witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment"
删除属于某个类别的 WIT 时,必须更新项目的类别定义以反映新名称。 具体而言,在更新类别定义之前, 敏捷规划工具 将不起作用。
有关详细信息,请参阅 导入和导出类别。