2015-02-10 74 views
1

我想編寫一個查詢,在那裏我可以執行檢索backlog項目,如下圖所示。TFS API C#查詢語法

WorkItemCollection queryResults = workItemStore.Query(
    "Select [State], [ID], [Title], [Description] " + 
    "From WorkItems " + 
    "Where [Work Item Type] IN ('Task', 'Bug', 'Product Backlog Item')" + 
    "AND [Iteration Path] Under 'ProjectName'" + 
    "AND [Area Path] Under 'ProjectName'" + 
    "And State IN ('New', 'Approved', 'Committed')"); 

但是,我沒有收到任何數據。不知道如何正確構建查詢。

enter image description here

回答

0

得到您的查詢擺脫@project的。在使用API​​時我不會自動替換。

您在AND之前也沒有空間。

您的查詢與圖像不符!您可以在團隊資源管理器中構建您想要的查詢,然後在桌面上「另存爲」。在記事本中打開並複製查詢。

1

我結束了使用此查詢,以避免兩次擊中TFS。然後,我根據WorkItem中公開的WorkItemLinks跟蹤子項,該WorkItem從執行下面的wql中獲得。一旦完成,我重新排列了父母在孩子面前提供(樹視圖)樣式的條目。

string query = string.Format(@" 
    SELECT 
    [System.Title], 
    [System.Description], 
    [System.WorkItemType], 
    [System.Id] 
    FROM WorkItem 
    WHERE 
    ([System.WorkItemType] IN GROUP 'Microsoft.RequirementCategory' OR [System.WorkItemType] IN GROUP 'Microsoft.BugCategory' OR [System.WorkItemType] IN GROUP 'Microsoft.TaskCategory') 
    AND [System.IterationPath] UNDER '{0}' 
    AND [System.State] IN ('New', 'To Do') 
    AND [System.AreaPath] UNDER '{0}' 
    ORDER BY 
    [Microsoft.VSTS.Common.Priority], 
    [System.Id]", teamProjectName);