Używanie klienta HTTP Jenkinsa obsługującego proxy we wtyczce
Zbuduj klienta wychodzącego wtyczki przez publiczny pomocnik ProxyConfiguration Jenkinsa, zamiast kopiować zapisane pola konta.
Wtyczka Jenkinsa wykonująca wychodzące żądanie HTTP może użyć publicznego pomocnika klienta obsługującego 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());
Fragment używa typów hudson.ProxyConfiguration, java.net.URI i java.net.http. Wywołujący obsługuje wejście i wyjście oraz przerwanie przez zwykły przepływ wtyczki. Procedura obsługi treści zużywa i odrzuca treść odpowiedzi.
newHttpClient i jego interfejs konstruktora są dostępne od Jenkinsa 2.379. W JVM kontrolera stosują obsługiwaną przez Jenkinsa konfigurację proxy. Używaj klienta ponownie, zamiast tworzyć nowy dla każdego żądania.
Pozwala to uniknąć kopiowania zapisanej w kontrolerze nazwy i hasła proxy do osobno skonfigurowanego transportu. Osobno utworzony klient HTTP Javy nie staje się świadomy proxy tylko dlatego, że interfejs kontrolera zawiera wpis proxy.
W przypadku żądań wysyłających nagłówek Authorization do celu sprawdź udokumentowane ograniczenie uwierzytelnionego proxy w Javie 17 i nowszych. Dokumentacja wyraźnie wskazuje tę kombinację; wybór tego pomocnika nie usuwa tego ograniczenia klienta.