Updating a TFS Project with a custom TFS Template to support TFS 2013 Features

Currently I inherited a Team Foundation Server with many projects that have custom TFS templates that TFS ignores at upgrade time.  I wanted to use some modern TFS 2013 features with these projects including:

  • Code Reviews
  • Task Board
  • Backlogs
  • MS Test

I found that when I use the “Configure Features” wizard in the TFS administration site,  I get the error “There are no process templates available with valid configuration settings for this team project.“:

TFS Error

TFS Error

I started investigating how to do this upgrade manually and did not find any help online or on MSDN.  Here are the steps I followed to  manually upgrade this template to allow the wizard to work:

  1. Figure out what the base template was that was used to create the custom template, in my case this was the “Microsoft Agile Template 1.0”
  2. Export the modern version of this template that comes with TFS 2013, for me this was “MSF for Agile Software Development 2013.2”
  3. Inside the exported template find the workitems in the folder WorkItem Tracking\TypeDefinitions
  4. Copy the needed work items to a working folder, these include:
      • Bug.xml
      • CodeReviewRequest.xml
      • CodeReviewResponse.xml
      • Feature.xml
      • FeedbackRequest.xml
      • FeedbackResponse.xml
      • SharedParameter.xml
      • SharedStep.xml
      • task.xml
  5. Attempt to import each work item type into the TFS project you are trying to update (using the TFS Power Tools Process Editor is easiest).  If your template is really old like the one I was working on your will get an error message like this:

    importerror

    If you do get this error, it means that there is a conflict between one of the dimensions defined in this work item and the work item that you are trying to import.  To correct this issue, open the workitem xml file (such as bug.xml) and search for the field (“System.State”), change the “name” of that field from its current value (“Status”) to (“State”), save and try to import again.

  6. After these work item types are modified to be compatible with your project and improted, export the categories for this project using a command similar to:
    witadmin exportcategories /collection:http://MyTFSServer:8080/tfs/MyCollection /p:”MyProjectName” /f:cat.xml
  7. Modify the cat.xml file to include the categories in the WorkItem Tracking\categories.xml file from your exported template
  8. Import the categories for this project using a command similar to:
    witadmin importcategories /collection:http://MyTFSServer:8080/tfs/MyCollection /p:”MyProjectName” /f:cat.xml
  9. Run the upgrade wizard from the TFS web site and click the configure features button:
    tfs features upgrade

Feature configuration should now complete successfully.

Leave a Reply