Gunakan klien HTTP sadar-proxy Jenkins di plugin
Bangun klien keluar plugin melalui helper ProxyConfiguration publik Jenkins alih-alih menyalin kolom akun yang tersimpan.
Plugin Jenkins yang membuat permintaan HTTP keluar dapat menggunakan helper klien sadar-proxy publik 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());
Potongan ini menggunakan tipe hudson.ProxyConfiguration, java.net.URI, dan java.net.http. Pemanggil menangani input dan output serta interupsi melalui alur plugin normalnya. Penangan bodi mengonsumsi dan membuang bodi respons.
newHttpClient dan antarmuka pembangunnya tersedia sejak Jenkins 2.379. Di JVM pengontrol, keduanya menerapkan konfigurasi proxy yang didukung Jenkins. Gunakan kembali klien alih-alih membuat yang baru untuk setiap permintaan.
Ini menghindari penyalinan nama dan kata sandi proxy yang tersimpan di pengontrol ke transport yang dikonfigurasi terpisah. Klien HTTP Java yang dibuat terpisah tidak menjadi sadar-proxy hanya karena antarmuka pengontrol memiliki entri proxy.
Untuk permintaan yang mengirim header Authorization ke tujuan, tinjau batasan proxy terautentikasi yang didokumentasikan pada Java 17 dan yang lebih baru. Dokumentasi menyebutkan kombinasi itu secara khusus; memilih helper ini tidak menghapus batasan klien tersebut.