У меня есть сервер 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
запрос?
Может кто-нибудь мне помочь, пожалуйста?