Script Runner code snippets

Получить объект определенной роли

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.user.ApplicationUser

def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)

def PMrole = projectRoleManager.getProjectRole(«Project Manager»)

Получить список пользователей определенной роли

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.user.ApplicationUser

def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)

def PMrole = projectRoleManager.getProjectRole(«Project Manager»)
def PMRoleActors = projectRoleManager.getProjectRoleActors(PMrole, issue.projectObject)
def PMUsers = PMRoleActors.getApplicationUsers()

Изменить Security Level для issue

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.user.ApplicationUser
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.security.IssueSecurityLevelManager

def user = ComponentAccessor.getJiraAuthenticationContext().getUser()
def issueSecurityLevelManager = ComponentAccessor.getComponent(IssueSecurityLevelManager)

def securityLevels = issueSecurityLevelManager.getUsersSecurityLevels(issue, user)
def securityLevel = securityLevels.find {it.name == «Some Secure Level»}
issue.setSecurityLevelId(securityLevel.id)
issue.store()