BJ Safdie

I am trying to subscribe to the CheckinEvent so that when developers check files in to particular folders, I will get an email notification.

As a baseline, I subscribed to all check in events:

BisSubscribe.exe /eventType CheckinEvent /deliveryType EmailHtml /domain MyTeamServer 
/userid MyDomain\MyUsername /address myEmail@MyDomain.com

It worked nicely. I got an email for every check in.

Next, based on the event filter doc at http://msdn2.microsoft.com/en-gb/library/bb130302(VS.80).aspx, I added a filter using the "Files UNDER" clause:

BisSubscribe.exe /eventType CheckinEvent /deliveryType EmailHtml /domain MyTeamServer 
/userid MyDomain\MyUsername /address myEmail@MyDomain.com
/filter "Files UNDER '\MyBranch\src\StoredProcedures'"

This did not work -- I got no email notification when I checked out, modified, and then checked in a file in that folder.

The doc is skimpy. Has anyone else used this filter expression successfully Have I got the syntax wrong



Re: Team Foundation Server - General BisSubscribe Filter

MadhukarChaubey

You can write the filter criteria as follows:

bissubscribe /eventType CheckinEvent /address YourEmailAddress /deliveryType EmailHtml /server TFSServer /filter "'Artifacts/Artifact[starts-with(@Folder, \"FolferPath\")]' <> null"






Re: Team Foundation Server - General BisSubscribe Filter

BJ Safdie

Thanks, Madhukar. That alternative syntax works.

One note for people with the same question: The FolderPath in the syntax Madhukar posted should be in the SCM folder path format: $/MyRootFolder/MySubfolder...

From this solution, I gather then that filters are XPath expressions (not VSEFL) applied to the XML event message generated for an event. Thus, to build a filter against a CheckinEvent, you build an XPath expression against the CheckInEvent.xsd schema, for a BuildCompletionEvent you use the BuildCompletionEvent.xsd schema, and so on. Correct

I take it that the documentation on Filtering Team Foundation Server Events (link in my original post) is not valid not relevant to BisSubscribe What is VSEFL for, then

Thanks,

BJ Safdie