Um plugin do Jenkins que faz uma requisição HTTP de saída pode usar o auxiliar público de cliente com proxy do Jenkins:

HttpClient client = ProxyConfiguration.newHttpClient();
HttpRequest request = ProxyConfiguration.newHttpRequestBuilder(
        URI.create("https://service.example/status"))
    .GET()
    .build();
HttpResponse<Void> response = client.send(
    request, HttpResponse.BodyHandlers.discarding());

O trecho usa os tipos hudson.ProxyConfiguration, java.net.URI e java.net.http. O chamador trata entrada e saída e a interrupção pelo fluxo normal do plugin. O manipulador de corpo consome e descarta o corpo da resposta.

newHttpClient e sua interface de construtor estão disponíveis desde o Jenkins 2.379. Em uma JVM de controlador, aplicam a configuração de proxy suportada pelo Jenkins. Reutilize o cliente em vez de criar um para cada requisição.

Isso evita copiar o nome e a senha do proxy armazenados no controlador para um transporte configurado separadamente. Um cliente HTTP Java criado à parte não passa a conhecer o proxy só porque a interface do controlador tem uma entrada de proxy.

Para requisições que enviam um cabeçalho Authorization ao destino, revise a limitação documentada do proxy autenticado no Java 17 e posteriores. A documentação aponta especificamente essa combinação; escolher este auxiliar não remove essa limitação do cliente.

Artigos relacionados