导入、导出和管理工作项类型 [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]

请参见

任务

创建工作项类型

概念

自定义工作跟踪对象以支持团队的进程

其他资源

witAdmin:自定义和管理用于跟踪工作的对象