Categories XML element reference

Last Update: 3/6/2017

Team Services (Hosted XML) | TFS 2017 | TFS 2015 | TFS 2013

IMPORTANT

This topic applies to team project customization for Hosted XML and On-premises XML process models. For the Inheritance process model, see Customize a process.

For an overview of process models, see Customize your work tracking experience.

You use the CATEGORIES element to group work item types (WITs). Use categories to group work item types provides a description of each of the default categories used by Team Services and Team Foundation Server (TFS).

Syntax

<CATEGORIES>  
   <CATEGORY name="category display name" refname="category reference name">  
      <DEFAULTWORKITEMTYPE name="work item type reference name" />  
      <WORKITEMTYPE name="work item type reference name" />  
   </CATEGORY>  
</CATEGORIES>  

Attributes and elements

Element Attribute Description
CATEGORIES Required element within the XML categories file.

Container element for specifying one or more CATEGORY elements that are defined for a team project.
CATEGORY Required CATEGORIES child element.

Specifies a named category group that contains one default DEFAULTWORKITEMTYPE element and zero or more WORKITEMTYPE elements.
name Required CATEGORY attribute.

The attribute type is typelib:FriendlyName.

Specifies the display name of the category. Must be between 1 to 254 characters and unique within the team project.
refname Required CATEGORY attribute.

The attribute type is typelib:ReferenceName.

Specify a name no longer than 70 Unicode characters that uses alphanumeric, underscore, and hyphen characters. The reference name must contain at least one period (.), but no period can appear at the start or end of a name. Also, the reference name cannot start with a number or an underscore, and it cannot have multiple consecutive hyphens, such as (--).

Do not specify a name that overlaps with the reserved System. XXX and Microsoft. XXX namespaces. See Naming restrictions, Work item tracking objects.
DEFAULTWORKITEMTYPE Required CATEGORY element.

Specifies a work item type to be tagged as belonging to the named category and to be used as the default type for the category.
name Required DEFAULTWORKITEMTYPE attribute.

The attribute type is WorkItemTypeRef.

Specifies the reference name of a valid work item type for the team project that will be used as the default type for the category.
WORKITEMTYPE Optional CATEGORY element.

Specifies a work item type to be tagged as belonging to the named category.
name Required WORKITEMTYPE attribute.

The attribute type is WorkItemTypeRef.

Specifies the reference name of a valid work item type for the team project that will belong to the named category.

Remarks

CATEGORIES is the root element of the categories schema.

A category is defined within the CATEGORIES set of CATEGORY elements that is stored and used by a team project. Each CATEGORIES element must have at least one CATEGORY element defined.

A category cannot be empty. Each CATEGORY element must have at least one DEFAULTWORKITEMTYPE or WORKITEMTYPE element defined.

Each category has a friendly name and a reference name that must be unique within the team project. Each category friendly name must meet the following requirements:

  • Names can have up to 254 Unicode characters.

  • Names must not be empty.

  • Names cannot have leading or trailing white spaces.

  • Names cannot contain backslash (\) characters.

  • Names cannot contain two consecutive white spaces.

    Category friendly names are not localized and cannot be made into a token, whereas the names for work item types are localized and can be made into a token.

Agile tools, category requirements, and restrictions

When assigning WITs to categories, consider the following operational notes:

  • To use the backlog and task boards, you must assign at least one WIT to the Requirements Category and one WIT to the Task Category.

  • You cannot assign the same WIT to both the Requirements Category and to the Task Category.

  • If you include more than one WIT in the Requirements Category or the Task Category, the type assigned to the DEFAULTWORKITEMTYPE element appears as the default type on the Agile backlog and board pages.

  • WITs that belong to a category which defines a backlog in the ProcessConfiguration file must have start, closing, and at least one intermediate workflow state napped to a valid metastate as described in Process Configuration XML element reference.

  • WITs that you assign to the Bug Category can be configured to show up on backlogs and boards for each team. You set the default behavior by defining the property for BugsBehavior in the ProcessConfiguration file.

Example

The following example lists the default categories XML file for the Scrum process template.

<?xml version="1.0" encoding="utf-8"?>  
<cat:CATEGORIES xmlns:cat="http://schemas.microsoft.com/VisualStudio/2008/workitemtracking/categories">  
  <!-- Usage: for resilience in Test system. Even if WITs have different name, they can be referred to by the category -->  
  <CATEGORY name="Bug Category" refname="Microsoft.BugCategory">  
    <DEFAULTWORKITEMTYPE name="Bug" />  
  </CATEGORY>  
  <CATEGORY name="Epic Category" refname="Microsoft.EpicCategory">  
    <DEFAULTWORKITEMTYPE name="Epic" />  
  </CATEGORY>  
  <CATEGORY name="Feature Category" refname="Microsoft.FeatureCategory">  
    <DEFAULTWORKITEMTYPE name="Feature" />  
  </CATEGORY>  
  <CATEGORY name="Requirement Category" refname="Microsoft.RequirementCategory">  
    <DEFAULTWORKITEMTYPE name="Product Backlog Item" />  
    <WORKITEMTYPE name="Bug" />  
  </CATEGORY>  
  <CATEGORY name="Test Case Category" refname="Microsoft.TestCaseCategory">  
    <DEFAULTWORKITEMTYPE name="Test Case" />  
  </CATEGORY>  
  <CATEGORY name="Shared Step Category" refname="Microsoft.SharedStepCategory">  
    <DEFAULTWORKITEMTYPE name="Shared Steps" />  
  </CATEGORY>  
   <CATEGORY name="Shared Parameter Category" refname="Microsoft.SharedParameterCategory">  
    <DEFAULTWORKITEMTYPE name="Shared Parameter" />  
  </CATEGORY>  
  <CATEGORY name="Code Review Request Category" refname="Microsoft.CodeReviewRequestCategory">  
    <DEFAULTWORKITEMTYPE name="Code Review Request" />  
  </CATEGORY>  
  <CATEGORY name="Code Review Response Category" refname="Microsoft.CodeReviewResponseCategory">  
    <DEFAULTWORKITEMTYPE name="Code Review Response" />  
  </CATEGORY>  
  <CATEGORY name="Feedback Request Category" refname="Microsoft.FeedbackRequestCategory">  
    <DEFAULTWORKITEMTYPE name="Feedback Request" />  
  </CATEGORY>  
  <CATEGORY name="Feedback Response Category" refname="Microsoft.FeedbackResponseCategory">  
    <DEFAULTWORKITEMTYPE name="Feedback Response" />  
  </CATEGORY>  
  <CATEGORY name="Test Plan Category" refname="Microsoft.TestPlanCategory">  
    <DEFAULTWORKITEMTYPE name="Test Plan" />  
  </CATEGORY>  
  <CATEGORY name="Test Suite Category" refname="Microsoft.TestSuiteCategory">  
    <DEFAULTWORKITEMTYPE name="Test Suite" />  
  </CATEGORY>  
  <CATEGORY name="Task Category" refname="Microsoft.TaskCategory">  
    <DEFAULTWORKITEMTYPE name="Task" />  
  </CATEGORY>  
  <CATEGORY name="Hidden Types Category" refname="Microsoft.HiddenCategory">  
    <DEFAULTWORKITEMTYPE name="Code Review Request" />  
    <WORKITEMTYPE name="Code Review Response" />  
    <WORKITEMTYPE name="Feedback Request" />  
    <WORKITEMTYPE name="Feedback Response" />  
    <WORKITEMTYPE name="Shared Steps" />  
    <WORKITEMTYPE name="Shared Parameter" />  
    <WORKITEMTYPE name="Test Plan" />  
    <WORKITEMTYPE name="Test Suite" />  
  </CATEGORY>  
</cat:CATEGORIES>