Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save andreyev/94bd402cdcc41ef4166f5abf97bd43da to your computer and use it in GitHub Desktop.
Save andreyev/94bd402cdcc41ef4166f5abf97bd43da to your computer and use it in GitHub Desktop.
ScriptRunner REST Endpoint to update JIRA's User Property
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import groovy.transform.BaseScript
import com.atlassian.jira.component.ComponentAccessor
import javax.servlet.http.HttpServletRequest
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
import com.atlassian.jira.component.ComponentAccessor
def userPropertyManager = ComponentAccessor.getUserPropertyManager()
def userManager = ComponentAccessor.getUserManager()
@BaseScript CustomEndpointDelegate delegate
updateUserProperty(
httpMethod: "GET", groups: ["admin"]
) {
MultivaluedMap queryParams, String body,HttpServletRequest request ->
def callbackFn = queryParams.getFirst("callback")
def username = request.getParameter("username");
def property = request.getParameter("property");
def value = request.getParameter("value");
def user = userManager.getUserByName(username)
userPropertyManager.getPropertySet(user).setString("jira.meta."+property,value)
return Response.ok(new JsonBuilder([status: "ok"]).toString()).build()
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment