Korištenje Jenkinsovog HTTP klijenta sa sviješću o proxyju u dodatku
Izgradite izlazni klijent dodatka kroz Jenkinsov javni ProxyConfiguration pomoćnik umjesto kopiranja spremljenih polja računa.
Dodatak za Jenkins koji upućuje izlazni HTTP zahtjev može koristiti Jenkinsov javni pomoćnik klijenta sa sviješću o proxyju:
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. Pozivatelj obrađuje ulaz i izlaz te prekid kroz uobičajeni tok dodatka. Rukovatelj tijelom troši i odbacuje tijelo odgovora.
newHttpClient i njegovo sučelje graditelja dostupni su od Jenkinsa 2.379. U JVM-u kontrolera primjenjuju Jenkinsovu podržanu proxy konfiguraciju. Ponovno upotrijebite klijent umjesto stvaranja novoga za svaki zahtjev.
Time se izbjegava kopiranje imena i lozinke proxyja spremljenih u kontroleru u zasebno konfiguriran prijenos. Zasebno stvoren Java HTTP klijent ne postaje svjestan proxyja samo zato što u sučelju kontrolera postoji proxy unos.
Za zahtjeve koji šalju Authorization zaglavlje odredištu, pregledajte dokumentirano ograničenje autentificiranog proxyja na Javi 17 i novijima. Dokumentacija posebno upućuje na tu kombinaciju; odabir ovog pomoćnika ne uklanja to ograničenje klijenta.