Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Post Method for script runner

Pradeep A June 29, 2021

Hi can somebody post your script for Posting Json information to a web API using script runner. I couldn't find it

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 29, 2021

I like to use HttpBuilder or its simplified RESTClient

The simplest way to make a POST request is with the RESTClient

 

import groovyx.net.http.HTTPBuilder
import groovyx.net.http.RESTClient
import groovyx.net.http.Method
import groovyx.net.http.ContentType

def url = "https://some.domaim/"
def rest = new RESTClient(url)
def payload = [key:'value']
try{
def response = rest.post(path:'endpointpath'. body:payload,requestContentType:ContentType.JSON)
if(response.status == 200){
return "Success"
}
} catch(ex){
return "POST failed with status: $ex.response.status"
}
Pradeep A June 29, 2021

I'm getting this error "illegal colon after argument line "

Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
June 29, 2021

This was just an example, ultimately, you should review the documentation for ScriptRunner and HTTPBuilder.

But I see that I have a typo in my quickly put together example. I have dot where it should be a comma in the post method.

import groovyx.net.http.HTTPBuilder
import groovyx.net.http.RESTClient
import groovyx.net.http.Method
import groovyx.net.http.ContentType

def url = "https://some.domaim/"
def rest = new RESTClient(url)
def payload = [key:'value']
try{
def response = rest.post(path:'endpointpath', body:payload, requestContentType:ContentType.JSON)
if(response.status == 200){
return "Success"
}
} catch(ex){
return "POST failed with status: $ex.response.status"
}
TAGS
AUG Leaders

Atlassian Community Events