我想知道是否有人知道以某种方式使用 CLI 从特定的 Hudson 工作中获得成功的最后一个构建版本的方法或插件。
我可以看到这个结果保存在[DateTime]\build.xml
文件中,所以我可以写一些东西来获取结果,但想知道是否有人已经这样做了,或者知道使用 CLI 获取这些信息的方法?
我试图找到有关文档的信息,但无法找到答案。如果您需要更多详细信息,请告诉我。
我想知道是否有人知道以某种方式使用 CLI 从特定的 Hudson 工作中获得成功的最后一个构建版本的方法或插件。
我可以看到这个结果保存在[DateTime]\build.xml
文件中,所以我可以写一些东西来获取结果,但想知道是否有人已经这样做了,或者知道使用 CLI 获取这些信息的方法?
我试图找到有关文档的信息,但无法找到答案。如果您需要更多详细信息,请告诉我。
我在这里聚会有点晚了,但您也可以只使用 URLhttp://localhost:8081/job/jobname/lastSuccessfulBuild
来获取最后一次成功的构建。如果您想从该页面中提取特定数据,您可以使用http://localhost:8081/job/jobname/lastSuccessfulBuild//api
你可以用 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
在浏览器中输入并检查输出是有指导意义的。
正确的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()
总是给出第一个构建。