Plugin pre Jenkins, ktorý odosiela odchádzajúcu HTTP požiadavku, môže použiť verejného pomocníka Jenkinsa pre klienta s podporou proxy:

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

Úryvok používa typy hudson.ProxyConfiguration, java.net.URI a java.net.http. Volajúci spracúva vstup a výstup aj prerušenie bežným tokom pluginu. Obsluha tela telo odpovede spotrebuje a zahodí.

newHttpClient a jeho rozhranie na zostavenie sú dostupné od Jenkinsu 2.379. V JVM kontroléra uplatňujú podporovanú konfiguráciu proxy v Jenkine. Klienta použite znova, namiesto vytvárania nového pre každú požiadavku.

Vyhnete sa tak kopírovaniu uloženého názvu a hesla proxy z kontroléra do samostatne nakonfigurovaného prenosu. Samostatne vytvorený HTTP klient v Jave sa nestane klientom s podporou proxy len preto, že rozhranie kontroléra obsahuje položku proxy.

Pri požiadavkách, ktoré odosielajú hlavičku Authorization cieľu, prejdite si dokumentované obmedzenie overenej proxy v Jave 17 a novších. Dokumentácia na túto kombináciu výslovne upozorňuje; voľba tohto pomocníka uvedené obmedzenie klienta neodstraňuje.

Súvisiace články