【问题标题】:How to find all Code Reviews across Projects and Collections in TFS?如何在 TFS 中跨项目和集合查找所有代码审查?
【发布时间】:2016-01-27 22:54:42
【问题描述】:

我们有 4 个团队项目集合,每个集合有十几个团队项目。我们已经开始使用集成的代码审查系统,并要求对这些集合和项目进行审查。

有没有一种简单的方法可以找到您参与的所有代码审查, 个集合或至少 个集合中的项目? 我更喜欢在 Visual Studio 内的团队资源管理器中执行此操作,但也可以访问 Web 门户。如果我不能在集合中搜索,我已经很高兴了。

我仔细查看了团队资源管理器的“我的工作”部分,还关闭了sln 以尝试将资源管理器的上下文强制到整个集合。没有骰子:“我的工作”标题仍然在下拉列表中显示实际项目。

我尝试创建自定义“查询”,但不知道如何继续。生成的查询有一个要过滤 Team Project = @Project 的子句,但我删除了它,基本上只剩下这个查询:

Work Item Type = Code Review Request

出于测试目的,我省略了State <> Closed,我会为工作项类型Code Review Response 创建一个单独的查询(我认为),但在我去那里之前:上面的查询似乎只给出了评论当前选择的团队项目。此外,在保存它时,我会看到一个对话框,希望我将查询 inside 保存在特定项目中,进一步表明它仍然是特定于项目的。

我正在使用 TFS 2013,但我们倾向于在它有用的时候进行升级,所以如果新版本中有即将推出的功能可以解决这个问题,我会很高兴听到它们。

底线:如何在 TFS 服务器上获得所有代码审查的概览?

【问题讨论】:

    标签: visual-studio visual-studio-2013 tfs tfvc


    【解决方案1】:

    在 VS 2015 上,转到团队资源管理器主页 > 单击工作项 ... > 选择新查询 > 在字段列中选择“审阅者”并在值字段中添加相关 用户名并运行查询。您将看到您参与的所有代码审查。

    【讨论】:

      【解决方案2】:

      遗憾的是,我认为没有一种很好的方法可以满足您的要求。当然不在 Team Explorer 中。如您所知,代码审查被存储为工作项,并且团队项目之间存在很强的界限,其中工作项不能跨越。未来需要注意的是,根据您的业务运作方式,您可以考虑 1 个团队项目集合、1 个团队项目并按团队和区域分隔您的工作。 http://nakedalm.com/one-team-project/ 当然现在这对你没有帮助。

      我很确定您将无法使用 TFS 创建查询来返回您想要的项目(请注意,如果可以,您需要查询 Work Item Response分配给您Assigned To = @Me,而不是工作项请求。请求是提出代码审查请求的人,响应是审查者。

      您是否启用了 tfs 报告?如果是这样,正如 ds19 建议的那样,您可以直接查询 tfs_Warehouse 数据库。

      另一个解决方案可能是TFS API,但您需要 TFS 2015(顺便说一下,它包含了很多功能)(即使链接说它适用于 Visual Studio Online,它也适用于 On-Prem。 )

      我知道这并不能回答你的问题,但希望它能给你一些思考

      【讨论】:

      • 相反(与您的最后一句话相反),这很好地回答了我的问题。感谢您的洞察力,并证实了我的怀疑,即这不是轻松可能的。看起来我们的实际用例有太多集合/项目。
      • 不一定是坏事。问题是,通常假设团队项目 = 产品,但不一定如此!很高兴我能帮上忙
      【解决方案3】:

      可以查询Tfs_Warehouse数据库:

      SELECT count(*), dwi.[TeamProjectCollectionSK]
        FROM [Tfs_Warehouse].[dbo].[DimWorkItem] dwi  
        where dwi.System_WorkItemType = 'Code Review Request'
        group by dwi.[TeamProjectCollectionSK]
      

      【讨论】:

      • 如何“查询 Tfs_Warehouse”?我是使用 TFS 的开发人员,而不是 TFS 管理员。 Open Query 屏幕(来自 Team Explorer > My Work > Code Review)是用于创建查询的可视 GUI。
      • 他的意思是mssql数据库,Tfs_Warehouse,这是假设你开启了数据仓库
      【解决方案4】:

      您能否通过单击结果部分上的“列选项”并添加“团队项目”字段来仔细检查您的查询是否没有返回来自其他团队项目的任何代码审查? [并验证您是否有另一个团队项目的代码审查请求]。[如果筛选器在“列选项”窗口中为您的团队项目选择了团队项目选项,请不要担心]。
      您还可以通过为“团队项目”子句添加另一个值来测试这一点。

      【讨论】:

        猜你喜欢
        • 2017-05-25
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        • 2017-10-19
        • 2020-11-30
        • 2022-12-02
        • 1970-01-01
        • 2012-06-07
        相关资源
        最近更新 更多