как получить ответ json для деталей сборки из сборки Jenkins после ее завершения - PullRequest
0 голосов
/ 22 марта 2019

У меня есть сервер Jenkins, на котором выполняется задание Jenkins - JobA

, и у меня есть загрузочный веб-сервис Java Spring, где я храню данные сборки Jenkins и передаю их другим системам.

Я хочу, чтобы всякий раз, когда JobA заканчивал каждую сборку, он вызывал конечную точку моего веб-сервиса и отправлял данные сборки (в основном те же данные, которые я получаю при вызове API Jenkins: https://<my-jenkins-server>/job/JobA/<buildNumber>/api/json) в конечную точку моего веба.служба, которая принимает запросы POST и полезную нагрузку JSON для обновления сведений о сборке, таких как имя задания, номер сборки, результат сборки, URL сборки, продолжительность сборки, метка времени, результаты теста и т. д. в моей базе данных.

Конечная точкамой веб-сервис все равно должен вызываться, даже если сборка не удалась.

Я уже могу получить все эти данные из приведенного выше вызова API REST, но я не хочу использовать это, потому что, используя это, если я хочу получить обновленные данные в моей базе данных, мне придется опроситьREST API Jenkins несколько раз (например, каждые 15 минут или чаще), что увеличит нагрузку на мой сервер Jenkins.

Я знаю, что могу настроить задание Jenkins для вызова сценария или вызова другогонижестоящее задание, с помощью которого я могу затем вызвать curl POST запрос к моей конечной точке.

Но моя проблема в том, что я не знаю, где / как получить данные JSON для сборки, которые будут отправлены вPOST запрос?

Может кто-нибудь мне помочь, пожалуйста?

1 Ответ

0 голосов
/ 22 марта 2019

Вы можете получить информацию о последней сборке, и есть поле с именем building, в котором указано, выполняется сборка или нет.

https://host/job/project/lastBuild/api/json?depth=1

...