Օգտագործել Jenkins-ի պրոքսիին տեղյակ HTTP հաճախորդը պլագինում
Կառուցեք պլագինի ելքային հաճախորդը Jenkins-ի հանրային ProxyConfiguration օժանդակի միջոցով՝ պահված հաշվի դաշտերը պատճենելու փոխարեն։
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-ի աջակցվող պրոքսի կարգավորումը։ Կրկին օգտագործեք հաճախորդը՝ յուրաքանչյուր հարցման համար նորը ստեղծելու փոխարեն։
Դա խուսափում է կարգավորիչում պահված պրոքսիի անվան և գաղտնաբառի պատճենումը առանձին կարգավորված փոխադրամիջոց։ Առանձին ստեղծված Java HTTP հաճախորդը պրոքսիին տեղյակ չի դառնում միայն այն պատճառով, որ կարգավորիչի ինտերֆեյսում պրոքսի գրառում կա։
Այն հարցումների համար, որոնք ուղղությանը ուղարկում են Authorization վերնագիր, ստուգեք Java 17 և ավելի նոր տարբերակներում փաստաթղթավորված նույնականացված պրոքսիի սահմանափակումը։ Փաստաթղթավորումը հատուկ նշում է այս զուգորդությունը․ այս օժանդակի ընտրությունը չի վերացնում այդ հաճախորդի սահմանափակումը։