java获取jenkins发布版本信息

博客围绕系统CICD发布时,在首页展示Jenkins发布版本和优化内容的需求展开。介绍了实现思路,包括在Jenkins创建用户和秘钥、找到对应构建任务信息的API,用RestTemplate发起HTTP请求,还说明了具体实现步骤,如创建用户和token、查找API、用Java发起请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.需求:

系统cicd发布时首页需要展示jenkins发布的版本和优化内容

二.思路:

1.jenkins创建用户和秘钥

2.找到对应构建任务信息的api

3.RestTemplate发起http请求

三.实现:

1.创建用户和token

2.查找jenkins API

创建 Job
POST http://localhost:8080/createItem/api/json?name=xxx


更新 Job
POST http://localhost:8080/job/{job_name}/config.xml/api/json


获取 Job
GET http://localhost:8080/job/{job_name}/api/json


获取 JobXml
GET http://localhost:8080/job/{job_name}/config.xml/api/json


创建 Build
POST http://localhost:8080/job/{job_name}/build/api/json


获取 QueueItem
GET http://localhost:8080/queue/item/17/api/json


获取 Build信息
GET http://localhost:8080/job/test/6/api/json


获取TXT日志
GET http://localhost:8080/job/test/{build_number}/logText/progressiveText/api/json


获取 Html 日志
GET http://localhost:8080/job/test/{build_number}/logText/progressiveHtml/api/json

3.java发起请求

HttpHeaders requestHeaders = new HttpHeaders();
        requestHeaders.setAccept(Arrays.asList(MediaType.APPLICATION_JSON));
        requestHeaders.add("user-agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36");
        HttpEntity<HttpHeaders> entity = new HttpEntity<>(requestHeaders);
        String url = "http://localhost:8080/job/finance-admin/lastSuccessfulBuild/api/json?pretty=true";
        RestTemplate restTemplate = new RestTemplate();
        restTemplate.getInterceptors().add(new BasicAuthenticationInterceptor("deployer", "xxxxxxxxxxxxxxxxxxxxxxx"));
        JSONObject result = restTemplate.exchange(url, HttpMethod.GET, entity, JSONObject.class)
                .getBody();
        List<LinkedHashMap<String, Object>> data = (List<LinkedHashMap<String, Object>>) result.get("actions");
        List<LinkedHashMap<String, Object>> restList = (List<LinkedHashMap<String, Object>>) data.get(0).get("parameters");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值