Explains how to create and customise event handlers for Team Foundation Server 2010, covering supported events for version control, builds, work items, and test management.
I am looking at re-working the TFS Event Handler and I was hoping that you would help me decide what handlers to build!
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.
Version Control | Decision | Notification |
CheckinNotification | ![]() | ![]() |
PendChangesNotification | ![]() | ![]() |
UndoPendingChangesNotification | ![]() | ![]() |
ShelvesetNotification | ![]() | ![]() |
WorkspaceNotification | ![]() | ![]() |
LabelNotification | ![]() | ![]() |
CodeChurnCompletedNotification | ![]() | ![]() |
Figure: Version Control events
Build | Decision | Notification |
BuildCompletionNotificationEvent | ![]() | ![]() |
BuildQualityChangedNotificationEvent | ![]() | ![]() |
Figure: Work Item Tracking events
Work Item Tracking | Decision | |
WorkItemChangedEvent | ![]() | ![]() |
WorkItemMetadataChangedNotification | ![]() | ![]() |
WorkItemsDestroyedNotification | ![]() | ![]() |
Figure: Team Build Events
Test Management | Decision | Notification |
TestSuiteChangedNotification | ![]() | ![]() |
TestRunChangedNotification | ![]() | ![]() |
TestPlanChangedNotification | ![]() | ![]() |
TestCaseResultChangedNotification | ![]() | ![]() |
TestPointChangedNotification | ![]() | ![]() |
TestRunCoverageUpdatedNotification | ![]() | ![]() |
BuildCoverageUpdatedNotification | ![]() | ![]() |
TestConfigurationChangedNotification | ![]() | ![]() |
Figure: Test Manager Events
Framework | Decision | Notification |
StructureChangedNotification | ![]() | ![]() |
AuthorizationChangedNotification | ![]() | ![]() |
IdentityChangedNotification | ![]() | ![]() |
SecurityChangedNotification | ![]() | ![]() |
SendEmailNotification | ![]() | ![]() |
HostReadyEvent | ![]() | ![]() |
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?
Technorati Tags: TFS , TFS 2010 , TFS Custom
Each classification [Concepts, Categories, & Tags] was assigned using AI-powered semantic analysis and scored across relevance, depth, and alignment. Final decisions? Still human. Always traceable. Hover to see how it applies.
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.
We partner with businesses across diverse industries, including finance, insurance, healthcare, pharmaceuticals, technology, engineering, transportation, hospitality, entertainment, legal, government, and military sectors.
Slicedbread
Freadom
MacDonald Humfrey (Automation) Ltd.
SuperControl
Workday
Healthgrades
Kongsberg Maritime
Slaughter and May
CR2
Sage
Deliotte
Teleplan
Boeing
Milliman
Illumina
Ericson
Bistech
Cognizant Microsoft Business Group (MBG)
Nottingham County Council
Department of Work and Pensions (UK)
Royal Air Force
Washington Department of Transport
New Hampshire Supreme Court
Ghana Police Service
Healthgrades
Jack Links
Lockheed Martin
Sage
Workday
DFDS