【问题标题】:How to link TFS 2015 Changeset to Code Review in a SQL SELECT如何在 SQL SELECT 中将 TFS 2015 变更集链接到代码审查
【发布时间】:2016-08-15 21:13:19
【问题描述】:

使用 Tfs_Warehouse.dbo.DimWorkItem(使用 System_WorkItemType = 'Code Review Request')和 Tfs_Warehouse.dbo.DimChangeset 表,或 .CodeReview.tbl* 和 .dbo.tbl_ChangeSet 表,或这些表的某种组合,什么我是否需要在 SQL SELECT 语句中加入以将变更集与该变更集的代码审查相关联(假设存在)?

我已经为 TFS 2012 解决了这个问题,但由于数据模型的差异,该查询在 2015 年不再有效。

【问题讨论】:

    标签: sql sql-server tfs-2015 changeset tfs-code-review


    【解决方案1】:

    我们不推荐直接查询数据库。相反,我们建议您使用 TFS REST API 来查询信息。

    我们知道,Microsoft.VSTS.CodeReview.Context 字段记录了变更集编号,因此您可以通过字段Microsoft.VSTS.CodeReview.Context 获取代码审查请求列表。请求如下所示:

    Get http(s)://{instance}/DefaultCollection/_apis/wit/workitems?ids=xx,xx&fields=Microsoft.VSTS.CodeReview.Context&api-version=1.0
    

    顺便说一句,您可以通过运行以下查询来获得 IDs Code Review Request:

    POST http(s)://{instance}/DefaultCollection/_apis/wit/wiql?api-version=1.0
    Content-Type: application/json
    {
      "query": "Select [System.Id], [System.Title] From WorkItems Where [System.WorkItemType] = 'Code Review Request'"
    }
    

    【讨论】:

    • 我正在尝试构建一个 SQL 查询来查找所有没有代码审查的变更集(以及签入变更集的人员的姓名和变更集中的文件)。我不应该在 2015 年构建一个 Web 应用程序来替换 2012 年的单个 SQL 语句。我为 2012 年编写了一个存储过程,它每天向部门发送一封电子邮件,列出超过几个小时前的任何此类变更集(不包括任何文件是后来变更集的一部分)。我想在 2015 年做同样的事情。
    • 我了解您的要求,但不建议直接操作数据库。我们强烈建议您使用 TFS API 来获取信息。
    • 每个变更集调用一次,这听起来非常荒谬,更不用说 DBA 尝试管理 SQL Server 模式和 TSQL 代码的不切实际的开发工作了。
    猜你喜欢
    • 1970-01-01
    • 2017-05-25
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 2012-12-15
    • 1970-01-01
    • 2021-04-18
    • 2020-11-30
    相关资源
    最近更新 更多