ScriptRunner REST API GET METHOD

Dong Park October 31, 2019

Hi,

 

Could someone show me a simple GET REST API example with username and password?  I have searched and didn't find anything useful for me to use.

 

Thanks in advance!

 

1 answer

Suggest an answer

Log in or Sign up to answer
2 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.
November 2, 2019

This will depend on the target system you are trying to connect. They may have different ways of accepting un/pw.

If it's basic authentication then something like this may work:

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

def url ="the url of the system your want to connect to: e.g htts://jira.example.com"
def endpoint = "the endpoint path e.g. /rest/2/issue/XXX-123"
def un = "username"
def pw = "password"
def encoded = "$up:$pw".toString().bytes.encodeBase64().toString()
def returnResponse
def httpBuilder = new HTTPBuilder(url)
try{
httpBuilder.request(Method.GET, ContentType.JSON) {
headers."Authorization" = "Basic $encoded"
uri.path = endpoint
response.success = { response, json ->
if (json) {
returnResponse = json
}
}
response.failure = { resp, data ->
if (data) {
returnResponse = [error: "Failed to make http request to $url/$endpoint", statusLine: resp.statusLine, data: data]
} else {
returnResponse = [error: "Failed to make http request to $url/$endpoint", statusLine: resp.statusLine]
}
}
}
} catch(e){
returnResponse = [error: "Some other error occured: $e"]
}
returnResponse
Muthukumaran_G August 11, 2020

Thank you Peter-Dave. This code helps me a lot. Also i request you that how to pass the parameter in URL like "/rest/gitplugin/1.0/issues/issueId/commits?showFiles=true"

"/commits?showFiles=true"

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.
August 11, 2020

You can either manually add it to the uri.path or apply a the query as a simple map object using uir.query. Like this:

uri.query = [showFiles:true]
TAGS
AUG Leaders

Atlassian Community Events