Welcome to blogs.conchango.com Sign in | Join | Help

Welcome to blogs.conchango.com

Howard van Rooijen's Blog

Team Foundation Server Notification Web Services: Visual Studio 2005 Project Template

Team Foundation Server offers some extensibility through event notifications these can either be in the form of an email notification or a SOAP Endpoint. To register a notification subscription you have to use the BisSubscribe.exe tool (see http://blogs.msdn.com/psheill/archive/2006/02/01/522386.aspx for more information) - which allows you to register an email address (to which an email will be sent with the event details as long as you supply the appropriate email template to convert the serialized event) or a SOAP Endpoint which will be called when the event is raised.

Scrum for Team System uses event notification to calculate work remaining at the Product Backlog level (it aggregates all child Sprint Backlog Items’ Work Remaining field) – while developing this functionality I thought it would be good to develop a template that other people could utilize for their own modifications to Team Foundation Server. It wasn’t until I stumbled across the MSDN Magazine article “Create Reusable Project And Item Templates For Your Development Team” that I found a decent mechanism for packaging and distributing this project.

This version of "TFS Notification Web Services" supports the following events:

  • AclChangedEvent
  • Branchmovedevent
  • BuildCompletionEvent
  • BuildStatusChangeEvent
  • CommonStructureChangedEvent
  • DataChangedEvent
  • IdentityChangedEvent
  • IdentityCreatedEvent
  • IdentityDeletedEvent
  • MembershipChangedEvent
  • WorkItemChangedEvent

This Visual Studio 2005 Project Template will create a SOAP Endpoint for each of the above events. Each service has one method by default; called "Notify" this accepts two parameters - a serialized version of the event and a serialized version of the identity of the Team Foundation Server which raised the event. For ease of use I have generated types for the events and have added basic deserialization code to convert the raw XML to the type so you can perform analysis directly on them.

For example:

  public void Notify(string eventXml, string tfsIdentityXml)
  {
      AclChangedEvent aclChangedEvent = this.CreateInstance<AclChangedEvent>(eventXml);
      TFSIdentity tfsIdentity = this.CreateInstance<TFSIdentity>(tfsIdentityXml);
  }

To install the template, download the zip from my projectDistributor workspace, extract and copy the "TFS Notification Web Services.zip" file to the directory "X:\Documents and Settings\YOUR_USER_NAME\My Documents\Visual Studio 2005\Templates\ProjectTemplates" and then open Visual Studio 2005 and select File > New Web Site. From the "My Templates" section and then select "TFS Notification Web Services

Published 29 April 2006 21:54 by howard.vanrooijen

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

 

John Lawrence (MSFT) said:

A couple of people have contacted me in the past wanting more details on how to subscribe to the various...
May 7, 2006 17:51
 

John Lawrence (MSFT) said:

A couple of people have contacted me in the past wanting more details on how to subscribe to the various...
May 7, 2006 17:51
 

My VSTS Blog said:

I read an interesting post from John Lawrence this morning where he points us to&amp;nbsp;a VS2005 template...
May 7, 2006 23:04
 

TrackBack said:

May 8, 2006 08:41
 

TrackBack said:

May 8, 2006 08:41
 

Pete Sheill said:

Howard van Rooijen is doing interesting things with Team Foundation Server events, and sharing his work.&amp;nbsp;...
May 9, 2006 22:20
 

Howard van Rooijen's Blog said:

Roy Osherove has been blogging about Generics a few times1&amp;nbsp;2&amp;nbsp;3 this week - which reminded me...
May 21, 2006 19:41
 

Howard van Rooijen's Blog said:

Shortly after the release of v1.0 I spotted a post from Pete Sheill, who said I had missed a couple of...
June 25, 2006 21:32
 

SRLTeam said:

Team System has a built-in, extendable alerting mechanism. It is based on SQL Server 2005 Notification

November 20, 2006 16:52
 

Lorenzo Barbieri @ UGIblogs! said:

February 15, 2007 10:47
 

hinshelm said:

TFS Event Handler on CodePlex: http://www.codeplex.com/TFSEventHandler

May 1, 2007 10:08
 

Johan; thinking out loud. » TFS Listener for logview4net said:

May 11, 2007 11:13
 

Johan, babblar p??. » En TFS-lyssanre ??t logview4net said:

May 11, 2007 11:15
 

How can I listen to TFS Events (without building everything from scratch)? | Where Technology Meets Teamwork said:

November 12, 2007 23:07
 

PC152 said:

The link for TFS Notification Web Services this no good. Where I can download ? Thank you
December 21, 2007 13:59
 

Robert Blackwood said:

We need to migrate several TFS 2008 servers to several offshore locations that will support dev/qa activities, and came across a tool called Data Manager by Onepulse, Inc. The info on their site sounds like it will suit our requirements. Who has experience with this product?  See http://www.onepulse.com.

Thanks,

Sirg

March 23, 2009 22:41
 

David said:

I am trying to use this new product TFS Data Manger. It looks like it will solve my problem of backing up and recovering an entitiy.  Has anyone used it for project renaming or other functions?  Can some of you try it as well?

April 6, 2009 22:05

Leave a Comment

(required) 
(optional)
(required) 
Submit

This Blog

Syndication

Powered by Community Server (Personal Edition), by Telligent Systems