向工作项类型添加字段或从工作项类型移除字段
若要向工作项类型添加数据字段或从工作项类型移除数据字段,您可以修改工作项类型定义文件。 必须从 FIELDS 节以及 FORM 节中所定义的布局和控件中添加或移除 FIELD 元素。 修改工作项类型之后,您可以导入 XML 文件并开始使用更新的工作项类型。
重要事项 |
---|
工作项类型字段是为团队项目集合而管理的。 有关更多信息,请参见管理工作项字段 [witadmin]。 |
主题内容
导出和打开工作项类型定义文件
添加字段
移除字段
导入工作项类型定义文件
验证更改是否显示在工作项窗体中
所需权限
若要执行此过程,您必须是**“Team Foundation Administrators (Team Foundation 管理员)”组的成员或项目的“Project Administrators (项目管理员)”**组的成员。 有关更多信息,请参见 Team Foundation Server 权限。
导出和打开工作项类型定义文件
导出和打开工作项类型定义文件
根据要执行的自定义的范围,执行以下步骤之一:
如果要修改单个项目的工作项类型:
运行 witadmin exportwitd 导出要修改的工作项类型的 XML 文件。 键入以下命令,用显示的参数替换您的数据:
witadmin exportwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:project /n:typename /f:filename
有关更多信息,请参见从现有项目导出和导入工作项类型。
在 Visual Studio 中,单击**“文件”,单击“打开”,再单击“文件”**。
此时出现**“打开文件”**对话框。
在**“查找范围”**之下,移动到您导出该文件的位置。
如果要修改工作项类型以自定义过程模板:
查找下载过程模板的位置。
选择要更新的工作项类型 XML 文件,然后单击**“打开”。 出现有关行尾的提示时,单击“否”**。
添加字段
向工作项类型添加字段
找到 XML 文件的以下节:
<FIELDS>
键入下面示例中突出显示的 XML 以创建字符串字段:
<FIELDS> <FIELD name="Issue Level" refname="MyCompany.MyProcess.IssueLevel" type="String" reportable="Dimension"> </FIELD>
提示
“引用名称”(或 refname)是字段的编程名称。 所有其他规则都应该引用此 refname。 有关更多信息,请参见工作项跟踪对象的命名约定。
找到 XML 文件中描述工作项窗体的节:
<FORM>
找到 <FORM> 节中的下列行:
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group>
键入下面示例中突出显示的 XML 以插入控件来显示您的字段:
<Group Label="Classification"> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.IssueLevel" Label="Issue Level" LabelPosition="Left" /> </Column> </Group>
在**“文件”菜单上,单击“保存** <文件名>.xml”,将您的更改保存到 XML 文件中。
若要将新的工作项类型导入到单个项目中,请参见导入工作项类型定义文件。 若要将工作项类型添加到过程模板中,请参见向过程模板添加工作项的类型定义。
移除字段
从工作项窗体移除字段
查找并删除要从工作项类型中移除的字段的定义。 下面的示例显示一个名为“Issue Level”的字段。 若要移除此字段,请删除下面的字段节:
提示
您的 XML 文件中的字段节可能并不包含下面代码中的所有元素。 但是,如果对工作项类型字段进行了自定义,使之包含这些元素,则这些元素也必须删除。
<FIELDS> . . . <FIELD name="Issue Level" refname="MyCompany.MyProcess.IssueLevel" type="String" reportable="dimension"> <HELPTEXT>Describes the issue level to which this special task belongs.</HELPTEXT> <WHEN field="Microsoft.VSTS.Common.Discipline" value="Business Analyst"> <ALLOWEDVALUES> <LISTITEM value="Planning" /> <LISTITEM value="Review" /> </ALLOWEDVALUES> </WHEN> <WHENNOT field="Microsoft.VSTS.Common.Discipline" value="Business Analyst"> <ALLOWEDVALUES> <LISTITEM value="Process Management" /> <LISTITEM value="Planning" /> <LISTITEM value="Execution" /> <LISTITEM value="Review" /> </ALLOWEDVALUES> </WHENNOT> </FIELD> … </FIELDS>
找到 <Layout> 节,其中定义了工作项字段的控件,然后删除相应的节以移除字段。 以下突出显示的节为您应查找的内容的示例。
<Group Label="Classification"> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="WorkItemClassificationControl" FieldName="System.AreaPath" Label="Area" LabelPosition="Left" /> <Control Type="WorkItemClassificationControl" FieldName="System.IterationPath" Label="Iteration" LabelPosition="Left" /> </Column> </Group> </Column> <Column PercentWidth="50"> <Group> <Column PercentWidth="100"> <Control Type="FieldControl" FieldName="MyCompany.MyProcess.IssueLevel" Label="IssueLevel" LabelPosition="Left" /> </Column> </Group> </Column> </Group>
在**“文件”菜单上,单击“保存 <文件名>”**,将更改保存到 XML 文件中。
导入工作项类型定义文件
导入工作项类型定义文件
运行 witadmin importwitd 导入已修改的工作项类型的 XML 文件。 键入以下命令,用显示的参数替换您的数据:
witadmin importwitd /collection:http://ServerName:Port/VirtualDirectoryName/CollectionName /p:project /n:typename /f:filename
有关更多信息,请参见从现有项目导出和导入工作项类型。
验证更改是否显示在工作项窗体中
验证导入到单个项目中的更改
在团队资源管理器中,右击包含所修改的工作项类型定义的团队项目节点,然后单击**“刷新”**。
此时将从服务器下载最新更新,包括您刚刚导入的更改。 请等待几秒钟,直到刷新了**“工作项”节点。 正在加载中的节点显示“正在工作”**。
使用修改后的工作项类型创建工作项,方法是右击**“工作项”节点,指向“添加工作项”**,然后单击该工作项类型。
此工作项将从您所更改的工作项类型创建。
验证您所做的更改是否显示在工作项窗体中。
单击**“关闭”以关闭这个新的工作项。 提示您保存工作项时,请单击“否”**。