通过API获取Jenkins Metrics数据

imu*_*and 4 api jenkins jenkins-plugins

API 调用需要什么

API 调用需要什么

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

bur*_*ttk 6

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

在显示“队列中等待 8.1 秒”等的屏幕上,单击页面页脚中的“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
}
Run Code Online (Sandbox Code Playgroud)

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

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