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.

Povezani članci