2010-06-24 3 views
1

asp.net에서 프록시를 작성하고 java에서 호출했습니다. 당신의 지원에 감사드립니다. 이제 작업 항목 기록을 쿼리하여 모든 변경 이벤트를 가져오고 싶습니다. 예를 들어. Studio 2010의 기록란에 표시된대로 버그의 담당자를 변경하면 xyz 작업 항목이 이전 값에서 새 값으로 변경된 결과를 가져 오는 내역을 쿼리하고 싶습니다. 나는 다음과 같은 작업 항목을 조회하는 것을 시도했다 :개체 모델을 사용하여 WorkItem 기록을 쿼리하는 방법은 무엇입니까?

문자열 queryWorkItemByDate = "SELECT * 작업 항목 [System.TeamProject] = FROM '" + 프로젝트 이름 + "'와 [System.WorkItemType] = '버그'와 [시스템. ChangedDate]> = '6/22/2010 6:00:00 PM' ";

그러나이 쿼리는 작업 항목의 현재 상태에 기록을 제공하지 않습니다. 객체 모델을 사용하여 WorkItem History를 쿼리하려면 어떻게해야합니까?

감사합니다.

리디 샤

답변

1

당신은 변화를 알기 위해 임베디드 개정 컬렉션을보고 싶을 것이다.

TeamFoundationServer tfs = new TeamFoundationServer("http://tfs:8080"); 
    tfs.EnsureAuthenticated(); 

    WorkItemStore wis = tfs.GetService<WorkItemStore>(); 

    var results = wis.Query("select * from workitems where [System.WorkitemType] = 'Bug'"); 

    WorkItem wi = results[0]; 

    foreach (Revision r in wi.Revisions) 
    { 
     System.Diagnostics.Debug.WriteLine("Revisions:"); 

     for(int i = 0; i < r.Fields.Count; i++) 
     { 
      string revisionText = string.Format("Field {0} was '{1}' and is now '{2}'", 
               r.Fields[i].Name, 
               r.Fields[i].OriginalValue, 
               r.Fields[i].Value); 

      System.Diagnostics.Debug.WriteLine(revisionText); 
      } 

    } 
+0

안녕하세요, 고맙습니다. 이것은 모든 개정을 반복하는 단점이 있습니다. 내가 목표로하는 것은 특정 날짜 이후에 수정이 직접 이루어져야한다는 것입니다. 제 생각에는 WIQL은 쿼리 리비전을 지원하지 않습니다. 나는 또한 데이터베이스에서 보려고했습니다. 하지만 지금까지는 데이터를 유지하는 데있어 어디에서 (어떤 테이블에) 있는지 찾는 데 개미가 생기지 않았습니다. 이 문제에 대한 단서가 있다면 알려주십시오. 답장을 보내 주셔서 다시 한 번 감사드립니다. 감사합니다, Riddhi Shah – Riddhi

+0

어떤 데이터베이스를보고 계십니까? TFSWarehouse? – Robaticus

관련 문제