There are 5 issue types in use in a project.
Now I want the issue-type Problem to be selected only by users in the project role Coordinator when creating. The project role Coordinator therefore has a choice of 5.
All other users should not be given Problem as a choice and therefore only the other 4.
I solved this with the behavior below.
But the disadvantage of this is that if an issue type is added to a project, it must be remembered that the behavior is behind it.
Can I modify the script to be specific to Problem?
Regards, Marco Brundel
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
def allIssueTypes = ComponentAccessor.constantsManager.allIssueTypeObjects
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def issueTypeField = getFieldById(ISSUE_TYPE)
def remoteUsersRoles = projectRoleManager.getProjectRoles(user, issueContext.projectObject)*.name
def availableIssueTypes = []
if ("Coordinator" in remoteUsersRoles) {
availableIssueTypes.addAll(allIssueTypes.findAll { it.name in ["Change", "Incident","Problem","Question","Service Request"] })
}
else {
availableIssueTypes.addAll(allIssueTypes.findAll { it.name in ["Change", "Incident","Question","Service Request"] })
}
issueTypeField.setFieldOptions(availableIssueTypes)