api - 通过 API 获取 Jenkins Metrics 数据

标签 api jenkins jenkins-plugins

API 调用需要什么

What I need with the API call

我需要通过 Jenkins 指标插件的 API 调用获取每个构建的时间线信息。我正在使用 Web API 在我的 jenkins 中获取我的工作数据。但是,调用 $JenkinsUrl/metrics/APIkey 却无济于事。知道如何获取信息吗?

最佳答案

每个构建的所有三位时间线信息(排队时间、构建时间、总时间)都可以通过“获取构建”API 获得。

在显示“8.1 sec waiting in the queue”等的屏幕上,单击页脚中的“REST API”链接,然后单击“JSON API”,然后添加 &depth=2到生成的 API URL 的末尾。

请注意,如果您在 API json 中搜索特定值,则时间将以毫秒为单位。解析 json 后,构建时间在“duration”属性下,另外两个在“actions”属性下的数组中。对我来说,它是数组的第三个元素,但这可能会有所不同(找到带有 _class "jenkins.metrics.impl.TimeInQueueAction"的元素):

{
  "_class": "jenkins.metrics.impl.TimeInQueueAction",
  "queuingDurationMillis": 16,
  "totalDurationMillis": 4365
}

因此在我的示例中,构建时间为 4349,排队时间为 16,因此总时间为 4349 + 16 = 4365 毫秒。

不是将 &depth=2 添加到 url 的末尾,您可以通过将此附加到 url 来准确获得您想要的三个值:&tree=duration,actions [queuingDurationMillis,totalDurationMillis]

关于api - 通过 API 获取 Jenkins Metrics 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46033947/

相关文章:

api - YouTube API v3 : a Video Response's contentDetails. contentRating

api - 信用卡交易是否会因测试交易而被拒绝?

jenkins - 尝试重新启动时的状态代码 500。安装插件后重启选项消失了

jenkins - Jenkins kubernetes 插件在salve build 之前需要等待很长时间,大约15s,为什么?

jenkins - 在 Jenkins 中使用可编辑电子邮件扩展添加附件

jenkins - 使用 Jenkins 管道复制 S3 工件

java - 使用单个命令连接多个列表的良好 Java 习惯用法是什么?

css - 有谁知道基于 REST 的 CSS 压缩器?

java - 使用 OpenJDK 将 Jenkins 节点/代理作为 Windows 服务运行

maven - 通过maven在Jenkins中构建父pom并运行特定的集成测试?