Jenkins-liitännäinen, joka tekee lähtevän HTTP-pyynnön, voi käyttää Jenkinsin julkista välityspalvelun huomioivaa asiakasapuria:

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());

Katkelma käyttää tyyppejä hudson.ProxyConfiguration, java.net.URI ja java.net.http. Kutsuja käsittelee syötteen ja lähdön sekä keskeytyksen liitännäisen tavallisessa kulussa. Rungon käsittelijä kuluttaa vastauksen rungon ja hylkää sen.

newHttpClient ja sen rakentajaliittymä ovat saatavilla Jenkinsistä 2.379 alkaen. Ohjaimen JVM:ssä ne soveltavat Jenkinsin tuettua välityspalvelukokoonpanoa. Käytä asiakasta uudelleen sen sijaan, että loisit uuden jokaista pyyntöä varten.

Näin vältetään ohjaimeen tallennetun välityspalvelimen nimen ja salasanan kopioiminen erikseen määritettyyn siirtotiehen. Erikseen luotu Java HTTP -asiakas ei tule välityspalvelun huomioivaksi pelkästään siksi, että ohjaimen käyttöliittymässä on välityspalvelumerkintä.

Pyynnöissä, jotka lähettävät Authorization-otsakkeen kohteelle, tarkista dokumentoitu todentetun välityspalvelimen rajoitus Java 17:ssä ja uudemmissa. Dokumentaatio mainitsee juuri tämän yhdistelmän; tämän apurin valinta ei poista kyseistä asiakasrajoitusta.

Aiheeseen liittyvät artikkelit