TFS Event Handler for Team Foundation Server 2010

Published
Written by Martin Hinshelwood
2 minute read

I am looking at re-working the TFS  Event Handler and I was hoping that you would help me decide what handlers to build!

[ Request an event handler  ]

The original Event Handler sends emails when:

The TFS Event Handler that I built for Team Foundation Server 2005 and Team Foundation Server 2008 used a service subscription to then handle events in a separate service host. This posed its own problems of writing the wrapper, API and host for the handlers. Well, now the Team Foundation Server team have stepped up and created their own.

The new TFS Event Handler will use these new Server Event Sinks to process the events more efficiently and quickly, but there is also the option to handle certain decision points on the server. This opens the window for Server Side check-in policies as well as a whole host of other options. These events should run more efficiently and benefit from the entire TFS Object Model that was extremely inefficient to load in the old Event Handlers.

There are lots of new integration points so I have listed all of the events here so you can get an idea what can be achieved.

[ Request an event handler  ]

Version ControlDecisionNotification
CheckinNotificationHas this featureHas this feature
PendChangesNotificationHas this featureDoes not have this feature
UndoPendingChangesNotificationHas this featureHas this feature
ShelvesetNotificationHas this featureHas this feature
WorkspaceNotificationHas this featureHas this feature
LabelNotificationDoes not have this featureHas this feature
CodeChurnCompletedNotificationDoes not have this featureHas this feature

Figure: Version Control events

BuildDecisionNotification
BuildCompletionNotificationEventDoes not have this featureHas this feature
BuildQualityChangedNotificationEventDoes not have this featureHas this feature

Figure: Work Item Tracking events

Work Item TrackingDecision 
WorkItemChangedEventDoes not have this featureHas this feature
WorkItemMetadataChangedNotificationDoes not have this featureHas this featureminimal
WorkItemsDestroyedNotificationDoes not have this featureHas this featureminimal

Figure: Team Build Events

Test ManagementDecisionNotification
TestSuiteChangedNotificationDoes not have this featureHas this feature
TestRunChangedNotificationDoes not have this featureHas this feature
TestPlanChangedNotificationDoes not have this featureHas this feature
TestCaseResultChangedNotificationDoes not have this featureHas this feature
TestPointChangedNotificationDoes not have this featureHas this feature
TestRunCoverageUpdatedNotificationDoes not have this featureHas this feature
BuildCoverageUpdatedNotificationDoes not have this featureHas this feature
TestConfigurationChangedNotificationDoes not have this featureHas this feature

Figure: Test Manager Events

FrameworkDecisionNotification
StructureChangedNotificationDoes not have this featureHas this feature
AuthorizationChangedNotificationDoes not have this featureHas this feature
IdentityChangedNotificationDoes not have this featureHas this feature
SecurityChangedNotificationHas this featureHas this feature
SendEmailNotificationHas this featureDoes not have this feature
HostReadyEventDoes not have this featureHas this feature

Figure: Framework Events

I will do a series of blog posts as I build the handlers so you can build your own, but I wanted to get the most common cases pre-built and ready to go. I know that emailing an assignment is a good one to start with, but what else do you see on the cards?

The Email handlers would not work so well in the Scrum environment, but what would?

[ Request an event handler  ]

Technorati Tags: TFS  , TFS 2010  , TFS Custom 

Connect with Martin Hinshelwood

If you've made it this far, it's worth connecting with our principal consultant and coach, Martin Hinshelwood, for a 30-minute 'ask me anything' call.

Our Happy Clients​

We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.​

CR2