Použitie HTTP klienta Jenkins s podporou proxy v plugine
Vytvorte odchádzajúceho klienta pluginu cez verejného pomocníka ProxyConfiguration v Jenkine namiesto kopírovania uložených polí účtu.
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.