Example scripts
To homepage
Jira

Use TrustedRequestFactory to make an HTTP GET request without the user password
App in script

ScriptRunner For Jira
by Adaptavist
Compatibility

Jira (8.0 - 8.19)

ScriptRunner For Jira (7.10.0)
Language |
groovy
import com.atlassian.oauth.Request
import com.atlassian.sal.api.ApplicationProperties
import com.atlassian.sal.api.UrlMode
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import groovy.json.JsonSlurper
import java.net.http.HttpClient
import java.net.http.HttpRequest
import java.net.http.HttpResponse
@PluginModule
ApplicationProperties applicationProperties
def url = applicationProperties.getBaseUrl(UrlMode.CANONICAL) + '/rest/api/2/myself'
def request = HttpRequest.newBuilder()
.uri(OAuthRequestSigner.createOAuthUri(url))
.header("Content-Type", "application/json")
.header("Authorization", OAuthRequestSigner.createAuthorizationHeader(url, Request.HttpMethod.GET))
.GET()
.build()
def response = HttpClient.newHttpClient()
.send(request, HttpResponse.BodyHandlers.ofString())
if (response.statusCode() >= 400) {
throw new Exception("Status code: ${response.statusCode()}. Response body: ${response.body()}")
}
def currentUser = new JsonSlurper().parseText(response.body()) as Map
currentUser
/*
responseBody is a JSON string that looks like:
{
"self": "http://localhost:8080/jira/rest/api/2/user?username=admin",
"key": "admin",
"name": "admin",
"emailAddress": "admin@admin.com",
"avatarUrls": {
"48x48": "https://www.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028?d=mm&s=48",
"24x24": "https://www.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028?d=mm&s=24",
"16x16": "https://www.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028?d=mm&s=16",
"32x32": "https://www.gravatar.com/avatar/64e1b8d34f425d19e1ee2ea7236d3028?d=mm&s=32"
},
"displayName": "Mr Admin",
"active": true,
"timeZone": "Europe/London",
"locale": "en_GB",
"groups": {
"size": 4,
"items": [
]
},
"applicationRoles": {
"size": 2,
"items": [
]
},
"expand": "groups,applicationRoles"
}
*/Having an issue with this script?
Report it here