java从Jenkins REST API获取所有作业的所有构建的构建细节
我有一个托管的Jenkins服务器,从那里,我试图使用Jenkins REST API获取所有作业的构建细节(如结果、时间戳、持续时间等),然后将其保存在我的数据库中
现在,我正在从Java代码中调用以下API,以获取所有作业(大约200个作业):
https://<JENKINS_HOST>/api/json
然后,我使用以下方法获取作业详细信息和每个作业的所有构建:
https://<JENKINS_HOST>/job/MY_JOB/api/json
最后,对于每个构建(我必须只获取最后50个),我必须调用此函数来获取构建细节:
https://<JENKINS_HOST>/job/MY_JOB/<BUILD_NUMBER>/api/json
所以总共有50*200+201=超过10000个API调用
我猜,这么多API调用会让Jenkins服务器运行缓慢吗
所以,我的问题是,有没有一种更快/更优化的方法来做到这一点,这样我就不必进行这么多API调用
比如,我可以使用一个url获取所有构建细节,如下所示: (假设)
https://<JENKINS_HOST>/job/MY_JOB/api/json?fetchAllbuildDetails=True
# 1 楼答案
如果其他人也遇到同样的问题,我可以通过树来完成:
在这里,可以过滤列名,只获取所需的数据,因为从中返回的数据量非常大
您还可以这样限制要提取的记录数:
这将只获取所有作业的最后50个版本,这正是我所需要的