Hi,
I have a requirement to show the custom field to Administrator and group. Even on create screen needs to hide the field for everyone.
I tried using behavior to hide/show the fields for administrator and group like as below
Placed the below code in Initialiser
import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.project.Project
import com.atlassian.jira.project.ProjectManager
import com.atlassian.jira.security.roles.ProjectRole
import com.atlassian.jira.security.roles.ProjectRoleManager
import com.atlassian.jira.component.ComponentAccessor
def IssueKey = formContents["id"]
def issue = ComponentAccessor.getIssueManager().getIssueObject(IssueKey as Long)
//Get the PMNote field
def PMNote = getFieldById ("customfield_17736")
PMNote.setHidden(true)
//Get the project role and group data
def projectManager = ComponentAccessor.getProjectManager()
def projectId = issue.getProjectId()
def project = projectManager.getProjectObj(projectId)
def groupManager = ComponentAccessor.getGroupManager()
ProjectRoleManager projectRoleManager = (ProjectRoleManager) ComponentAccessor.getComponentOfType(ProjectRoleManager.class)
ProjectRole administrator = projectRoleManager.getProjectRole("Administrators")
//Get current user information
def user = ComponentAccessor.jiraAuthenticationContext.getLoggedInUser()
if ( (projectRoleManager.isUserInProjectRole(user,administrator,project)) || (groupManager.isUserInGroup(user, 'jira-StatusAdmin'))){
PMNote.setHidden(false)
}else {
PMNote.setHidden(true)
}
It is not working while creation but its working for rest of the states. Can anyone help me how I can hide the field while creation ?
I am thinking on create below code not checking as we did not get ID until we press create.
def IssueKey = formContents["id"]
Does anyone have any idea ?