Получите имя типа запроса в прослушивателе событий проблемы - malikovalibek/groovyForJira GitHub Wiki

Обзор Этот сценарий извлекает имя типа запроса в прослушивателе событий.

пример Мне нужно что-то сделать в прослушивателе событий «проблема создана», в зависимости от имени типа запроса. Обратите внимание, что нет однозначного соответствия между именем типа задачи и именем типа запроса, поэтому нам нужно использовать следующий код, а не искать его по имени типа задачи.

Хорошо знать Поскольку этот сценарий представляет собой «сниппет», его также можно выполнить в консоли. В этом случае линию def issue = event.issue нужно удалить.

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