Changing the list of Builds in Work Item Tracking

This post is directly related to someone asking the following questions:


I’ve been working with Team Build and now have a whole bunch of test builds that I want to get rid of.

I have deleted the builds from the build server using TFSBuild.exe, but the build numbers still appear in our work items in the Build block of the Details tab.

We have also tried rebuilding the warehouse using SetupWarehouse.exe with the –o option.

Do we need to run SetupWarehouse.exe with the –rebuild option?

What data, if any, would be lost if we force a rebuild of the warehouse database?

Any help would be great.

Here is my response:

Work Item Tracking creates a global list for every team project that holds the “Builds” for that team project. The name is always “Builds – “ plus the team project name. When a build is completed Work Item Tracking updates this global list. If you want to change the global list yourself, you certainly can. Here are the steps:

1) Export the Bug work item type and all the global lists:

witexport.exe /f bug.xml /t jpricket-test /p jpricket-041807-4 /n Bug /exportgloballist

2)      Edit the file and find the Builds list

3)      Remove or add any LISTITEMs (be careful not to change anything but the Builds global list)

4)      Save the file.

5)      Import your changes:

witimport.exe /f bug.xml /t jpricket-test /p jpricket-041807-4

6)      Close and reopen Visual Studio to see the change.

Deleted builds are not removed from the list automatically, because you might have work items associated with that build number.

In this particular case the questions about the Warehouse were not relevant, because he wanted to change the list in Work Item Tracking, not change the existing information in the warehouse. Rebuilding the warehouse is a very costly activity for the Team Foundation server and will probably slow things down while it runs. I wouldn’t recommend doing that unless you find it absolutely necessary.