September 21st, 2007

Preview of the build notification tray applet power tool for TFS 2008

Buck Hodges
Director of Engineering

[UPDATE 12/21/07]  The build notification tool has now become part of the TFS Power Tools for TFS 2008!  It has new features and quite a few fixes (not to mention that it’s a signed binary), so I’ve removed the attachment from this post.

We would have loved to have included in TFS 2008 a build notification tray applet along the lines of CCTray for CruiseControl.  However, we didn’t have the time in the schedule to do it.  As a result, we’re going to be releasing one as a power tool.

You may remember seeing the spec for this on Jim Lamb’s blog.  Swaha Miller, a developer on Team Build, implemented this tool, and I’ve attached the binary to this post to provide a preview and get your feedback.  Disclaimer: Please note that this is not official software, has bugs, may burn up your computer, etc.  In other words, you accept full responsibility for it if you choose to run it.

When you run it, you’ll see a balloon tip in your system tray (I have my taskbar docked to the right-hand side of my screen).  The applet automatically configures itself to run when you log into your computer.  Don’t worry, though.  You get the option of removing that if you shut down the applet.

Start up balloon

When you click on the balloon, you’ll be able to select which build definitions you would like to monitor.  The list of servers is retrieved from the registry location that Team Explorer stores them.  If you’ve never used Team Explorer before, there won’t be any servers listed.

Here I’m going to monitor the HelloworldTest builds in the VSTS V2 Plans team project.  You can monitor as many builds as you like and on multiple servers, but I’m just monitoring one build.  I’ve chosen to be notified when a build is started and finished, regardless of who kicked it off.  Note that you can filter the build definitions if you have a lot to deal with.

Configure Build Notifications

It turns out that the last time this build executed, it was successful.  You’ll notice the tray applet’s icon has a green circle with a check mark in it.

Last build was good

Let’s kick off a new build and see what happens.  Here’s the notification that the build is starting.  The Stop Build link on the “toast” window allows you to stop the build, if you don’t want it.  For those of you paying really close attention, you’ll notice that this is the .3 build.  I missed capturing a screen shot earlier.

Build started notification

Meanwhile, the tray applet’s icon changes to show a green triangle “playing” icon, indicating a build is in progress.

Build is in progress

When the build completes, you can see that I’ve broken the build.  By clicking on the popup window, you can view the build details in a web browser.  If you click the little triangle in the upper right corner, you’ll get a menu with other options.  In this case, it turns out that the drop location that I specified didn’t exist.

Build failed notification

Now the applet’s icon shows a red circle with an ‘X’ in it, indicating that the last build is broken.

Last build was broken

If you want to learn more about this build, you can double click on the tray applet’s icon to pop up the following window.  If you right click on the build, you’ll get options to view the details in a web browser, delete it, etc.

Current Build Status

I fixed the drop share problem and ran the build again.

Build partially succeeded notification

As you can see, the build was only partially successful.  What went wrong?  Well, it’s something many of you have experienced.  The compilation succeeded, but the test failed because Visual Studio Team System for Testers isn’t installed on the build machine!  We have plans to make installing the unit test framework on your build server much easier in the release after TFS 2008.

We hope you enjoy using this build notification tray app.  Please let us know what you like and dislike and what features you would like to see in the next version by posting your comments here.

Enjoy!

Author

Buck Hodges
Director of Engineering

Director of Engineering, Azure DevOps

0 comments