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
Community moderators have prevented the ability to post new answers.
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.