Java obtém informações da versão de lançamento do Jenkins

1. Requisitos:

Quando o sistema cicd é lançado, a página inicial precisa exibir a versão e o conteúdo otimizado lançado por Jenkins

2. Ideias:

1. Jenkins cria usuários e chaves secretas

2. Encontre a API correspondente às informações da tarefa de construção

3. RestTemplate inicia solicitação http

3. Realização:

1. Crie usuário e token

2. Encontre a API Jenkins

创建 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 inicia uma solicitação

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");

Acho que você gosta

Origin blog.csdn.net/yiye2017zhangmu/article/details/132717846
Recomendado
Clasificación