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-სა და უფრო ახალ ვერსიებში. დოკუმენტაცია კონკრეტულად აღნიშნავს ამ კომბინაციას; ამ დამხმარის არჩევა არ ხსნის კლიენტის ამ შეზღუდვას.