Jenkins tarpinio serverio sąmoningo HTTP kliento naudojimas papildinyje
Sukurkite papildinio išeinantį klientą per viešą Jenkins ProxyConfiguration pagalbininką, o ne kopijuokite saugomus paskyros laukus.
Jenkins papildinys, atliekantis išeinantį HTTP užklausą, gali naudoti viešą Jenkins tarpinio serverio sąmoningą kliento pagalbininką:
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());
Šis fragmentas naudoja tipus hudson.ProxyConfiguration, java.net.URI ir java.net.http. Iškvietėjas tvarko įvestį ir išvestį bei pertraukimą įprastu papildinio srautu. Kūno tvarkytuvas sunaudoja atsakymo kūną ir jį išmeta.
newHttpClient ir jo kūrėjo sąsaja prieinami nuo Jenkins 2.379. Valdiklio JVM jie taiko Jenkins palaikomą tarpinio serverio konfigūraciją. Naudokite klientą pakartotinai, o ne kurkite naują kiekvienai užklausai.
Taip išvengiama valdiklyje saugomo tarpinio serverio vardo ir slaptažodžio kopijavimo į atskirai sukonfigūruotą transportą. Atskirai sukurtas Java HTTP klientas netampa tarpinio serverio sąmoningas vien todėl, kad valdiklio sąsajoje yra tarpinio serverio įrašas.
Užklausoms, siunčiančioms Authorization antraštę gavėjui, peržiūrėkite dokumentuotą autentifikuoto tarpinio serverio apribojimą Java 17 ir naujesnėse versijose. Dokumentacija konkrečiai nurodo šį derinį; pasirinkus šį pagalbininką, tas kliento apribojimas nepanaikinamas.