Jenkins:如何从命令行访问build(lastBuild / api / json)细节

时间:2014-07-01 09:10:34

标签: jenkins

我使用jenkins进行构建设置并配置了100多个作业。 目前,我需要从命令行获取构建详细信息的值。

来自

  

jenkins local ip / job / test_3 / lastBuild / api / json

我能够看到所有构建值,例如工作名称,状态,时间戳等......

如何从命令行中检索这些值?

3 个答案:

答案 0 :(得分:1)

它是 JSON API,因此您只需格式化包含所需api部分的网址,然后使用 curl 检索 JSON

http://<server>/job/test_3/lastBuild/api/json

要获得所有100个脚本,您可能希望使用某种脚本,无论是 bash 还是 Python 或类似的脚本,这样您就可以使用 curl 命令在一个循环中,内部版本号是循环索引加一。

如果您只是想执行一堆 curl 命令来获取原始 JSON ,那么

bash 可能是最直接的。

该网址的格式为:

http://<server>/job/test_3/<loopVar + 1>/api/json

答案 1 :(得分:0)

Ken是正确的,使用http请求, 请注意,他的示例将允许您检索一个特定作业的所有已保存构建的结果。 如果您需要检索100多个作业中每个作业的最后一次构建的状态 我建议如下: - 检索实例中所有作业的列表(通过调用http:/// api / json) - 对于/ api / json的每个工作电话 - 找到&#39; lasBuild&#39;结果对象中的字段 - 调用/ json / api来检索所有需要的信息

最好用Python,Perl,Groovy完成,无论你觉得什么都适合。

答案 2 :(得分:0)

在bash中执行以下命令。

** curl -s“hostname / hostIP:port / view / z-admin / job / MSP_PROMOTE / lastBuild / api / json”| python -mjson工具**

  • curl curl是一种使用其中一种支持的协议(DICT,FILE,FTP,FTPS,GOPHER,HTTP,HTTPS,IMAP,IMAPS,LDAP,LDAPS,POP3)从服务器或向服务器传输数据的工具,POP3S,RTMP,RTSP,SCP,SFTP,SMB,SMBS,SMTP,SMTPS,TELNET和TFTP)。该命令旨在无需用户交互即可工作。 请参阅了解有关卷曲的更多信息:(https://curl.haxx.se/docs/manpage.html

  • “python -mjson tool”这是python json lib,它允许你查看json转储数据。获取json数据后,请执行grep,cut,paste for your sort。