Un connector de Jenkins que fa una petició HTTP de sortida pot utilitzar l'ajudant públic de client amb proxy de 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());

El fragment utilitza els tipus hudson.ProxyConfiguration, java.net.URI i java.net.http. El cridador gestiona les entrades i sortides, així com la interrupció, amb el flux normal del connector. El gestor del cos consumeix i descarta el cos de la resposta.

newHttpClient i la seva interfície de constructor existeixen des de Jenkins 2.379. En una màquina virtual de controlador apliquen la configuració de proxy compatible de Jenkins. Reutilitza el client en lloc de crear-ne un per a cada petició.

Això evita copiar el nom i la contrasenya del proxy desats al controlador en un transport configurat a part. Un client HTTP de Java creat a part no esdevé conscient del proxy només perquè la interfície del controlador tingui una entrada de proxy.

Per a les peticions que aporten una capçalera Authorization de destinació, revisa la limitació documentada del proxy autenticat a Java 17 i posteriors. La documentació assenyala específicament aquesta combinació; triar aquest ajudant no elimina aquesta limitació del client.

Articles relacionats