Bruk Jenkins sin proxybevisste HTTP-klient i ein plugin
Bygg den utgåande klienten til pluginen via den offentlege ProxyConfiguration-hjelparen til Jenkins i staden for å kopiere lagra kontofelt.
Ein Jenkins-plugin som sender ein utgåande HTTP-førespurnad kan bruke den offentlege proxybevisste klienthjelparen til Jenkins:
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());
Utdraget brukar typane hudson.ProxyConfiguration, java.net.URI og java.net.http. Kallaren handterer inn- og utdata og avbrot gjennom den vanlege pluginflyten. Kroppshandsamararen les og kastar svarkroppen.
newHttpClient og byggjargrensesnittet har vore tilgjengelege sidan Jenkins 2.379. I ein kontrollar-JVM brukar dei proxykonfigurasjonen som Jenkins støttar. Bruk klienten om att i staden for å lage ein ny for kvar førespurnad.
Det unngår å kopiere proxynamnet og passordet som er lagra i kontrollaren over til ein transport som er konfigurert separat. Ein Java HTTP-klient som blir laga separat, blir ikkje proxybevisst berre fordi kontrollargrensesnittet har ein proxyoppføring.
For førespurnader som sender ein Authorization-header til målet, gå gjennom den dokumenterte avgrensinga for autentisert proxy på Java 17 og nyare. Dokumentasjonen peikar særskilt på denne kombinasjonen; valet av denne hjelparen fjernar ikkje den klientavgrensinga.