TFS Event Handler for Team Foundation Server 2010

Topic(s)
Audience

Everyone

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:

  • A work item is assigned to you
  • A work item that is assigned to you is reassigned to someone else
  • A work item that you created is assigned to someone else.

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 Control Decision Notification
CheckinNotification Has this feature Has this feature
PendChangesNotification Has this feature Does not have this feature
UndoPendingChangesNotification Has this feature Has this feature
ShelvesetNotification Has this feature Has this feature
WorkspaceNotification Has this feature Has this feature
LabelNotification Does not have this feature Has this feature
CodeChurnCompletedNotification Does not have this feature Has this feature

Figure: Version Control events

Build Decision Notification
BuildCompletionNotificationEvent Does not have this feature Has this feature
BuildQualityChangedNotificationEvent Does not have this feature Has this feature

Figure: Work Item Tracking events

Work Item Tracking Decision  
WorkItemChangedEvent Does not have this feature Has this feature
WorkItemMetadataChangedNotification Does not have this feature Has this featureminimal
WorkItemsDestroyedNotification Does not have this feature Has this featureminimal

Figure: Team Build Events

Test Management Decision Notification
TestSuiteChangedNotification Does not have this feature Has this feature
TestRunChangedNotification Does not have this feature Has this feature
TestPlanChangedNotification Does not have this feature Has this feature
TestCaseResultChangedNotification Does not have this feature Has this feature
TestPointChangedNotification Does not have this feature Has this feature
TestRunCoverageUpdatedNotification Does not have this feature Has this feature
BuildCoverageUpdatedNotification Does not have this feature Has this feature
TestConfigurationChangedNotification Does not have this feature Has this feature

Figure: Test Manager Events

Framework Decision Notification
StructureChangedNotification Does not have this feature Has this feature
AuthorizationChangedNotification Does not have this feature Has this feature
IdentityChangedNotification Does not have this feature Has this feature
SecurityChangedNotification Has this feature Has this feature
SendEmailNotification Has this feature Does not have this feature
HostReadyEvent Does not have this feature Has 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: ,,

Create a conversation around this article

Share on Facebook
Share on Twitter
Share on Linkdin

Read more

Martin Hinshelwood
For a long time now I have been searching for that perfect domain that epitomised the vision, the why, of what I am trying to achieve with my customers and the industry at large. Now I have found it in http://nkdagility.com
Martin Hinshelwood
At the MVP Summit I was appalled by the number of people who asked questions about new features for supporting hierarchical tasks! I shared a disgusted look with Peter Provost and we had a quick (and I mean really quick) conversation that resulted in this post. it really comes down …
Martin Hinshelwood
In my journey of delivering an immersive Product Development Mentor Program over the last eight weeks, a compelling narrative unfolded that beautifully illustrates the essence and true strength of Scrum. This story, rooted in the practical application of Scrum through Minecraft, unveils the depth of adaptability and resilience that Scrum …
Martin Hinshelwood
The Boards in Azure DevOps are a powerful tool that your teams can leverage to enable transparent visualization of the current state of value delivery.  However, the inclusion of Blocked columns can stealthily erode the very foundations of efficiency these boards are meant to uphold. By obfuscating the state of …