Koristite Jenkinsov proxy-svjesni HTTP klijent u dodatku
Napravite izlazni klijent dodatka kroz Jenkinsov javni ProxyConfiguration pomoćnik umjesto kopiranja pohranjenih polja računa.
Dodatak za Jenkins koji upućuje izlazni HTTP zahtjev može koristiti Jenkinsov javni proxy-svjesni pomoćnik klijenta:
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());
Isječak koristi tipove hudson.ProxyConfiguration, java.net.URI i java.net.http. Pozivalac obrađuje ulaz i izlaz te prekid kroz svoj uobičajeni tok dodatka. Rukovalac tijelom troši i odbacuje tijelo odgovora.
newHttpClient i njegov interfejs graditelja dostupni su od Jenkinsa 2.379. U JVM-u kontrolera primjenjuju Jenkinsovu podržanu proxy konfiguraciju. Ponovo koristite klijent umjesto stvaranja novog za svaki zahtjev.
Time se izbjegava kopiranje imena i lozinke proxyja pohranjenih u kontroleru u zasebno konfigurisan transport. Zasebno stvoren Java HTTP klijent ne postaje proxy-svjestan samo zato što u sučelju kontrolera postoji proxy unos.
Za zahtjeve koji šalju Authorization zaglavlje odredištu, pregledajte dokumentovano ograničenje autentificiranog proxyja na Javi 17 i novijim. Dokumentacija posebno ukazuje na tu kombinaciju; odabir ovog pomoćnika ne uklanja to ograničenje klijenta.