2013-10-10 22 views
6

Sto usando le librerie lato client TFS, ad esempio Microsoft.TeamFoundation. * Assembly ... Dato che ho un nome di iterazione, come posso recuperare tutti gli elementi di lavoro che appartengono ad esso?Come ottenere tutti gli elementi di lavoro in una iterazione?

ho provato il seguente utilizzando l'oggetto Query:

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); 

ma non riesco a capire come limitare i risultati per Iterazione nome. E preferirei piuttosto restituire questi valori usando gli assembly TFS, ma non riesco a trovare il metodo appropriato.

Così le mie domande ...

  1. Come restituire un elenco di tutti gli oggetti di lavoro in un'iterazione, utilizzando le Assemblee TFS unici (per esempio nessuna query).
  2. Se # 1 non è possibile, come si fa quanto sopra ma utilizzando un oggetto Query.
+0

È possibile creare una query VS/Accesso Web e salvarlo in un file ed esaminare il WIQL che viene utilizzato, quindi utilizzarlo nella propria app. – DaveShaw

+0

@DaveShaw Puoi espandere? Come faccio a salvare esattamente la query sul file? – AngryHacker

+0

File, Salva come ... Nello studio di visualizzazione – DaveShaw

risposta

7

Non ho un modo rapido di prove, ma secondo msdn, è possibile utilizzare l'operatore di confronto Under nella query. Tuttavia, non sono sicuro del campo che useresti in quella clausola in cui confrontarlo con il nome di iterazione. Forse qualcosa di simile:

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

Questa query restituisce un errore, affermando che l'errore è causato da [Elemento di lavoro] – AngryHacker

+0

Questo è ciò di cui non sono sicuro, quale dovrebbe essere il campo. Non riesco a trovare nulla nell'elenco dei campi disponibili per l'interrogazione. – vlad

+0

@AngryHacker in base al commento di DaveShaw, provare quanto segue: [System.AreaId] = 15 o [System.NodeName] = 'Iteration1' – vlad

Problemi correlati