2012-04-14 47 views
6

這些工作項目(和鏈接的變更集)往往容易出錯。 因此,適合團隊代碼審查的人選,應該多加關注。如何查詢變量集太多的工作項目

我檢查了Work Item Query Language and Client Object ModelWIQL syntax for Link Query,但仍然無法有效地獲得這些工作項(包含更改集的數量)。

有沒有什麼辦法可以像這樣查詢(應該是WIQL,SQL語法僅用於演示)?

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING Changesets > 5 

或者是否有一種使用API​​的有效方法,即不需要讀取每個工作項以獲取計數?

或者只能通過直接在數據庫上執行SQL查詢來實現(like this)?

或者我們是否可以將類似CurrentRelatedLinkCount/ExternalLinkCount/HyperLinkCount/RelatedLinkCount的默認值(來自VS IDE或API)作爲查詢字段?

回答

0

沒有您的表格模式就很困難。但我想你試圖做到這一點:

SELECT [Source].[System.Id], COUNT(1) AS Changesets FROM WorkItemLinks 
WHERE [Source].[System.WorkItemType] = 'Bug' 
    AND [System.Links.LinkType] = 'Changeset' 
GROUP BY [Source].[System.Id] 
HAVING COUNT(1) > 5 

對嗎?

+0

更好的SQL查詢。但是,COUNT不受WIQL支持。 – 2012-04-15 10:10:24

0

報告將執行此操作 - Report Builder支持SQL。

0

如果您安裝了SQL Server Analysis Services,則可以查詢關係。這裏是如何做到這一點在Excel中:

  1. 連接到您的Tfs_Analysis立方體在Excel(數據 - >其他來源 - >分析服務)
  2. 選擇工作項變更集場,
  3. 外觀爲版本控制變更集的尺寸,並選擇變更集ID
  4. 查找工作項維度,選擇ID

這將允許您查詢工作項目和變更之間的關係。如果您將一個顯示爲一個行字段,將另一個顯示爲一個列字段,然後獲取每行的小計,則這會爲您提供每個工作項的變更集計數(以及每個變更集的工作項計數)。

但是,請注意,在TFS中的一個非常大的項目上運行此查詢可能過於昂貴,因此您應該爲小範圍的變更集和小範圍的工作項目執行此操作。爲此,請注意,要過濾變更集的日期,您需要使用日期維度,而要過濾工作項的日期,則需要使用其中一個工作項字段(創建日期,更改日期等)。

您可以修改OLAP多維數據集,以通過從倉庫更改其ETL過程將這些信息放入事實表中,在這種情況下,您只能查詢變更集數。

3

您可以將ExternalLinkCount用於Changeset鏈接。 enter image description here