2013-10-10 20 views
6

Używam bibliotek po stronie klienta TFS, np. Microsoft.TeamFoundation. * Złożeń ... Biorąc pod uwagę, że mam nazwę iteracji, w jaki sposób mogę pobrać wszystkie elementy pracy, które do niej należą?Jak uzyskać wszystkie elementy pracy w iteracji?

Próbowałem następujących pomocą obiektu zapytania:

var uri = new Uri(ConfigurationManager.AppSettings["TfsUri"]); 
var tfs = TfsTeamProjectCollectionFactory.GetTeamProjectCollection(uri); 
var wiStore = tfs.GetService<WorkItemStore>(); 

var queryText = "select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] from WorkItems where [System.TeamProject] = 'VieroSAT' and [System.State] = 'Dev' order by [System.Id]"; 
var query = new Query(wiStore, queryText); 

ale nie mogę dowiedzieć się, jak ograniczyć wyniki według iteracji Name. I wolałbym raczej zwrócić te wartości za pomocą zespołów TFS, ale nie mogę znaleźć odpowiedniej metody.

więc moje pytania ...

  1. Jak zwraca listę wszystkich elementów roboczych w iteracji za pomocą TFS Zespoły tylko (na przykład żadnych zapytań).
  2. Jeśli nr 1 nie jest możliwy, w jaki sposób mogę wykonać powyższe czynności, ale za pomocą obiektu zapytania.
+0

Możesz zbudować zapytanie VS/Web Access i zapisać go w pliku, i zbadać używany serwer WIQL, a następnie użyć go w swojej aplikacji. – DaveShaw

+0

@DaveShaw Czy możesz rozwinąć? Jak dokładnie zapisać zapytanie do pliku? – AngryHacker

+0

Plik, Zapisz jako .... W visual studio – DaveShaw

Odpowiedz

7

nie mam szybki sposób testowania, ale według msdn, można użyć operatora Under porównania w zapytaniu. Jednak nie jestem pewien, jakiego pola używałbyś w tym klauzuli where do porównywania z nazwą iteracji. Być może coś takiego:

select [System.Id], [System.WorkItemType], [System.Title], [System.AssignedTo], [System.State] 
from WorkItems 
where 
    [System.TeamProject] = 'VieroSAT' 
    and [System.State] = 'Dev' 
    and [System.IterationPath] Under 'Iteration1' 
order by [System.Id] 
+0

Ta kwerenda zwraca błąd, stwierdzając, że błąd jest spowodowany przez [Pozycja pracy] – AngryHacker

+0

To, czego nie jestem pewien, co to powinno być pole. Nie mogę znaleźć niczego na liście pól dostępnych dla zapytania. – vlad

+0

@AngryHacker na podstawie komentarza DaveShawa, spróbuj wykonać następujące czynności: [System.AreaId] = 15 lub [System.NodeName] = 'Iteration1' – vlad

Powiązane problemy