A simple example code: function getCurrentUser(issueId)
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.sal.api.user.UserManager
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import groovy.transform.BaseScript
import javax.servlet.http.HttpServletRequest
import javax.ws.rs.core.Response
import javax.ws.rs.core.MultivaluedMap
@BaseScript CustomEndpointDelegate delegate
getCurrentUser(httpMethod: "GET", groups: ["jira-software-users"]) { MultivaluedMap queryParams, body, HttpServletRequest request ->
def userManager = ComponentAccessor.getOSGiComponentInstanceOfType(UserManager)
def userProfile = userManager.getRemoteUser(request)
def issueId = queryParams.getFirst("issueId") as String
return Response.ok(new JsonBuilder([currentUser: userProfile?.username, issueId: issueId]).toString()).build();
}
Example query: /rest/scriptrunner/latest/custom/getCurrentUser?issueId=KEY-111
Example result:
{"currentUser":"rpelaez","issueId":"KEY-111"}
By MrAddon
.






Hello MrAddon,
this is very useful because sometimes, when you run REST Endpoints you want to know who does the action.
Great job!
LikeLiked by 2 people