3
votes

Background

In our environment, we are constantly making changes to our work item types (WITs), due to changes in our procedures. We currently have two main collections; one collection has around 5 projects, and the other one has around 20. For each project, we have 7 different WITs.

It gets kind of cumbersome when I have to make the a change to the templates, because I have to change them on every project/collection that we have. Typically, I just modify one template, and use the command line (witadmin) to import that xml file into each project. It's really difficult to know whether or not WITs are current on all projects.

What I am looking for

  • I would like to find a way to easily modify the WITs once, and have it update all of the projects with those changes.
  • It would also be nice to have a GUI to modify these WIT. Does TFS 2012 and TFS 2013 handle WIT modification better?

What I Already Know

  • I am pretty comfortable running TFS/DOS commands, so I ultimately could create a batch script that would automate that for me. This would probably be a last resort scenario.

  • Another option would be to write an app using the TFS SDK and import the WITs to all projects.

Current Configuration TFS 2010 and VS 2012 (We are soon upgrading to TFS 2012)

1
Just curious but why so many team projects and multiple collections?Mike Cheel
@MikeCheel Mainly for simplified permissions and organization. We currently have several products, as well as custom projects. Products and Projects have their own collection. Each Product has a project within the Product collection and each Client has a project within the Project collection.Adam Scharp
Must be a consulting firm.Mike Cheel

1 Answers

3
votes

Fortunately Grant Holliday did an excellent post on that topic.

A quick method is automating your WIT export\import with batch files (ExportWITDs.cmd, ImportWITDs.cmd). Then use the Checkin.cmd example to check-in the changes to a dedicated folder for WITs on the source control.

If your'e looking for a tidier, more robust solution, go for the TFS-SDK. A Visual Studio extension that adds an Export\Import\Sync All WITs buttons would be great.