Выкарыстанне праксі-арыентаванага HTTP-кліента Jenkins у плагіне
Стварайце знешні кліент плагіна праз публічны дапаможнік ProxyConfiguration у Jenkins, а не капіюйце захаваныя палі ўліковага запісу.
Плагін Jenkins, які робіць знешні HTTP-запыт, можа выкарыстоўваць публічны праксі-арыентаваны дапаможнік кліента 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());
Фрагмент выкарыстоўвае тыпы hudson.ProxyConfiguration, java.net.URI і java.net.http. Выклікальнік апрацоўвае ўвод і вывад, а таксама перапыненне праз звычайны паток плагіна. Апрацоўнік цела спажывае і адкідвае цела адказу.
newHttpClient і яго інтэрфейс пабудоўніка даступныя з Jenkins 2.379. У JVM кантролера яны прымяняюць падтрыманую Jenkins канфігурацыю проксі. Паўторна выкарыстоўвайце кліент замест стварэння новага на кожны запыт.
Гэта пазбягае капіявання захаваных у кантролеры імя і пароля проксі ў асобна настроены транспарт. Асобна створаны HTTP-кліент Java не становіцца праксі-арыентаваным толькі таму, што ў інтэрфейсе кантролера ёсць запіс проксі.
Для запытаў, якія перадаюць загаловак Authorization прызначэння, азнаёмцеся з задокументаваным абмежаваннем аўтэнтыфікаванага проксі ў Java 17 і пазней. Дакументацыя спецыяльна паказвае на гэтае спалучэнне; выбар гэтага дапаможніка не здымае абмежаванне кліента.