Create a Work Item Type

You can create a work item type by starting with the sample code in this topic. A work item type defines the rules, fields, states, and transitions for an item of work that will be tracked on a team project, such as bugs, requirements, and risks. The work item type is specified in a type definition XML file under the Work Item Tracking folder in the TypeDefinitions folder. For example, Microsoft Solutions Framework (MSF) for Agile Software Development defines Bug, Quality of Service, Scenario, Risk, and Task work item types in the files Bug.xml, QoS.xml, Scenario.xml, Risk.xml, and Task.xml, respectively.

You can customize or create type definition files in the TypeDefinitions folder. Then you can import your new work item type to a single project, or you can add it to your process template and upload the modified template to your Team Foundation Server.

Required Permissions

To perform this procedure, you must be a member of the Team Foundation Administrators group or a member of the Project Administrators group for the project. For more information, see Team Foundation Server Permissions.

To create a work item type

  1. In Visual Studio, create an XML file for your work item type. To do this, on the File menu, click New, and then click File.

  2. In the New File dialog box, under Categories, select General, and then under Templates, select XML File.

  3. Copy and paste the following code into the file:

    <?xml version="1.0" encoding="utf-8"?>
    <witd:WITD application="Work item type editor" version="1.0" xmlns:witd="">
    <WORKITEMTYPE name="New Work Item Type Name">
    <DESCRIPTION>A description of your new work item type.</DESCRIPTION>
          <FIELD name="Title" refname="System.Title" type="String" reportable="dimension">
            <REQUIRED />
            <STATE value="Active">
            <TRANSITION from="" to="Active">
                <DEFAULTREASON value="New" />
                <REASON value="Build Failure" />
              <Column PercentWidth="100">
                <Control Type="FieldControl" FieldName="System.Title" Label="&amp;Title:" LabelPosition="Left" />
  4. Click Save to save the changes. In the Save File As dialog box, name the file, and save it as an .xml file.

    If you are creating a work item type to customize a process template, move to the location where you want to downloaded the process template and save your file in the \WorkItem Tracking\TypeDefinitions folder.


    If you are running Windows Vista you might not have permissions to certain folders. If you try to export the work item type to a location where you do not have permissions set, the registry virtualization technology automatically redirects the exported file and saves it to the virtual store. To avoid this redirection, you can export the file to a location where you have permissions set. For more information about registry virtualization, see the Microsoft Web site: Registry Virtualization and Common file and registry virtualization issues in Windows Vista.

  5. To customize your work item type, see Defining Work Item Fields, Defining and Customizing Work Item Workflow, and Designing and Customizing a Work Item Form.

  6. To import the new work item type to a single project, see Customizing and Managing Work Item Types [witadmin]. To add the work item type to your process template, see Add Type Definitions for Work Items to a Process Template.

See Also


Customizing and Managing Work Item Types [witadmin]


All WITD XML Elements Reference

Other Resources

Index to XML Element Definitions for Types of Work Items

Change History




April 2011

Corrected the namespace referenced in the XML example.

Content bug fix.