2014-06-30 13 views
6

Używam interfejsu API klienta TFS do wypróbowania zapytania o instancję TFS 2010. muszę być w stanie wykonać następujące czynnościJak uzyskać historię sprawdzeń/zestawów zmian dla konkretnego projektu zespołu?

  • dla określonego projektu zespołu, powiedzieć „Projekt A”
  • Pobierz listę historii ostatnich meldowaniu wykonanych do tego projektu (powiedzmy ostatnich 50 lub lista do ostatniego dnia)

wtedy w stanie wykonać iterację tej liście i trochę metadanych dla elementów (plików i nazw folderów idealnie)

Chyba trzeba użyć metod QueryXXX w klasie VersionControlServer, ale nie może mieć wartości fin d pomocne lub jasne przykłady, jak z tego korzystać.

Widziałem, że istnieje metoda GetLastestChangesetId, ale nie wygląda to na to, że można ją przypisać do konkretnego projektu lub katalogu.

+1

Spójrz na moją odpowiedź tutaj: http://stackoverflow.com/a/8494788/600559 –

Odpowiedz

13

To jest całkiem prosta:

var tfsUrl = "http://myTfsServer:8080/tfs/defaultcollection"; 
var sourceControlRootPath = "$/MyTeamProject"; 
var tfsConnection = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(new Uri(tfsUrl)); 
var vcs = tfsConnection.GetService<VersionControlServer>(); 

var changeSets = vcs.QueryHistory(sourceControlRootPath, RecursionType.Full); 

foreach (var c in changeSets) 
{ 
    var changeSet = vcs.GetChangeset(c.ChangesetId); 
    foreach (var change in changeSet.Changes) 
    { 
     // All sorts of juicy data in here 
    } 

} 
+0

To pytanie pomogło. dziękuję –

+0

soczyste dane nie obejmują powiązanych stanowisk :( – XtianGIS

+0

@XtianGIS powiązanych workitems na obiekcie changeSet – McFixit

Powiązane problemy