Jenkinsi plugin, mis teeb väljuva HTTP-päringu, saab kasutada Jenkinsi avalikku puhverserverit teadlikku kliendiabivahendit:

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

Katkend kasutab tüüpe hudson.ProxyConfiguration, java.net.URI ja java.net.http. Kutsuja käsitleb sisendit ja väljundit ning katkestust oma tavapärase plugina voo kaudu. Keha töötleja tarbib ja viskab vastuse keha ära.

newHttpClient ja selle ehitaja liides on saadaval alates Jenkinsist 2.379. Kontrolleri JVM-is rakendavad need Jenkinsi toetatud puhverserveri seadistust. Kasuta klienti uuesti, selle asemel et luua iga päringu jaoks uus.

Nii välditakse kontrollerisse salvestatud puhverserveri nime ja parooli kopeerimist eraldi seadistatud transpordile. Eraldi loodud Java HTTP-klient ei muutu puhverserverit teadlikuks ainult seetõttu, et kontrolleri liideses on puhverserveri kirje.

Päringute puhul, mis saadavad sihtkohale Authorization-päise, vaadake dokumenteeritud autenditud puhverserveri piirangut Java 17 ja uuemates versioonides. Dokumentatsioon viitab just sellele kombinatsioonile; selle abivahendi valimine ei kõrvalda seda kliendi piirangut.

Seotud artiklid