Получите имя типа запроса в прослушивателе событий проблемы - 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