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.
<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="" />
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.
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
- 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
Version 1.2.1 Beta Updates - 5/29/09
- Ability to select which builds to subscribe to
- Ability to adjust the scale size
If you like this application, please donate using the link below. Donations are greatly appreciated when making a feature request.