2013-07-08 2 views
0

헬프 데스크 부서에서 TFS로, 그리고 그 반대로 데이터 (티켓)를 동기화해야하는 프로젝트를 진행 중입니다. 윈도우 서비스를 사용하는 TFS에 항목을 추가 할 수 있으며 정상적으로 실행 중입니다. 하지만 작업 항목의 상태가 TFS에서 변경 될 때마다 헬프 데스크 시스템에서 동일하게 업데이트하려고합니다. 그래서 나는 TFS 작업 항목 상태 변화를들을 수있는 일종의 이벤트 리스너가 필요합니다. TFS2010 API를 사용하고 있으며 ISubscriber도 살펴 보았습니다. 하지만 플러그인을 개발하여 TFS 설치의 플러그인 폴더 어디에 든 넣어야하는 것처럼 보입니다. 저는 웹 서비스를 직접 사용하지 않고 그렇게하는 것을 원하지 않습니다.CFS 윈도우 서비스를 사용하여 TFS 작업 항목 상태 변경 듣기

이벤트에 가입하려면 다음 방법을 사용했습니다.

public static int RegisterWithTFS(TfsTeamProjectCollection server, string eventType, string filter, int port, string receiveMethod) 
{ 
string serviceEndPointURL = String.Format("http://{0}:{1}/{2}", Environment.MachineName, port, receiveMethod); 
var preferences = new DeliveryPreference { Schedule = DeliverySchedule.Immediate, Type = DeliveryType.Soap, Address = serviceEndPointURL }; 

IEventService eventService = (IEventService)server.GetService(typeof(IEventService)); 
string username = @"mytfsuser"; 
return eventService.SubscribeEvent(username, eventType, filter, preferences); 

}

나는 내 윈도우 서비스 (C#을) 가능한 한 빨리 TFS의 작업 항목 상태 변화를 유발하는 메커니즘을 알고 싶어요. 그래서 헬프 데스크 시스템으로 다시 업데이트 할 수 있습니다. 그래서 아무도이 문제에 대한 나를 도울 수 있습니까? 미리 감사드립니다.

답변

0

마지막으로, 용액 발견 I는 (대신 윈도우 서비스)를하여 TFS 서버 플러그인 개발

및 TFS WorkItemChanged 구독 행사. 그것은 ISubscriber 인터페이스를 상속하고 ProcessEvent 메서드를 재정의합니다. 이 플러그인을 TFS 설치의 플러그인 폴더에 TFS 서버에 배포해야합니다. 이 방법은 매우 잘 작동합니다!

관련 문제