मेरे पास कर्ल कमांड है जैसा कि नीचे दिया गया है, मुझे इसे जेनकींस पाइपलाइन के लिए ग्रूवी स्क्रिप्ट में चलाने की आवश्यकता है। मैं एन्कोड किए गए एकाधिक यूआरएल के साथ कैसे कार्यान्वित करूं?

curl --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \
--header 'Content-Type: application/x-www-form-urlencoded' \
--data-urlencode 'client_id=234htryjbd97bkjkjkls0099kjkbjb' \
--data-urlencode 'client_secret=9987657884yterws87654hjkjhhvj' \
--data-urlencode 'grant_type=client_credentials'

मैंने जेनकींस पाइपलाइन के लिए शरीर के साथ ग्रोवी का उपयोग किया है:

def jsonBody = '{"userName": "' + myusername +'" ,"password": "' + mypassword + '" }'
def token =  httpRequest consoleLogResponseBody: false, contentType: 'APPLICATION_JSON', httpMode: 'POST', httpProxy: 'http:// myproxy.someone.com:8080', requestBody: jsonBody, url: 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token', wrapAsMultipart: false
def cont = new JsonSlurper().parseText(token.content)
0
AKB 6 फरवरी 2021, 00:58

2 जवाब

सबसे बढ़िया उत्तर

mule doc शपथ/टोकन अनुरोध सादा जोंस हो सकता है:

POST /accounts/oauth2/token HTTP 1.1
Host: anypoint.mulesoft.com
Content-Type: application/json

{
   "client_id" : "123456789",
   "client_secret": "123456789",
   "grant_type" : "client_credentials"
}

तो, आपका कोड इस तरह हो सकता है:

def jsonBody = new groovy.json.JsonBuilder(
    client_id:     '234htryjbd97bkjkjkls0099kjkbjb',
    client_secret: '9987657884yterws87654hjkjhhvj',
    grant_type:    'client_credentials'
).toPrettyString()

def token =  httpRequest(
  consoleLogResponseBody: false, 
  contentType: 'APPLICATION_JSON', 
  httpMode: 'POST', 
  httpProxy: 'http:// myproxy.someone.com:8080', 
  requestBody: jsonBody, 
  url: 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token', 
  wrapAsMultipart: false
)
0
daggett 6 फरवरी 2021, 08:02

एक और दृष्टिकोण

final def(String tokenResponse, int code) = sh(script: "#!/bin/sh -e\n \
        curl -w '\\n%{response_code}' --location --request POST 'https://anypoint.mulesoft.com/accounts/api/v2/oauth2/token' \
        --proxy 'http://myproxy.someone.com:8080' \
        --header 'Content-Type: application/x-www-form-urlencoded' \
        --data-urlencode 'client_id=${client_id}' \
        --data-urlencode 'client_secret=${secret}' \
        --data-urlencode 'grant_type=client_credentials'", returnStdout: true).trim().tokenize("\n")
    if(code != 200){
        throw new Exception("=== UnAuthorized --> " + tokenResponse)
    }else{
       // Continue furtther
    }
0
AKB 8 फरवरी 2021, 19:09