FAQ on VSTS subscriptions and common problems

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 https://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: https://msdn2.microsoft.com/en-us/library/ms181334.aspx

With UI Screenshots: https://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: https://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 https://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: https://www.sohoni.info/documents/

How to create custom subscription expressions?

For work item tracking, version control and builds: Checkout powertool to do it at https://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. https://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: https://blogs.msdn.com/psheill/archive/2005/11/28/497662.aspx

- Email issue? Testing SMTP pipes: https://blogs.msdn.com/psheill/archive/2005/11/22/495863.aspx . Check SMTP configuration in msdn help https://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

https://staff.southworks.net/blogs/mariano/archive/2006/04/14/411.aspx

https://blogs.vertigosoftware.com/teamsystem/archive/2006/07/13/Automatic_email_notifications_when_a_work_item_is_assigned.aspx

You have a client box and cannot run webservice? Here is cool idea to use a TCP listener bound to a port instead: https://blogs.msdn.com/mrod/archive/2006/09/18/761174.aspx

Few links on subscription:

Pete developed eventing subsystem and has many posts on it: https://blogs.msdn.com/psheill

Documentation: https://www.sohoni.info/documents/

Can from address be customized? https://blogs.msdn.com/buckh/archive/2006/04/10/event_filtering.aspx