Dodatak za Jenkins koji šalje izlazni HTTP zahtjev može koristiti Jenkinsov javni pomoćnik klijenta svjesnog proxyja:

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 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 upotrijebite klijent umjesto stvaranja novog za svaki zahtjev.

Time se izbjegava kopiranje imena i lozinke proxyja sačuvanih u kontroleru u zasebno konfigurisan transport. 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 dokumentovano ograničenje autentifikovanog proxyja na Javi 17 i novijim. Dokumentacija posebno ukazuje na tu kombinaciju; izbor ovog pomoćnika ne uklanja to ograničenje klijenta.

Povezani članci