导入、导出和管理工作项类型 [witadmin]
通过使用以下 witadmin 命令,可管理团队项目的工作项类型:
destroywitd:销毁某个工作项类型,并在不可恢复的情况下永久性地销毁该类型的所有工作项。
exportwitd:将工作项类型的定义导出到 XML 文件或导出到命令提示符窗口。
importwitd:将工作项类型从 XML 定义文件导入到运行 Team Foundation Server 的服务器上的团队项目。 如果带相同名称的工作项类型已存在,则新的工作项类型定义将覆盖现有的类型。 如果工作项类型尚不存在,则此命令将创建一个新的工作项类型。 要验证定义工作项类型的 XML,但是不导入文件,你可以使用 /v 选项。
listwitd:在命令提示符窗口中的指定项目中,显示工作项类型的名称。
renamewitd:更改特定项目内工作项类型的显示名称。 在你运行此命令后,此类型的工作项将显示新的名称。
若要运行 witadmin 命令行工具,请在安装了 Visual Studio 或团队资源管理器的情况下打开命令提示符窗口,然后输入:
cd %programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE
在 32 位版本的 Windows 上,将 %programfiles(x86)% 替换为 %programfiles%。
有关工作项类型的更多信息,请参见向过程模板添加工作项的类型定义。
备注
进程编辑器是 Visual Studio 的一个增强工具,你可以使用该工具创建和修改工作项类型。此工具不受支持。有关更多信息,请参见 Microsoft 网站上的以下页面:Team Foundation Server 增强工具。
要求
对于在其中定义工作项类型的团队项目,你必须具有以下权限集:
若要导出或列出工作项类型,你必须是**“项目管理员”组的成员,或者已将“查看项目级别信息”权限设置为“允许”**。
要销毁、导入或重命名工作项类型,你必须是**“Team Foundation 管理员”安全组或“项目管理员”**安全组的成员。
有关详细信息,请参阅Team Foundation Server 权限参考。
备注
即使你以管理权限登录,也必须打开提升的命令提示符窗口,以在运行 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] [/exportglobalists]
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。 URI 的格式如下:http://ServerName:Port/VirtualDirectoryName/CollectionName 如果未使用虚拟目录,则 URI 将为以下格式: http://ServerName:Port/CollectionName |
/p:Project |
要为其管理工作项类型的团队项目。 必须在 /collection 参数指定的项目集合中定义此团队项目。 将需要 /p 参数,除非你将 importwitd 命令与 /v 选项结合使用。 |
/n:TypeName |
要销毁、导出、导入或重命名的工作项类型的名称。 |
/f:FileName |
包含要导出或导入的工作项类型的 XML 定义文件的路径和文件名。 如果你在使用 exportwitd 命令时省略此参数,则 XML 将显示在命令提示符窗口中。 备注 如果你正在使用 Windows Vista,你可能没有特定文件夹的权限。如果你尝试将工作项类型导出到没有权限的位置,注册表虚拟技术会自动重定向导出的文件并将其保存到虚拟存储。若要避免此重定向,你可以将文件导出到具有权限的位置。有关详细信息,请参见 Microsoft 网站:注册表虚拟化和 Windows Vista 中的通用文件和注册表虚拟化问题。 |
/e:编码 |
.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
问题解答
问:在 TFS 升级后,我可以进行哪些自定义并继续使用“配置功能”向导更新我的团队项目?
**答:**你可以添加自定义 WIT 并更改窗体布局。 配置功能向导将更新你的团队项目,并且你将获取对最新功能的访问权限。
更改工作流或重命名 WIT 可能会要求你在更新团队项目时执行某些手动操作。 要了解你可以安全地进行和避免哪些自定义,请参见自定义工作跟踪体验:在你进行自定义之前,了解维护和升级的影响。
问:如何更改与 WIT 关联的颜色?
**答:**在 Team Web Access 中,工作项将出现在查询结果中和 Agile 计划工具的积压工作 (backlog) 和面板页上。 若要更改与现有 WIT 关联的颜色或添加要用于新 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 本身。 例如,如果你的团队未使用“Impediment”,则可从 Fabrikam 网站项目中删除标记为“Impediment”的 WIT。
witadmin destroywitd /collection:"http://FabrikamPrime:8080/tfs/DefaultCollection" /p:"Fabrikam Web Site" /n:"Impediment"
当删除属于某个类别的 WIT 时,你必须更新团队项目的类别定义以反映新名称。 具体而言,在更新类别定义之前,Agile 计划工具将无法运行。
有关详细信息,请参阅导入和导出类别 [witadmin]。