We need to prevent user to create JIRA with specific component based on user role or is there any way to hide the component from user based on the role.
I tried to hide the Component based on the user role but not working, Can some help me to fix this.
I am configured the script in Field Behaviour.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.roles.ProjectRoleManager
import static com.atlassian.jira.issue.IssueFieldConstants.*
import static com.atlassian.jira.issue.IssueFieldConstants.ISSUE_TYPE
def projectRoleManager = ComponentAccessor.getComponent(ProjectRoleManager)
def projectComponentManager = ComponentAccessor.getProjectComponentManager()
def components = projectComponentManager.findAllForProject(issueContext.projectObject.id)
def user = ComponentAccessor.jiraAuthenticationContext.loggedInUser
def componentField = getFieldById(COMPONENTS)
def availablecomponents = []
//use this def and if code to check project roles
def remoteUsersRoles = projectRoleManager.getProjectRoles(user, issueContext.projectObject)*.name
if ("Special Users" in remoteUsersRoles)
{
availablecomponents.setFormValue(components.findAll { it.name in ["01-DEVELOPMENT", "02-HELPDESK", "03-SECURITY"] }*.id)
}
else {
availablecomponents.setFormValue(components.findAll { it.name in ["02-HELPDESK", "03-SECURITY" ] }*.id)
}
componentField.setFieldOptions(COMPONENTS)
Thanks,
Vasantakumaar.