I was collecting links & pointers to answer common questions in forums related to TFS eventing and thought of posting them as FAQ. I hope to update this post as I find new interesting information for common questions.
What is TFS evening and how it works?
Eventing is a notification mechanism when items change in team foundation server. The notification could be email or a soap call, and the filter criteria could be set in an expression. VSSDK has detailed document on its design and how it works. To view it: Download vssdk from http://msdn.microsoft.com/vstudio/extend/. In the SDK, look at “Team Foundation Eventing Service.doc” document under “VisualStudioTeamSystemIntegration\Team Foundation Core Services” folder.
How to set alerts in UI?
MSDN reference: http://msdn2.microsoft.com/en-us/library/ms181334.aspx
With UI Screenshots: http://blogs.vertigosoftware.com/teamsystem/archive/2006/01/27/Team_System_Email_Notifications.aspx
How to create custom subscriptions?
If alerts given in UI is not enough, custom subscriptions can be created. It can be done using
1) Using Powertools Integrated in TE: http://blogs.msdn.com/bharry/archive/2008/07/08/july-08-tfs-power-tool-preview.aspx has details & screenshots
2) BisSubscribe.exe tool: This can be obtained from VSSDK under "VisualStudioTeamSystemIntegration\Utilities\Event Subscription Tool" folder, or in team foundation server installed location "<Program Files>\Microsoft Visual Studio 2005 Team Foundation Server\TF Setup"
3) Using APIs: See end of article at http://staff.southworks.net/blogs/mariano/archive/2006/04/14/411.aspx for using IEventService.
For step-by-step instructions and documentation, Subodh Sohoni has nice documentation at: http://www.sohoni.info/documents/
How to create custom subscription expressions?
For work item tracking, version control and builds: Checkout powertool to do it at http://blogs.msdn.com/bharry/archive/2008/07/08/july-08-tfs-power-tool-preview.aspx
I subscribed, but do not get emails:
- Check if event names have right case. http://blogs.msdn.com/psheill/archive/2006/03/16/552941.aspx . Use this tool to create subscription to avoid such errors. If event name is misspelt, there will be an error in BisSubscribe, though the error is not intuitive.
- If you are filtering by project, check the fieldname for project. It is PortfolioProject for WorkItemChangedEvent and TeamProject for other event types.
- Check email address validity. Check if outlook rules are placing mails in wrong place (I made this mistake once and wasted time trying to troubleshoot)
- Turning on tracing and troubleshooting: http://blogs.msdn.com/psheill/archive/2005/11/28/497662.aspx
- Email issue? Testing SMTP pipes: http://blogs.msdn.com/psheill/archive/2005/11/22/495863.aspx . Check SMTP configuration in msdn help http://msdn2.microsoft.com/en-US/library/ms400808.aspx
Getting notifications to a webservice:
Few posts that walk through how to do it and solutions for common needs
You have a client box and cannot run webservice? Here is cool idea to use a TCP listener bound to a port instead: http://blogs.msdn.com/mrod/archive/2006/09/18/761174.aspx
Few links on subscription:
Pete developed eventing subsystem and has many posts on it: http://blogs.msdn.com/psheill
Can from address be customized? http://blogs.msdn.com/buckh/archive/2006/04/10/event_filtering.aspx