मैं जेनकींस पाइपलाइन चला रहा हूं और मैं एक 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 का उपयोग करने की अनुमति नहीं है, यह तय कर सकता है कि इस हस्ताक्षर को स्वीकृत या अस्वीकार करना है या नहीं।

यह मुझे पागल कर रहा है... यहाँ क्या समस्या है ??

0
nadavgam 2 मार्च 2020, 23:42
कर्ल का प्रयोग करें :) आप इसे कोशिश/पकड़ खंड में लपेट सकते हैं और यदि आप स्थिरता जांच से डरते हैं तो कुछ पुनः प्रयास करें।
 – 
Tupteq
2 मार्च 2020, 23:47
कर्ल टूट जाता है .. यदि आप शरीर को पारित करने का प्रयास करते हैं तो यह हमेशा विफल रहता है .. मैंने विशेष रूप से उल्लेख किया है कि मैं कर्ल का उपयोग नहीं करना चाहता ..
 – 
nadavgam
2 मार्च 2020, 23:49
फिर wget का प्रयोग करें। पहिया को फिर से न लगाएं क्योंकि तब आपको इसे बनाए रखने की आवश्यकता होगी।
 – 
Tupteq
3 मार्च 2020, 00:00

2 जवाब

आपको https://your.jenkins.url/scriptApproval/ पर जाकर अपनी स्क्रिप्ट में इन फ़ंक्शन के उपयोग को स्वीकृत करने की आवश्यकता है। हर बार जब आप कोई नई स्क्रिप्ट चलाते हैं तो वह पहली अस्वीकृत चीज़ पर पहुंच जाएगी और विफल हो जाएगी, इसलिए यह कुछ समय तक चल सकता है।

0
MaratC 3 मार्च 2020, 00:10
मैं स्वीकृत और स्वीकृत और स्वीकृत करता हूं .. और यह बस चलता रहता है ..
 – 
nadavgam
3 मार्च 2020, 00:10
यदि आप पाते हैं कि आप हर बार नए कार्यों को स्वीकृति देते हैं, तो यह किसी समय समाप्त होने वाला है। वैकल्पिक रूप से, आप curl :-) का उपयोग करना चाह सकते हैं
 – 
MaratC
3 मार्च 2020, 00:11
कार्य विफल होने की प्रतीक्षा करने और लिंक पर क्लिक करने के बजाय अग्रिम में सभी अनुमति जोड़ने का कोई तरीका है?
 – 
nadavgam
3 मार्च 2020, 00:13
दुख की बात है नहीं। जेनकिंस लेखकों की मानसिकता पर सुरक्षा अधिक है।
 – 
MaratC
3 मार्च 2020, 00:15

HTTP कोड को वैश्विक साझा लाइब्रेरी में ले जाएं :

इन पुस्तकालयों को "विश्वसनीय:" माना जाता है, वे जावा, ग्रूवी, जेनकिंस आंतरिक एपीआई, जेनकिंस प्लगइन्स या तीसरे पक्ष के पुस्तकालयों में किसी भी तरीके को चला सकते हैं। यह आपको पुस्तकालयों को परिभाषित करने की अनुमति देता है जो किसी भी पाइपलाइन से उपयोग के लिए सुरक्षित उच्च स्तरीय रैपर में व्यक्तिगत रूप से असुरक्षित एपीआई को समाहित करता है।

0
zett42 3 मार्च 2020, 00:58