Skip to content

Instantly share code, notes, and snippets.

@ItaloQualisoni
Last active July 22, 2020 22:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ItaloQualisoni/4c9e049f309c34b999a04afcd681727a to your computer and use it in GitHub Desktop.
Save ItaloQualisoni/4c9e049f309c34b999a04afcd681727a to your computer and use it in GitHub Desktop.
ListenerWithSharedCode
import com.onresolve.scriptrunner.runner.rest.common.CustomEndpointDelegate
import groovy.json.JsonBuilder
import groovy.transform.BaseScript
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.bc.project.component.ProjectComponent
import javax.ws.rs.core.MultivaluedMap
import javax.ws.rs.core.Response
@BaseScript CustomEndpointDelegate delegate
import helper.ComponentHelper
def componentHelper = ComponentHelper.getComponentHelper();
getComponent(httpMethod: "GET",groups: ["jira-software-users","jira-administrators"]) { MultivaluedMap queryParams, String body ->
def query = queryParams.getFirst("query") as String
def projectKey = queryParams.getFirst("projectKey") as String
def componentList = componentHelper.getComponents(projectKey,query)
def rt = [
items : componentList.collect { ProjectComponent row ->
[
value: row.getName(),
html: "<b>${row.getName()}</b>" ,
label: row.getName(),
]
},
total: componentList.size(),
footer: "Choose component from project ${projectKey}... "
]
return Response.ok(new JsonBuilder(rt).toString()).build();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment