Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Jira hide/show custom field on create and edit/another state for administrator role and group

Omprakash Thamsetty
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 21, 2018

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 ?

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events