Hi All,
Can we automate fields value selection depends on other field value using script runner?
Ex - We have custom fields 1, 2, & 3. all are single select list fields
When user selects a field value of 1, field value of 2 and 3 should automatically select depends on the field value of 1.
I am new to script runner.
Thanks in advance,
ch
Hi Manikanta,
It is possible using behavior ScriptRunner. The below code should give you a rough idea:
/**
* List A has value 1,2
* List B has value ABC, DEF
* Purpose: Auto-populate List B from value List A
*/
import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Level
import org.apache.log4j.Logger
log.setLevel(Level.DEBUG)
final def listA = "List A"
final def listB = "List B"
def listFieldA = getFieldByName(listA)
def field = getFieldByName(listB)
def optionsManager = ComponentAccessor.getOptionsManager()
def listFieldB = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName(listB)
def listFieldBConfig = listFieldB.getRelevantConfig(getIssueContext())
def optListFieldB = optionsManager.getOptions(listFieldBConfig)
def optValueA = optListFieldB.find {it.value == "ABC"}
def optValueB = optListFieldB.find {it.value == "DEF"}
def listFieldAValue = listFieldA.getValue()
if(listFieldAValue == "1") {
log.debug("Condition passed! Update to value ABC")
field.setFormValue(optValueA.optionId)
} else if (listFieldAValue == "2") {
log.debug("Condition passed! Update to value DEF")
field.setFormValue(optValueB.optionId)
} else {
log.debug("Condition failed! Update to null")
field.setFormValue(null)
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.