Den Jenkins sengen proxy-bewussten HTTP-Client an engem Plugin benotzen
Baut den Ausgangsclient vum Plugin iwwer dem Jenkins sengen ëffentlechen ProxyConfiguration-Helfer op, amplaz gespäichert Kontofelder ze kopéieren.
En Jenkins-Plugin, deen eng Ausgangs-HTTP-Ufro mécht, kann dem Jenkins sengen ëffentlechen proxy-bewussten Client-Helfer benotzen:
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());
Den Auszuch benotzt d'Typen hudson.ProxyConfiguration, java.net.URI an java.net.http. Den Oprufer behandelt Input an Output souwéi Ënnerbriechung iwwer säin normale Plugin-Floss. Den Textveraarbechter verbraucht de Response-Kierper a verwerft en.
newHttpClient an seng Builder-Schnittstell sinn zënter Jenkins 2.379 disponibel. An enger Controller-JVM uwenden si dem Jenkins seng ënnerstëtzte Proxy-Konfiguratioun un. Benotzt de Client erëm, amplaz fir all Ufro en neien ze maachen.
Domat gëtt verhënnert, datt den am Controller gespäicherten Proxy-Numm an d'Passwuert an en separat konfiguréierten Transport kopéiert ginn. En separat erstallte Java-HTTP-Client gëtt net proxy-bewosst, just well d'Controller-Interface en Proxy-Andrag huet.
Fir Ufroen, déi en Authorization-Header un d'Destinatioun schécken, kuckt d'dokumentéiert Aschränkung vum authentifizéierte Proxy op Java 17 a méi spéit. D'Dokumentatioun weist spezifesch op dës Kombinatioun hin; dësen Helfer ze wielen hieft déi Client-Aschränkung net op.