Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,364,438
Community Members
 
Community Events
168
Community Groups

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

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)

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)

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events