Hi Team,
I have a script which I wrote that hides/shows fields based on a selection in a drop down using script runner behaviours.
There is a select list (single choice) named 'Single/Multiple users' with values "single" and "multiple users". Based on the selecting of the 'Single/Multiple users' certain fields are hidden which works fine.
import com.atlassian.jira.issue.IssueFieldConstants
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours
final String fieldName = "Disclaimer"
// get field by name and make it read only// get field by id and make it read only
//getFieldById(IssueFieldConstants.DUE_DATE).setReadOnly(true)
def CField1= getFieldByName("Bulk upload - Users")
def CField2= getFieldById("attachment")
def CField3= getFieldByName("First Name")
def CField4= getFieldByName("Last Name")
def CField5= getFieldByName("Employee Alias")
def CField7= getFieldByName("Standard Bank Email Address")
def CField8= getFieldByName("Disclaimer")
def CField9= getFieldByName("Please note :")
def TCType = getFieldById(getFieldChanged())
def selectedOption = TCType .getValue() as String
if(selectedOption=="Single User")
{
CField1.setHidden(true)
CField7.setHidden(true)
CField2.setHidden(true)
CField3.setHidden(false)
CField4.setHidden(false)
CField5.setHidden(false)
CField7.setHidden(false)
CField8.setHidden(true)
}
else if (selectedOption=="Multiple Users")
{
CField1.setHidden(false)
CField2.setHidden(false)
CField3.setHidden(true)
CField4.setHidden(true)
CField5.setHidden(true)
CField7.setHidden(false)
CField8.setHidden(false)
getFieldByName(fieldName).setReadOnly(true)
}
I need to amend the script for a scenario to hide values in a select list multichoice field :
case :
1. If I select single user - select list(multi choice) field show's all values e.g Jira, confluence, Bamboo, Bitbucket.
2. if I select multiple users - select list(multi choice) field hides some values e.g Jira, confluence
Do I need to add conditions within the scripted field to cater for the use case ?
Could this be covered by https://library.adaptavist.com/entity/set-behaviour-multi-and-single-select-options-and-value ?
Thanks for the script.
I have added the initialiser but nothing is triggered.
Please advise.
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours
final singleSelectListName = 'Single User'
final multiSelectListName = 'Multiple User'
final referringtool = 'Referring Tool'
[singleSelectListName,referringtool, multiSelectListName].each { selectFieldName ->
// Get the select field
def selectField = getFieldByName(selectFieldName)
// Getting select field options
def selectCustomField = customFieldManager.customFieldObjects.findByName(selectFieldName)
def selectConfig = selectCustomField.getRelevantConfig(issueContext)
def selectOptions = ComponentAccessor.optionsManager.getOptions(selectConfig)
// Filter select available options
final selectAvailableOptions = selectOptions.findAll { it.value in ['Bamboo', 'Bitbucket', 'Confluence Enterprise', 'Jira Enterprise'] }
selectField.setFieldOptions(selectAvailableOptions)
// Set the default values depending on select type
if (selectFieldName == singleSelectListName) {
def defaultValue = selectAvailableOptions.find { it.value == 'Bamboo' }
selectField.setFormValue(defaultValue.optionId)
} else if (selectFieldName == multiSelectListName) {
def defaultValues = selectAvailableOptions.findAll { it.value in ['Bitbucket', 'Confluence Enterprise'] }
selectField.setFormValue(defaultValues*.optionId)
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Online forums and learning are now in one easy-to-use experience.
By continuing, you accept the updated Community Terms of Use and acknowledge the Privacy Policy. Your public name, photo, and achievements may be publicly visible and available in search engines.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.