JIRA v9.15.2
JSM v5.15.2
Script Runner v8.29
The script works only if the user is not part of any JSM organization.
This was working before we upgraded the all 3 items above.
Code below:
import com.atlassian.jira.component.ComponentAccessor
import static com.atlassian.jira.issue.IssueFieldConstants.*
def childField0 = getFieldByName("Account Category")
def childField1 = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()
def childField2 = getFieldByName("Select User Role(s)")
def childField3 = getFieldByName("Select ABC User Role(s)")
def childField4 = getFieldByName("Select ABC Notifier Group(s)")
def childField5 = getFieldByName("XYZ Organizations")
def childField6 = getFieldByName("Reporter").getValue() as String
def childField7 = getFieldByName("Organization")
def desc = getFieldById("summary")
childField2.setHidden(true)
childField3.setHidden(true)
childField4.setHidden(true)
childField5.setHidden(true)
def parentField = getFieldById(getFieldChanged())
def selectedOption = parentField.getValue() as String
if ((selectedOption == "OPTION A")||(selectedOption == "OPTION B") )
{
//desc.setFormValue(childField7)
if (ComponentAccessor.getGroupManager().getGroupsForUser(childField1)?.find { it.name == "ABC" })
{
childField2.setHidden(true)
childField3.setHidden(false)
childField4.setHidden(false)
childField5.setHidden(true)
childField2.setRequired(false)
childField3.setRequired(true)
childField4.setRequired(false)
childField5.setRequired(false)
}
else if (ComponentAccessor.getGroupManager().getGroupsForUser(childField1)?.find { it.name == "XYZ" })
{
childField2.setHidden(false)
childField3.setHidden(true)
childField4.setHidden(true)
childField5.setHidden(false)
childField2.setRequired(true)
childField3.setRequired(false)
childField4.setRequired(false)
childField5.setRequired(true)
}
else
{
childField2.setHidden(false)
childField3.setHidden(true)
childField4.setHidden(true)
childField5.setHidden(true)
childField2.setRequired(true)
childField3.setRequired(false)
childField4.setRequired(false)
childField5.setRequired(false)
}
}