向现有工作项类型添加字段和更改现有工作项类型的布局

若要跟踪其他数据为工作项,可以向工作项类型中添加字段,将其显示在工作项窗体,并使其可报告。还可以更改工作项窗体的布局最适合您的团队的需求。本主题,茱莉亚和 peter,Fabrikam 纤程的团队成员,自定义工作项的两种不同类型支持这些跟踪的目标。

  • 若要跟踪为新功能提供的位置,茱莉亚添加选项卡显示一个下拉菜单的自定义字段并更改工作项窗体的布局产品积压工作项的。茱莉亚执行五个任务添加一个自定义字段下拉列表选项和更改工作项窗体的布局产品积压工作项的。

  • 若要更好地跟踪请工作和改进在他的,并且团队的能力估计工作,针对 peter 添加字段添加到任务工作项类型。

如下图所示,茱莉亚和针对在一个建议的顺序独立执行其任务,但。

更改工作项窗体的布局

向工作项类型添加字段的顺序

添加一个字段添加到工作项窗体

向工作项类型添加字段

若要查看工作为可报告和字段分配的 project 字段在该默认值进程 Team Foundation Server的模板,请参见 工作项字段参考 (Visual Studio ALM)Visual Studio ALM 的可报告字段参考

要求

  • 若要执行此过程,您必须是**“Team Foundation Administrators (Team Foundation 管理员)”组的成员或项目的“Project Administrators (项目管理员)”**组的成员。有关更多信息,请参见Team Foundation Server 权限
说明说明

如果您运行的是 Windows Vista,则可能不具有某些文件夹的权限集。如果尝试将工作项类型导出到您没有权限集的位置,注册表虚拟化技术将自动重定向导出的文件,并将其保存到虚拟存储区。若要避免此重定向操作,可以将该文件导出到您拥有权限集的位置。有关注册表虚拟化的更多信息,请参见 Microsoft 网站上的以下页面:注册表虚拟化common files 和注册表虚拟化在 Windows vista 问题

1.导出工作项类型定义

当您下载从团队项目中的类型定义,您可以确保具有最新版本一起使用。

说明说明

如果您有次要更改并喜欢使用 XML 格式时,使用记事本或其他文本编辑器,可以修改文件。或者,可以使用过程编辑器,它是增强工具将作为外接程序安装到 Visual Studio。使用此工具,您不必导入或导出类型定义。相反,可以打开它们使用过程编辑器和通过编辑界面修改它们。

您可以从以下页面的强大工具 Microsoft 网站上:Team Foundation server 增强工具.

有关如何下载过程模板的架构文件的信息,请参见指向过程模板插件的 XML 元素定义的索引

从现有团队项目中导出工作项类型定义文件

  1. 若要运行 witadmin 命令行工具,请打开已安装 Visual Studio 或 团队资源管理器 的“命令提示”窗口,然后输入:

    cd %programfiles%\Microsoft Visual Studio 11.0\Common7\IDE
    

    在 64 位 Windows 版本上,将 %programfiles% 替换为 %programfiles(x86)%

  2. 输入以下命令,将您的数据替换为显示此处的参数,其中 CollectionURL 指定团队项目集合的 URL,ProjectName 指定在集合中定义的团队项目的名称,WorkItemTypeName 指定工作项的名称导出,因此,文件名 指定名称和位置以导出的文件可以导出。然后选择 Enter 键。

    witadmin exportwitd /collection:CollectionURL /p:ProjectName /n:WorkItemTypeName /f:FileName
    

    示例:导出产品积压工作项的定义

    例如,茱莉亚使用下面的命令将 FF_ProductBItem.xml 导出她的 FabrikamFiber 团队项目的类型定义产品积压工作项的。

    witadmin exportwitd /collection:http://julia-fabrikam:8080/tfs/Collection1 /p:"FabrikamFiber" /n:"Product Backlog Item" /f:FF_ProductBItem.xml
    

    示例:导出任务的定义

    并针对使用以下命令导出任务的类型定义并将它保存到标记 FF_Task.xml 的文件。

    witadmin exportwitd /collection:http://julia-fabrikam:8080/tfs/Collection1 /p:"FabrikamFiber" /n:Task /f:FF_Task.xml
    

    在成功完成后,将显示以下消息:

    “操作完成”

2.添加字段以类型定义

若要将字段添加到类型定义,必须将 FIELDS 节中的一个 FIELD 组件和在 FORM 节中的一个 Control 元素。此外,建议您遵循为字段建立的命名约定。

向工作项类型添加字段

  1. 找到定义类型的字段,然后从 FIELDS开始 XML 文件的节。

  2. 添加指定自定义字段的名称添加的 FIELD 元素。您必须指定下列必选特性:友好 name、refname (引用名称) 和 type。有关更多信息,请参见FIELD(定义)元素

    说明说明

    “引用名称”(或 refname)是字段的编程名称。所有其他规则都应该引用此 refname。有关更多信息,请参见工作项跟踪对象的命名约定

    示例:添加与菜单的自定义字段列表

    例如,茱莉亚输入以下文本将自定义字段,请求者,具有 FabrikamFiber.MyTeam.Requestor 的引用的名称,向产品积压工作项的类型定义。她还指定该选取列表此字段以及客户的默认值的允许值列表中。

    <FIELD name="Requestor" refname="FabrikamFiber.MyTeam.Requestor" type="String" reportable="Dimension">
       <ALLOWEDVALUES>
          <LISTITEM value="Customer" />
          <LISTITEM value="Executive Management" />
          <LISTITEM value="Other" />
          <LISTITEM value="Support" />
          <LISTITEM value="Team" />
          <LISTITEM value="Technicians" />
          <DEFAULTVALUE value="Customer" />
        </ALLOWEDVALUES>
    </FIELD>
    

    有关选取列表的更多信息,请参见 定义选取列表

    示例:添加预定义的字段

    对任务的类型定义,针对 peter 将该预定义的字段,则执行的工作,与 Microsoft.VSTS.Scheduling.CompletedWork 的引用名称。

    <FIELD name="Completed Work" refname="Microsoft.VSTS.Scheduling.CompletedWork" type="Double" reportable="measure" formula="sum" />
    

    有关所有预定义字段的列表,请参见 工作项字段参考 (Visual Studio ALM)

  3. 将 FORM 节中的 CONTROL 元素,以便该自定义字段是希望显示元素组内出现在工作项窗体。您必须指定控件 type 属性。有关更多信息,请参见Control XML 元素引用

    示例:添加自定义字段到产品积压工作项的窗体

    示例:添加字段的控件元素

    例如,如下面的代码示例所示,茱莉亚添加请求者字段的 Control 元素可以在工作项窗体的"原因"字段的下方。

    <Column PercentWidth="50">
       <Group Label="Status">
          <Column PercentWidth="100">
             <Control FieldName="System.AssignedTo" Type="FieldControl" Label="Assi&amp;gned To:" LabelPosition="Left" />
             <Control FieldName="System.State" Type="FieldControl" Label="&amp;State:" LabelPosition="Left" />
             <Control FieldName="System.Reason" Type="FieldControl" Label="Reason:" LabelPosition="Left" ReadOnly="True" />
             <Control FieldName="FabrikamFiber.MyTeam.Requestor" Type="FieldControl" Label="Requestor:" LabelPosition="Left" ReadOnly="True" />
          </Column>
       </Group>
    </Column>
    
    提示提示

    工作项跟踪架构定义 FORM 元素的所有子元素作为 camel 大小写格式和其他元素作为大写的所有。如果在验证类型定义文件时遇到错误,请检查元素的大小写结构。同时,根据 XML 语法规则,开始标记与结束标记的大小写结构还必须匹配。

    下图演示,产品积压工作项的工作项窗体现在包含新的字段。

    已添加到类型定义和表单的自定义字段

    示例:添加预定义的字段添加到任务的窗体

    如下面的代码示例所示,为任务工作项,针对 peter 添加 Control 字段其"剩余工作"字段中显示:

    <Column PercentWidth="50">
       <Group Label="Details">
          <Column PercentWidth="100">
             <Control FieldName="Microsoft.VSTS.Scheduling.CompletedWork" Type="FieldControl" Label="Completed Work:" LabelPosition="Left" />
             <Control FieldName="Microsoft.VSTS.Scheduling.RemainingWork" Type="FieldControl" Label="Remaining Work:" LabelPosition="Left" />
             <Control FieldName="Microsoft.VSTS.Common.BacklogPriority" Type="FieldControl" Label="Backlog Priority:" LabelPosition="Left" />
             <Control FieldName="Microsoft.VSTS.Common.Activity" Type="FieldControl" Label="Activity:" LabelPosition="Left" />
             <Control FieldName="System.AreaPath" Type="WorkItemClassificationControl" Label="Area:" LabelPosition="Left" />
          </Column>
       </Group>
    </Column>
    

    下图演示,任务的工作项窗体现在包含"已完成工作"字段。

    将已完成工作添加到任务类型和表单

  4. 保存到 XML 文件的更改。

了解有关将工作项字段添加到类型定义

3.从两列更改选项卡组的窗体布局到列

茱莉亚若要更改产品积压工作项的窗体布局,以便说明字段跨窗体的宽度。如下图所示,默认值的格式显示两组选项卡组。若要更改布局到单个设置选项卡组,Jill 需要更改第一列元素为 100 % 宽度,然后从 FORM 部分中移除多余的 Column 和 TabGroup 元素。

双列选项卡组布局

从两列若要更改窗体布局"选项卡上组设置列选项卡组

  1. 找到该 XML 文件的 TabGroup 节。通知包含项目的 Tab 元素 (如 说明任务、每个 Tab 元素包含一个 Control 元素呈现该单个控件的 验收条件历史记录

    <Group>
       <Column PercentWidth="50">
          <TabGroup>
          . . .
          </TabGroup>
       </Column>
       <Column PercentWidth="50">
          <TabGroup>
          . . .
          </TabGroup>
       </Column>
    </Group>
    
  2. 统一所有 <Tab> . . . </Tab> 元素在一 TabGroup下。移除 Group、Column和额外的 TabGroup 元素。下面的示例演示新的 XML 语法结构。

    <Group>
       <Column PercentWidth="100">
          <TabGroup>
          . . .
          </TabGroup>
       </Column>
    </Group>
    
    说明说明

    为获得最佳结果,每个 Control(控件)或 Group(组)应显示在一个 Column(列)中,即使该列跨越整个窗体宽度也应如此。相应地,每列应该显示在一个组中,即使该组没有可见的标签或边界也应如此。有关更多信息,请参见设计和自定义工作项窗体

    下图显示单列选项卡组。

    单列选项卡组

  3. 保存对 XML 文件所做的更改。

4.导入工作项类型定义

在自定义类型定义后,必须将其导入团队项目验证更改并使其可用于。您导入的 XML 文件将复盖当前类型定义的内容。导入过程在上载前验证 XML 语法。

将工作项类型导入现有团队项目

  • 在和目录指定的命令提示符窗口步骤 1,1. 导出工作项类型定义 ,前面所述在本主题中,输入以下命令,然后选择 Enter 键。

    witadmin importwitd /collection:CollectionURL /p:ProjectName /n:WorkItemTypeName /f:FileName
    

    示例:导入产品积压工作项的定义

    例如,Jill 使用以下命令导入她到 FF_ProductBItem.xml 导出到 FabrikamFiber 团队项目的产品积压工作项的类型定义。

    witadmin importwitd /collection:http://julia-fabrikam:8080/tfs/Collection1 /p:"FabrikamFiber" /f:FF_ProductBItem.xml
    

    示例:导入任务的定义

    并针对使用以下命令导入他保存到 FF_Task.xml 任务的类型定义。

    witadmin importwitd /collection:http://julia-fabrikam:8080/tfs/Collection1 /p:"FabrikamFiber" /f:FF_Task.xml
    

    在成功完成后,将显示以下消息:

    “工作项类型导入已完成”

5.刷新团队项目并验证所做的更改类型定义

导入之后类型定义,则必须刷新团队资源管理器的缓存更改系统中可用。必须刷新缓存,只有 + 当您打开的 Visual Studio 并连接到 Team Foundation Server,当您导入的类型定义。

刷新团队资源管理器并创建产品积压工作项

刷新团队项目并验证更改

刷新该缓存

  1. 在 团队资源管理器,选择 刷新刷新 按钮。

    此时将从服务器下载最新更新,包括您刚刚导入的更改。

    请等待几秒钟,直到刷新完成。

  2. 选择 工作项

  3. 选择 新建工作项,然后选择要修改的工作项类型,例如 产品积压工作项任务

  4. 验证所做显示在工作项窗体的更改。

  5. 选择 关闭 按钮关闭新工作项。当提示您保存工作项时,选择" "按钮。