【问题标题】:List of Slaves connected to master - Hudson连接到主站的从站列表 - Hudson
【发布时间】:2010-07-08 09:33:33
【问题描述】:

有没有办法以编程方式找到它?我需要它作为自动运行的一部分;因此,如果存在可以提供此功能的现有远程 API 调用,这将非常有帮助。

【问题讨论】:

    标签: hudson jenkins slave


    【解决方案1】:

    获取所有计算机的 Groovy 脚本:

    def jenkins = Jenkins.instance
    def computers = jenkins.computers
    
    computers.each{ 
      println "${it.displayName} ${it.hostName}"
    }
    

    【讨论】:

    • 看起来不错!但是从哪里获取信息什么是“Jenkins”以及为什么有“实例”?不能只写:Jenkins.instance.computers.each{println "${it.displayName} ${it.hostName}"} 吗?
    • 是的,你可以这样写。这是品味/编码风格的问题。
    【解决方案2】:

    您不需要解析 HTML - 大多数 Hudson 页面都可以通过添加 URL 后缀转换为 API 调用,例如进行 GET 调用:

    http://hudson:8080/computer/api/json

    如果您更喜欢 JSON 而不是 JSON,请将 JSON 切换为 XML 或 Python。

    如果您只使用 API 后缀,您将获得有关 API 的简短通用帮助页面。

    【讨论】:

    • 好,+1!我以为有这样的东西,但一直没有找到它。
    • 1 正在寻找类似的东西。但是在“jenkins 环境变量”之类的条件下,但没有运气。
    【解决方案3】:

    http://hudson:8080/computer/

    【讨论】:

    • 谢谢。我看见了。我可以解析它并将其作为我的自动运行的一部分。但想知道是否有更具体的 API。
    • @Aviator:看看openjey's answer。我在浏览器窗口中保持打开状态,因为我似乎记得有一个 API,但从来没有四处挖掘该信息。现在 openjey 已经回答了这个问题。
    • UI 中指向此的链接在哪里?我怎么会知道这个
    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 2019-03-16
    • 1970-01-01
    • 2019-05-21
    • 1970-01-01
    • 2022-11-24
    • 2016-05-23
    相关资源
    最近更新 更多