3

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

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

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

4

3 回答 3

7

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

于 2012-06-22T16:47:54.630 回答
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 向其发送与该 URI 等效的 HTTP GET 查询您的 Hudson 服务器。

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

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

于 2012-06-22T11:51:08.637 回答
1

正确的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()总是给出第一个构建。

于 2015-03-10T10:24:18.150 回答