【发布时间】:2014-07-01 09:10:33
【问题描述】:
我有一个使用 jenkins 的构建设置并配置了 100 多个作业。 目前,我需要从命令行获取构建详细信息的值。
来自
jenkins 本地 ip /job/test_3/lastBuild/api/json
我能够看到所有构建值,例如作业名称、状态、时间戳等...
如何从命令行检索这些值?
【问题讨论】:
标签: jenkins
我有一个使用 jenkins 的构建设置并配置了 100 多个作业。 目前,我需要从命令行获取构建详细信息的值。
来自
jenkins 本地 ip /job/test_3/lastBuild/api/json
我能够看到所有构建值,例如作业名称、状态、时间戳等...
如何从命令行检索这些值?
【问题讨论】:
标签: jenkins
它是一个 JSON API,因此您可以简单地格式化包含所需 API 部分的 URL,并使用 curl 来检索 JSON.
即
http://<server>/job/test_3/lastBuild/api/json
要获得全部 100 个,您需要使用某种脚本,无论是 bash 还是 Python 或类似的,以便您可以将 循环中的 curl 命令,内部版本号是循环索引加一。
如果您只想执行一堆 curl 命令来获取原始 JSON,bash 可能是最直接的。
该 URL 的格式为:
http://<server>/job/test_3/<loopVar + 1>/api/json
【讨论】:
Ken 是正确的,使用 http 请求, 请注意,他的示例将允许您检索一项特定作业的所有已保存构建的结果。 如果您需要为 100 多个作业中的每一个检索最后一次构建的状态 我建议如下: - 检索实例中所有作业的列表(通过调用 http:///api/json) - 对于 /api/json 的每个工作调用 - 在结果对象中查找“lasBuild”字段 - 调用 /json/api 来检索所有需要的信息
最好在 Python、Perl、Groovy 中完成,无论您喜欢什么。
【讨论】:
在 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)。该命令旨在无需用户交互即可工作。 参考了解curl更多:(https://curl.haxx.se/docs/manpage.html)
“python -mjson 工具”这是 python json 库,可让您查看 json 转储数据。获取 json 数据后,执行 grep、剪切、粘贴以进行排序。
【讨论】: