API 调用需要什么
我需要通过 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/