我想检查一下gated check-in build在队列中等待的时间。但是,我找不到API函数来获取此信息。
我该怎么做?
编辑1
请注意,构建可能已经完成。
答案 0 :(得分:0)
您可以使用IBuildDetailSpec.Status Property,有BuildStatus Enumeration
一旦启动,构建状态将设置为Inprogress
。然后,您可以监视构建代理中的时间。减少签入文件的时间,您将获得所需。
答案 1 :(得分:0)
如果"等待时间"现在还没有任何简单的方法可以通过TFS API执行此操作。你提到的意味着从构建排队到开始的时间。
正如您所提到的,您的构建已经完成,因此您可以从IBuildDetail获取构建时间信息,但IBuildDetail仅包含IBuildDetail.StartTime和IBuildDetail.FinishTime。构建队列时间包含在IQueueBuild(IQueueBuild.Queuetime)中。因此,您需要将IBuildDetail转换为字符串,然后搜索" QueueIds"在字符串中获取QueueID。然后你可以通过以下方式获得IQueueBuild:
IQueuedBuild iqb = IBuildServer.GetQueuedBuild(QueueID,QueryOptions.All);
队列时间是iqb.QueueTime。比较IQueueBuild.Queuetime和IBuildDetail.StartTime,你应该得到等待时间。