【问题标题】:Get last successfull build on Hudson在 Hudson 上获得最后一次成功的构建
【发布时间】:2012-06-24 16:31:24
【问题描述】:

我想知道是否有人知道以某种方式使用 CLI 从特定的 Hudson 作业中获取具有成功结果的最后构建版本的方法或插件。

我可以看到这个结果保存在 [DateTime]\build.xml 文件中,所以我可以写一些东西来获取结果,但想知道是否有人已经这样做了,或者知道使用 CLI 获取这个的方法信息?

我已尝试查找文档中的信息,但无法找到答案。如果您需要更多详细信息,请告诉我。

【问题讨论】:

    标签: automation hudson hudson-plugins hudson-api


    【解决方案1】:

    我在这里聚会有点晚了,但您也可以使用 URL http://localhost:8081/job/jobname/lastSuccessfulBuild 来获得最后一次成功的构建。如果您想从该页面中提取特定数据,您可以使用http://localhost:8081/job/jobname/lastSuccessfulBuild//api

    【讨论】:

    • 嗨,这就是我想出来的。请看我上面的评论。
    【解决方案2】:

    你可以用 XPATH 做到这一点:

    http://localhost:8081/api/xml?depth=2&xpath=/hudson/job/name[text()="JReport2"]/../build/result[text()="SUCCESS"]/../../build[1]/number/text()
    

    在上面的示例中,我得到了名为 JReport2 的构建的最后一个成功构建号。您可以通过 WGET 或 CURL 查询您的 Hudson 服务器,向其发送与该 URI 等效的 HTTP GET。

    XPath 表达式可以缩短,但长形式更容易理解发生了什么。

    一般来说,在浏览器中输入http://<hudson-server>/api/xml 并检查输出是很有指导意义的。

    【讨论】:

    • 太好了,感谢这种工作,但示例中提供的 URL 不能正常工作,因为它没有返回最后一次成功的构建,只返回最后一个构建。但是,由于您提到的 API,我能够使用“http://[myserver]/job/[jobname]/lastSuccessfulBuild/api/xml?xpath=/*/description/text()”
    • 好主意!感谢您提到它有问题 - 我会尝试调试它。
    【解决方案3】:

    正确的xpath为:

    ...&xpath=/hudson/job/name[text()="...name of project..."]/../build/result[text()='SUCCESS']/../number/text()
    

    但它不起作用。

    工作 xpath 如下:

    http://HudsonServer:Port/job/..nameOfProject../lastSuccessfulBuild/api/xml?xpath=//number/text()
    

    如上所述:

    ...&xpath=/hudson/job/name[text()="JReport2"]/../build/result[text()="SUCCESS"]/../../build[1]/number/text()
    

    xpath 不正确,因为/../../build[1]/number/text() 总是给出第一个构建。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多