如何从 TFS 数据库中查询标签?

Cyn*_*ker 3 tfs

我正在为我们的 QA 团队编写一些自定义 SSRS 报告,我需要将测试用例“标签”添加到我的查询中。据我了解,这些不在 TFS_Warehouse 中。我在操作存储中找到了 dbo.tbl_TagDefinition,但无法弄清楚如何将其加入工作项。

Cec*_*SFT 5

如果您的 TFS 包含随 TFS 2013 Update 2 或更高版本添加的更新,您可以直接向工作项查询添加标签。

如果要从数据库查询,请检查这种情况

TFS 2013 及更高版本:

SELECT DISTINCT workItem.ID, tbl_TagDefinition.Name
    --,tbl_PropertyValue.ArtifactId, *
FROM tbl_TagDefinition
    LEFT JOIN tbl_PropertyDefinition ON tbl_PropertyDefinition.Name = 'Microsoft.TeamFoundation.Tagging.TagDefinition.' + CONVERT(NVARCHAR(400), tbl_TagDefinition.TagId)
    LEFT JOIN tbl_PropertyValue ON tbl_PropertyValue.PropertyId = tbl_PropertyDefinition.PropertyId
    --LEFT JOIN WorkItemLongTexts ON WorkItemLongTexts.ID = tbl_PropertyValue.ArtifactId
    left join tbl_WorkItemCoreLatest workItem on WorkItemsAre.ID = tbl_PropertyValue.ArtifactId
WHERE 
    (
       SELECT SUM(CASE WHEN IntValue = 0 THEN 1 ELSE -1 END) NB 
       FROM tbl_PropertyValue PROP_CNT 
       WHERE PROP_CNT.PropertyId = tbl_PropertyDefinition.PropertyId 
          AND workItem.ID = PROP_CNT.ArtifactId
    ) > 0
Run Code Online (Sandbox Code Playgroud)

在 TFS 2013 之前:

SELECT DISTINCT WorkItemsAre.ID, WorkItemsAre.Title, tbl_TagDefinition.Name
    --,tbl_PropertyValue.ArtifactId, *
FROM tbl_TagDefinition
    LEFT JOIN tbl_PropertyDefinition ON tbl_PropertyDefinition.Name = 'Microsoft.TeamFoundation.Tagging.TagDefinition.' + CONVERT(NVARCHAR(400), tbl_TagDefinition.TagId)
    LEFT JOIN tbl_PropertyValue ON tbl_PropertyValue.PropertyId = tbl_PropertyDefinition.PropertyId
    --LEFT JOIN WorkItemLongTexts ON WorkItemLongTexts.ID = tbl_PropertyValue.ArtifactId
    left join WorkItemsAre on WorkItemsAre.ID = tbl_PropertyValue.ArtifactId
WHERE 
    (
       SELECT SUM(CASE WHEN IntValue = 0 THEN 1 ELSE -1 END) NB 
       FROM tbl_PropertyValue PROP_CNT 
       WHERE PROP_CNT.PropertyId = tbl_PropertyDefinition.PropertyId 
          AND WorkItemsAre.ID = PROP_CNT.ArtifactId
    ) > 0
Run Code Online (Sandbox Code Playgroud)

  • 这是微软官方推荐的吗?我一直被告知,针对运营商店编写查询是**不受支持**的,不应该这样做。 (4认同)