Fix after upgrading to TFS 2013 Update 4 (2013.4)

Jul 1, 2015 at 8:45 PM
After I upgraded to TFS 2013.4 I was able to see "Detecting event" logged but then the log ended and there was no error or "Handling event" with my data. I went ahead and tried TfsEventWorkflows-2013-2-0.11.42184.0 which was just uploaded two days ago but got the same so I downloaded the source and found in the TFSEventWorkflowsServerPlugin project, file WorkflowRunner.cs, method public EventNotificationStatus ProcessEvent that my tfsEvents in the List did not have a EventType.

I made a simple change to get it working for my situation. Instead of finding out why EventType was not correct for the comparison to notificationEventArgs.GetType() I just compared the String versions.

I changed:
    var TfsEventsMatching = TfsEvents.Where((TFSEvent tfsEvent) =>
      {
        return
          (!tfsEvent.Disabled && notificationEventArgs.GetType() == tfsEvent.EventType) &&
          (string.IsNullOrEmpty(tfsEvent.Collection) || tfsEvent.Collection == strCollection) &&
          (string.IsNullOrEmpty(tfsEvent.Project) || string.IsNullOrEmpty(strProject) || tfsEvent.Project == strProject);
      });
To:
    var TfsEventsMatching = TfsEvents.Where((TFSEvent tfsEvent) =>
      {
        return
          (!tfsEvent.Disabled && notificationEventArgs.GetType().ToString() == tfsEvent.FullTypeName) &&
          (string.IsNullOrEmpty(tfsEvent.Collection) || tfsEvent.Collection == strCollection) &&
          (string.IsNullOrEmpty(tfsEvent.Project) || string.IsNullOrEmpty(strProject) || tfsEvent.Project == strProject);
      });
Coordinator
Jul 24, 2015 at 6:43 AM
Thanks for the post. Can you provide the following to me
a) the former TFS Version/update (you've done an upgrade TO TFS 2013.4, but FROM TFS 201x.y)
b) the exact type of your event (exerpt of the line in your .config is fine)

With TFS 2013.2 Microsoft has changed the packaging of some event types (moved them to another assembly w/o providing redirection information). So we are interested in the type affected.