Team Foundation Server Build Notification Screen
I have been working on an application that will allow people to quickly look at a screen and determine the current status of the builds running in Team Foundation Server 2008. This is an idea based off of having a lamp attached to your continuous build process so that everyone knows the current build status by looking at the current color of the lamp. Besides using luminous devices, people have been using a rabbit called Nabaztag. Basically the purpose of this device is to translate text into a spoken voice that everyone can hear. Brian the Build Bunny is an example of using the Nabaztag API along with Team Foundation Sever to announce its events.
Lamps work well but there is an issue when there are multiple builds running at one time and you want to view each build's individual status. The application I created builds on top of these ideas and allows people to quickly see the status of multiple builds simultaneously. It can also be hooked up to your Nabaztag to announce build status changes. Here is a sample screen shot of what it looks like.
How it works..... When a build gets queued up, the build is then displayed in the list with its current status and information about the build. As the build moves from state to state the status will be updated in the list and if you have a Nabaztag bunny the transition will be announced. When the build completes it will turn green, if it fails it will turn red. Since a given build definition can only be running 1 of its builds at a time, it will never be listed more than once in the list. If a completed build is not rebuilt within 1 day of its previous successfully build it is removed from the list. However, if a build fails it stays in the list until it completes successfully. Also keep in mind this application runs as the currently logged in user and that user will need permission to access Team Foundation Server. If you need this application to connect to Team Foundation Server as a different user, set the TFSUserName and TFSPassword respectfully in the TFS Build Status Screen.exe.config file.
So what is needed to run this application? Really all you need is a computer running .Net 3.5, Visual Studio Team System 2008 Team Explorer, and 1 or more large LCD screens mounted so that they are visible to everyone. It also works best if the screen is rotated long ways so that it has more room to display all items in the list. If you do not have team explorer installed on the machine, you will get an error that says "Common Language Runtime detected an invalid program".
While you install the application you will configure it to point to your Team Foundation Server project where the build definitions are located. If you have a Nabaztag bunny, all you have to do is enter your serial number and token id into the TFS Build Status Screen.exe.config file and you should start getting announcements. Here are the settings in the TFS Build Status Screen.exe.config file that is located in the application installed directory and should be modified as needed.
<configuration>
<appSettings>
<add key="TeamProject" value="" />
<add key="TFSServerName" value="" />
<add key="TFSServerPort" value="" />
<add key="TFSUserName" value="" />
<add key="TFSPassword" value="" />
<add key="NabaztagSN" value="" />
<add key="NabaztagToken" value="" />
</appSettings>
</configuration>
Once you have the application configured, fire it up and you should start seeing your build status updates. To run the application in full screen mode press alt-enter.
If you are having issues running this, fell free to contact me I will try to help you out and make any fixes needed. If I get enough interest maybe I'll create a site just for this and some other tools that I'm thinking about creating.
Also I'm thinking about converting this to a vista gadget that can run on a user's desktop or something that runs on the taskbar so that individual users can see the status on their individual machines. Currently, we use the build notification application that is part of the Team Foundation Server Power Tools, which is not always perfect.
Finally, I would like to thank Martin Woodward for supplying the status images that I used in this application which came from his TFS Build Wallboard Example.
Version 1.1.0 Updates - 9/27/08
Main Application Changes
- Display estimated build time left
- Display build agent name
- Configure how many days a completed build stays in the list
Nabaztag Changes
- Configure the Nabaztag bunny voice
- Configure a failure sound to be played by the Nabaztag bunny when a build fails
Version 1.2.0 Updates - 1/26/09
- Reports across multiple team projects
Download TFS Build Status Screen Setup Files
Version 1.2.1 Beta Updates - 5/29/09
- Ability to select which builds to subscribe to
- Ability to adjust the scale size
Download TFS Build Status Screen Beta Setup Files
If you like this application, please donate using the link below. Donations are greatly appreciated when making a feature request.
Similar Posts
- Team Foundation Server Build Notification Tray
- Configure App.config Application Settings During MSI Install
- Corrupt Cab Files In My Virtual PC Environment

Comments
BradO on on 10.10.2008 at 10:18 AM
Sweet tool...nice clean appearance...is it anything you might share the source code for?
I did use Martin Woodwards great example as well and I am looking to display last completed and currently queued builds of each build definition but I really like your stacked display
Thanks again for the nice tool
Micah on on 10.13.2008 at 1:26 PM
can we have the source ?
Rob Aquila on on 10.13.2008 at 4:02 PM
I currently don't have any plans to post the source, this could change in the future though. I do however hope to write a post going through the design and explaining how I implemented it. Also in the post above, I have given out the majority of the important links that I gathered when researching how to write this. This should be more than enough information if someone wants to see how to hook into the TFS build process.
Mario Tristain on on 10.14.2008 at 5:17 PM
This is a very nice tool. Is there a way to set it up to display builds for multiple projects in the same TFS server? The code for the feature we are working on is split up in multiple projects in TFS and we would like to display the last build for each project. Thanks! Mario
Rob Aquila on on 10.14.2008 at 10:34 PM
The next version that I am currently working on actually is able to display across multiple projects already. Contact me if you would like to try it out.