मैं जेनकींस पाइपलाइन चला रहा हूं और मैं एक HTTP पोस्ट अनुरोध जोड़ना चाहता हूं। मैं ग्रोवी/जावा मूल कोड का उपयोग करना चाहता हूं (मैं sh के साथ कर्ल नहीं चलाना चाहता क्योंकि यह बहुत ब्रेक करने योग्य है)
मैं अंतिम चरण में कोड का निम्न भाग चला रहा हूं:
def builder = new groovy.json.JsonBuilder()
builder {
context 'branch_regression'
state stateStr
}
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("some-proxy.com", 912))
def post = new URL(config.CommitStatusUpdateURL).openConnection(proxy)
def message = builder.toString();
post.setRequestMethod("POST")
post.setRequestProperty("Authorization","Basic Some64BaseTokEAsfn")
post.setDoOutput(true)
post.setRequestProperty("Content-Type", "application/json")
def rawdata = message.getBytes("UTF-8")
def stream = post.getOutputStream()
stream.write(rawdata);
def postRC = post.getResponseCode();
println(postRC);
if(postRC.equals(200)) {
println(post.getInputStream().getText());
लेकिन मुझे तब मिल गया
स्क्रिप्ट को नए java.net.InetSocketAddress java.lang.String int का उपयोग करने की अनुमति नहीं है।
एक लिंक के साथ इस विधि हस्ताक्षर को मंजूरी देते हैं .. और मैंने इसे मंजूरी दे दी है और मैं फिर से कार्य चला रहा हूं और फिर मुझे मिलता है:
स्क्रिप्ट को नए java.net.Proxy java.net.Proxy$Type java.net.SocketAddress का उपयोग करने की अनुमति नहीं है, यह तय कर सकता है कि इस हस्ताक्षर को स्वीकृत या अस्वीकार करना है या नहीं।
यह मुझे पागल कर रहा है... यहाँ क्या समस्या है ??
2 जवाब
आपको https://your.jenkins.url/scriptApproval/
पर जाकर अपनी स्क्रिप्ट में इन फ़ंक्शन के उपयोग को स्वीकृत करने की आवश्यकता है। हर बार जब आप कोई नई स्क्रिप्ट चलाते हैं तो वह पहली अस्वीकृत चीज़ पर पहुंच जाएगी और विफल हो जाएगी, इसलिए यह कुछ समय तक चल सकता है।
curl
:-) का उपयोग करना चाह सकते हैं
HTTP कोड को वैश्विक साझा लाइब्रेरी में ले जाएं :
इन पुस्तकालयों को "विश्वसनीय:" माना जाता है, वे जावा, ग्रूवी, जेनकिंस आंतरिक एपीआई, जेनकिंस प्लगइन्स या तीसरे पक्ष के पुस्तकालयों में किसी भी तरीके को चला सकते हैं। यह आपको पुस्तकालयों को परिभाषित करने की अनुमति देता है जो किसी भी पाइपलाइन से उपयोग के लिए सुरक्षित उच्च स्तरीय रैपर में व्यक्तिगत रूप से असुरक्षित एपीआई को समाहित करता है।
wget
का प्रयोग करें। पहिया को फिर से न लगाएं क्योंकि तब आपको इसे बनाए रखने की आवश्यकता होगी।