2016-02-12 30 views
0

我试图从使用IBuildServer接口的TFS服务器中检索排队的构建。但是,我无法检索给定控制器的特定代理上的排队构建。这是必需的,因为如果有一个正在建立的缓存删除不应该发生。在给定的代理/控制器上搜索排队构建

$tfsservername = 'TFS LINK' 

[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Client") 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Client") 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.Build.Common") 
[void][System.Reflection.Assembly]::LoadWithPartialName("Microsoft.TeamFoundation.WorkItemTracking.Client") 

$server = new-object Microsoft.TeamFoundation.Client.TfsTeamProjectCollection(New-Object Uri($tfsservername)) 
# creating TFSServer Instance 
$buildServer = $server.GetService([Microsoft.TeamFoundation.Build.Client.IBuildServer]) 


$spec = $buildServer.CreateBuildQueueSpec('*','*') 
$build = $buildServer.QueryQueuedBuilds($spec).QueuedBuilds 

我试过搜索IBuildServer的方法,但没有链接代理和排队构建的方法。

我想在这里使用IQueuedBuild接口,但我不知道如何使用它。

任何建议如何找到队列建立在特定的代理上?

回答

1

代理未分配给排队的内部版本,除非有一个打开的代理构建并构建出队。

+0

是的,这是正确的。我有x个控制器,每个控制器至少有4个代理。当构建排队时,它会占用任何可用的代理。所以我将不得不检查所有代理。 – Jaimin

+0

一旦构建具有代理,它就不再被视为“排队”。 – chief7

相关问题