Jenkins syn proxy-bewuste HTTP-klant brûke yn in plugin
Bou de útgeande klant fan in plugin fia Jenkins syn iepenbiere ProxyConfiguration-helper ynstee fan bewarre akkountfjilden te kopiearjen.
In Jenkins-plugin dy't in útgeande HTTP-fersyk docht, kin Jenkins syn iepenbiere proxy-bewuste klanthelper brûke:
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());
It fragmint brûkt de typen hudson.ProxyConfiguration, java.net.URI en java.net.http. De oanropper behannelt yn- en útgean en ûnderbrekking fia syn normale pluginstream. De lichembehanneler ferbrûkt it antwurdlichem en smyt it fuort.
newHttpClient en syn bouwer-ynterface binne beskikber sûnt Jenkins 2.379. Yn in controller-JVM passe se Jenkins syn stipe proxykonfiguraasje ta. Werbrûk de klant ynstee fan foar elk fersyk ien oan te meitsjen.
Sa wurdt foarkaam dat de bewarre proxynamme en wachtwurd fan de controller nei in apart konfigurearre ferfier kopiearre wurde. In apart oanmakke Java HTTP-klant wurdt net proxy-bewust allinne om't de controller-ynterface in proxy-ynfier hat.
Foar fersiken dy't in Authorization-koptekst nei de bestimming stjoere, besjoch de dokumintearre beheining foar autentisearre proxy op Java 17 en letter. De dokumintaasje wiist spesifyk op dy kombinaasje; it kiezen fan dizze helper hellet dy klantbeheining net fuort.