Jenkins-in proxy ilə işləyən HTTP müştərisini plaqində istifadə edin
Plaqinin xarici müştərisini yadda saxlanmış hesab sahələrini köçürmək əvəzinə Jenkins-in açıq ProxyConfiguration köməkçisi ilə qurun.
Xarici HTTP sorğusu göndərən Jenkins plaqini Jenkins-in açıq proxy ilə işləyən müştəri köməkçisindən istifadə edə bilər:
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());
Bu fraqment hudson.ProxyConfiguration, java.net.URI və java.net.http tiplərindən istifadə edir. Çağıran tərəf giriş-çıxışı və kəsilməni öz normal plaqin axını ilə idarə edir. Gövdə emalçısı cavab gövdəsini istehlak edib atır.
newHttpClient və onun qurucu interfeysi Jenkins 2.379-dan bəri mövcuddur. Nəzarətçi JVM-də onlar Jenkins-in dəstəklənən proxy konfiqurasiyasını tətbiq edir. Hər sorğu üçün yenisini yaratmaq əvəzinə müştəridən təkrar istifadə edin.
Bu, nəzarətçidə saxlanılan proxy adının və parolun ayrıca konfiqurasiya edilmiş nəqliyyata köçürülməsinin qarşısını alır. Ayrıca yaradılmış Java HTTP müştərisi yalnız nəzarətçi interfeysində proxy qeydi olduğu üçün proxy ilə işləyən olmur.
Hədəfə Authorization başlığı göndərən sorğular üçün Java 17 və sonrakı versiyalarda sənədləşdirilmiş autentifikasiyalı proxy məhdudiyyətini nəzərdən keçirin. Texniki sənəd məhz bu kombinasiyanı göstərir; bu köməkçinin seçilməsi həmin müştəri məhdudiyyətini aradan qaldırmır.