Hi team,
There is one request from the customer that when we select option from one of the cascading field the values in another single select field should change. I tried with following script but it is not working and showing only external service to all the option can some one help me on this. "211948", "211949" are the single field values.
211948 - External Service
211949 - Internal Service
Regards,
Mounika
Try something like below. This is example for cascading field and one select field but you can easily modify it.
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours
def cascadingField = getFieldById("customfield_11822")
def selectField2 = getFieldById("customfield_18000")
Map cascadingFieldValue = cascadingField.getValue() as Map
def optionsManager = ComponentAccessor.getOptionsManager()
def selectField2Values = customFieldManager.getCustomFieldObject(Urzadzenie.getFieldId())
def selectField2Config = selectField2Values.getRelevantConfig(getIssueContext())
def selectField2Options = optionsManager.getOptions(selectField2Config)
if (cascadingFieldValue.get(1) == 'value1') {
selectField2.setFieldOptions(selectField2Options.findAll {
it.value in ["valueA"] })
}
else if (cascadingFieldValue.get(1) == 'value2') {
selectField2.setFieldOptions(selectField2Options.findAll {
it.value in ["valueB"] })
}
else {
selectField2.setFieldOptions(selectField2Options)
}
It works for me.
Regards,
Seba
Thanks for the response.
I tried your script by doing some modifications I am getting an error in the link
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I made a typo when I was changing code. Check code below:
import com.atlassian.jira.component.ComponentAccessor
import com.onresolve.jira.groovy.user.FieldBehaviours
import groovy.transform.BaseScript
@BaseScript FieldBehaviours fieldBehaviours
def cascadingField = getFieldById("customfield_11822")
def selectField2 = getFieldById("customfield_18000")
Map cascadingFieldValue = cascadingField.getValue() as Map
def optionsManager = ComponentAccessor.getOptionsManager()
def selectField2Values = customFieldManager.getCustomFieldObject(selectField2.getFieldId())
def selectField2Config = selectField2Values.getRelevantConfig(getIssueContext())
def selectField2Options = optionsManager.getOptions(selectField2Config)
if (cascadingFieldValue.get(1) == 'value1') {
selectField2.setFieldOptions(selectField2Options.findAll {
it.value in ["valueA"] })
}
else if (cascadingFieldValue.get(1) == 'value2') {
selectField2.setFieldOptions(selectField2Options.findAll {
it.value in ["valueB"] })
}
else {
selectField2.setFieldOptions(selectField2Options)
}
regards,
Seba
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.