У меня есть сервер Jenkins, и оттуда я пытаюсь получить подробные сведения о сборке (например, результат, метка времени, продолжительность и т. Д.) Для всех заданий с помощью REST API Jenkins, а затем сохранить их в своей базе данных.
Сейчас я вызываю следующий API из своего Java-кода, чтобы получить все задания (около 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