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

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Send data to external API using scriptrunner

Hi I need to create a script  using groovy to send data to an external API app. in a postfunction. 

I need to it using the PUT method. 

Anyone kwnos any documentation or a simple example to do it?

thanks in advance.

2 answers

Hello Sergio,

Bellow is an example of a script that makes use of the HttpBuilder and posts a message to Slack. 

import groovy.json.JsonBuilder
import groovyx.net.http.ContentType
import groovyx.net.http.HTTPBuilder
import groovyx.net.http.Method

def http = new HTTPBuilder("https://hooks.slack.com")
http.request(Method.POST, ContentType.TEXT) {
uri.path = "/services/XXXX/YYYYY/ZZZZZ" // <1>
body = new JsonBuilder([
channel : "#dev",
username : "webhookbot",
text : "Hello World !",
icon_emoji: ":ghost:",
mrkdwn : true,
]).toString()
}

Hope that helps. 

Regards, Thanos

I am using your exact code, just with the url and the channel changed.

Getting these errors

 

There was an error during the execution of your script

MESSAGE:
groovy.lang.MissingMethodException: No signature of method: groovyx.net.http.HTTPBuilder.request() is applicable for argument types: (groovyx.net.http.Method, groovyx.net.http.ContentType, script15283798434881196727310$_run_closure1) values: [POST, text/plain, script15283798434881196727310$_run_closure1@2b2f527c]
Possible solutions: request(groovyx.net.http.Method, groovy.lang.Closure), request(groovyx.net.http.Method, java.lang.Object, groovy.lang.Closure), request(java.lang.Object, groovyx.net.http.Method, java.lang.Object, groovy.lang.Closure)

I am using your exact code, just with the url and the channel changed.

Getting these errors

 

There was an error during the execution of your script

Message:
groovy.lang.MissingMethodException: No signature of method: groovyx.net.http.HTTPBuilder.request() is applicable for argument types: (groovyx.net.http.Method, groovyx.net.http.ContentType, script15283798434881196727310$_run_closure1) values: [POST, text/plain, script15283798434881196727310$_run_closure1@2b2f527c]
Possible solutions: request(groovyx.net.http.Method, groovy.lang.Closure), request(groovyx.net.http.Method, java.lang.Object, groovy.lang.Closure), request(java.lang.Object, groovyx.net.http.Method, java.lang.Object, groovy.lang.Closure)

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Asked in Jira Service Desk

Calling all Insight users, we need your help!

Hello Insight users,  As part of our (Mindville's) acquisition by Atlassian, our training team is looking to build some new Insight training materials. It would really helpful if you can ...

97 views 1 0
View question

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you