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:
- 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.
| 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
Smart Classifications
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.
What to read next
Team Foundation Server 2010 Event Handling with Subscribers
Explains how to create and deploy server-side event subscribers in Team Foundation Server 2010 using the ISubscriber interface to handle and …
TFS Event Handler in .NET 3.5 Part 2 - Handling Team Foundation Server Events
Guide to implementing a resilient Team Foundation Server event handler in .NET 3.5 using WCF, including service contracts, endpoints, …
TFS Event Handler prototype Configuration Demystified
Explains how to configure the TFS Event Handler Prototype, covering service setup, team server options, event subscriptions, handlers, and …
New Event Handlers
Adds two event handlers for TFS: one emails users when assigned a work item, the other notifies users when work is reassigned. Includes …
Creating your own Event Handler
Learn how to create custom event handlers for Team Foundation Server by inheriting from AEventHandler, implementing IsValid and Run methods, …
Detecting agile theatre with real delivery signals
Why Most Companies Operating Models Fail in Dynamic Markets
A concise comparison of Predictive and Adaptive Operating Models, explaining why traditional structures fail in dynamic markets and how …
Don’t Manage Dependencies, Remove Them
Explains why dependencies are a sign of poor system design and outlines steps to eliminate them by aligning teams, clarifying ownership, and …
The Estimation Trap: How Tracking Accuracy Undermines Trust, Flow, and Value in Software Delivery
Tracking estimation accuracy in software delivery leads to mistrust, fear, and distorted behaviours. Focus on customer value, flow, and …
Flow of Value vs Flow of Work – Misnomer or Useful Shorthand?
Compares “flow of value” and “flow of work” in Kanban, explaining why only validated outcomes count as value and stressing the need for …
Why Outsourcing DevOps Fails, and How Real Engineering Excellence Starts With Your Team
Avoid DevOps vendor lock-in, discover how true engineering excellence starts with partnership, not outsourcing. Ready to transform your …