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)
}
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.