【问题标题】:Get list of TeamCity idle agents获取 TeamCity 空闲代理列表
【发布时间】:2013-09-05 09:03:26
【问题描述】:

我正在开发一个 Web 应用程序 (WebForms/C#),我需要在其中获取一些有关 TeamCity 代理的额外信息。 例如:

现在我需要获取当前处于空闲状态的可用代理列表。 我正在尝试通过REST API Plugin 执行此操作,但没有运气...

这可以通过 REST 实现吗?

注意:我对空闲代理的数量不感兴趣。我需要能够获取有关每个空闲代理的完整信息(例如 - 名称/IP、当前状态等)

任何人都可以建议我以什么方式进行挖掘吗?我还想向代码 sn-ps 询问提供的解决方案。

【问题讨论】:

  • 您发布的 API 文档链接有一个关于代理 here 的部分,特别是“连接代理列表” - 在不知道 API 的情况下,我猜您可以调整它以获取空闲的代理.
  • 不,这无济于事。代理可以有状态 - 已连接/已断开连接、已授权/未授权、已启用/已禁用。这些状态并没有告诉我代理是否真的空闲以进行进一步处理。例如代理可以被禁用但仍然运行构建配置。

标签: c# asp.net webforms teamcity


【解决方案1】:

看起来Agent 上没有直接的方法来获取状态是否空闲。

回复:http://confluence.jetbrains.com/display/TW/REST+API+Plugin#RESTAPIPlugin-Agents

不过,我想您可以先获取所有已连接代理的名称(以及其他字段,例如 IP 等):

GET http://teamcity:8111/httpAuth/app/rest/agents?includeDisconnected=false

然后循环遍历每个代理以确定它是否正在运行:

GET http://teamcity:8111/httpAuth/app/rest/builds?locator=running:true,agentName:BuildAgent1

如果它没有运行,它就是空闲的。报告每个空闲代理的所有字段。

https://github.com/stack72/TeamCitySharp 是一个封装了 api 的开源 .net 库。可能对您的应用有用。

【讨论】:

  • 哇,伙计,这正是我想要的!非常感谢! TeamCitySharp 看起来很有趣。需要尝试一下。
猜你喜欢
  • 2014-09-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-07
  • 2015-11-15
  • 2012-02-08
  • 1970-01-01
相关资源
最近更新 更多