我有一台运行Jenkins作业的Jenkins服务器-JobA
并且我有一个Java Spring引导Web服务,我在其中存储Jenkins构建数据并将其提供给其他各种系统。
我希望每当JobA完成每个构建时,它都应在我的Web服务上调用一个端点,并将构建数据(基本上与调用Jenkins API:https://<my-jenkins-server>/job/JobA/<buildNumber>/api/json
时获得的数据相同)发布到端点我的Web服务,它接受POST请求和JSON负载以更新数据库中的构建详细信息,例如作业名称,构建编号,构建结果,构建url,构建持续时间,时间戳,测试结果等。
即使构建失败,仍应调用Web服务的端点。
我已经可以从上面的REST API调用中获取所有这些数据,但是我不想使用它,因为如果要在数据库中获取更新的数据,则必须轮询Jenkins REST API多次(例如,可能每15分钟或更频繁),这会增加我的Jenkins服务器的负载。
我知道我可以设置一个Jenkins作业来调用脚本或调用另一个下游作业,然后通过该作业我可以调用curl
POST
请求直到结束。
但是我的问题是我不知道在POST
请求中向何处/如何获取构建的JSON数据?
有人可以帮我吗?
答案 0 :(得分:0)
您可以获取lastbuild信息,并且有一个名为building
的字段,它指示构建是否正在运行。