Uporaba Jenkinsovega HTTP odjemalca, ki pozna proxy, v vtičniku
Zgradite izhodnega odjemalca vtičnika prek javnega pomočnika ProxyConfiguration v Jenkinsu, namesto da kopirate shranjena polja računa.
Vtičnik za Jenkins, ki izvaja izhodno zahtevo HTTP, lahko uporabi javnega pomočnika Jenkinsa za odjemalca, ki pozna proxy:
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());
Odsek uporablja tipe hudson.ProxyConfiguration, java.net.URI in java.net.http. Klicatelj obdela vhod in izhod ter prekinitev z običajnim tokom vtičnika. Upravljalnik telesa telo odgovora porabi in zavrže.
newHttpClient in njegov vmesnik graditelja sta na voljo od Jenkinsa 2.379. V JVM krmilnika uporabljata Jenkinsovo podprto konfiguracijo proxy. Odjemalca uporabite znova, namesto da bi za vsako zahtevo ustvarili novega.
Tako se izognete kopiranju imena in gesla proxy, shranjenih v krmilniku, v ločeno nastavljen prenos. Ločeno ustvarjen odjemalec HTTP v Javi ne postane seznanjen s proxyjem samo zato, ker ima vmesnik krmilnika vnos proxy.
Pri zahtevah, ki cilju pošljejo glavo Authorization, preglejte dokumentirano omejitev overjenega proxyja v Javi 17 in novejših. Dokumentacija posebej opozarja na to kombinacijo; izbira tega pomočnika te omejitve odjemalca ne odpravi.