Wants to hide Custom Field Dropdown Values for three different Jira groups.
1. QA Bug value will show only for Quality team
2. UAT Bug, PO Bug, SNOW-Prod Bug will show only for PO Leads group
3. SNOW-Prod Bug will show only for Scrum Master group
We have already tried with below script in the Behavior.. But it's not working for the scenario. Please help us with the correct script.
import com.onresolve.jira.groovy.user.FieldBehaviours
import com.onresolve.jira.groovy.user.FormField
import com.atlassian.jira.component.ComponentAccessor
// Get Relevant field and options manager
def customFieldManager = ComponentAccessor.getCustomFieldManager()
def optionsManager = ComponentAccessor.getOptionsManager()
def groupManager = ComponentAccessor.getGroupManager()
// Assuming you have the ID of the select list field
def selectListId = "customfield_15520" // Replace with actual field ID
def customField = customFieldManager.getCustomFieldObject(selectListId)
def config = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(config)
def user = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
String groupName = ["TCX QA", "TCX PO Leads", "TCx Scrum Master"]
// Determine which options to display based on user's group membership
def optionsToShow = []
if (groupManager.getUsersInGroup("TCX QA").contains(user)) {
optionsToShow = ["QA Bug"]
} else if (groupManager.getUsersInGroup("TCX PO Leads").contains(user)) {
optionsToShow = ["PO Bug", "UAT Bug", "SNOW-Prod Bug"]
} else if (groupManager.getUsersInGroup("TCx Scrum Master").contains(user)) {
optionsToShow = ["SNOW-Prod Bug"]
}else {
optionsToShow = ["QA Bug", "PO Bug", "UAT Bug"]
}
// Filter options and set the field options accordingly
def optionsMap = options.findAll { it.value in optionsToShow }.collectEntries {
[(it.optionId.toString()): it.value]
}
Thank you,
MurugesanN