Skip to main content
Example scripts
arrow icon
To homepage
Jira Service Desk
Data centre icon
Data Center

Get the Request Type Name in an Issue Event Listener or Workflow Function

Created 1 year ago, Updated 2 month(s) ago
App in script
ScriptRunner For Jira
ScriptRunner For Jira
by Adaptavist
Compatibility
compatibility bullet
Jira Service Desk (4.0 - 4.6)
compatibility bullet
ScriptRunner For Jira (5.6.14)
Language |
groovy
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.servicedesk.api.requesttype.RequestTypeService
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.atlassian.servicedesk.internal.customfields.origin.VpOrigin
import com.atlassian.servicedesk.internal.feature.customer.request.requesttype.CachedImmutableRequestTypeImpl

@WithPlugin("com.atlassian.servicedesk")

@PluginModule
RequestTypeService requestTypeService

def issue = event.issue
def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def customFieldManager = ComponentAccessor.customFieldManager

def requestTypeCustomField = customFieldManager.getCustomFieldObjects(issue).findByName('Customer Request Type')
def requestTypeKey = (issue.getCustomFieldValue(requestTypeCustomField) as VpOrigin)?.requestTypeKey

if (!requestTypeKey) {
    return
}

def query = requestTypeService.newQueryBuilder().issue(issue.id).build()
def requestType = requestTypeService.getRequestTypes(currentUser, query).results.find {
    (it as CachedImmutableRequestTypeImpl).key == requestTypeKey
}

def requestTypeName = requestType.name // requestTypeName contains the name of the request type
requestTypeName
Having an issue with this script?
Report it here