4

我可以查询 TeamProject 中的所有构建,如下所示:

  var bServer = teamProjectCollection.GetService<IBuildServer>();
  IBuildDetail[] builds = bServer.QueryBuilds("myTeamProject");

这将产生所有builds在给定的myTeamProject. 但我只对昨天的构建感兴趣。

在我得到结果后,我显然可以过滤builds
我仍然想知道是否存在QueryBuilds()在提供的时间跨度内获取构建的过载。


背景:
在我最初的 TFS 构建解决方案中,自定义代码活动将捕获对BuildDetail我们很重要的属性,并使用 Microsoft.Office.Interop.Excel 将它们添加到 Excel 工作表中。
这相当方便,因为它发生在构建期间,我们的“BuildLog.xls”始终是最新的。

不幸的是,这导致了这个问题,所以我不得不删除代码活动并且我目前正在实施 B 计划:一个计划每天启动一次的控制台应用程序,它查询昨天的构建并将它们添加到我的 Excel 文件中。

4

1 回答 1

7

您可以创建一个IBuildDetailSpec对象并指定 MaxFinishTime(时间范围的结束)和 MinFinishTime(时间范围的开始)以获取某个范围内的构建。

IBuildServer 具有创建 IBuildDetailSpec 的方法和使用此规范查询的 QueryBuilds 方法。

于 2011-10-27T13:53:59.660 回答