Hey guys,
I'm not really a developer, but I have a requirement for a create issue screen that I would like to implement.
Unfortunately I could not find anything suitable on the www.
in the create issue screen i have a custom field (cascading select list) with the following values.
parentid:
- one time
- Every day
- weekly
- per month
childid:
- Set up archiving
- Task file transfer set up
i want to make some work easier for the user.
if selection parentid:
{"daily or" weekly "or" monthly"}
then childid:
{"Set up task file transfer"}
so the user has a predefined selection of the most frequently occurring value. however, he can change it manually
I hope you can help me
seems i found a solution:
// Write this behavior on field Archivierungsdauer(Cascading Select List field)
import com.atlassian.jira.component.ComponentAccessor
def crField = getFieldById(getFieldChanged())
def selectedOption = crField.getValue() as String
// det the cascading select field
def fieldName = "Archivierungsdauer"
//Parent value you want to select (Cascade select list) parent)
def parent1 = "einmalig"
def parent2 = "täglich"
def parent3 = "wöchentlich"
def parent4 = "monatlich"
// child value that you want to select (Cascade select list child)
def child1 = "Archivierung einrichten"
def child2 = "Zusätzlichen FBIA Task Filetransfer einrichten"
//Get Cascade select List field
def field = getFieldByName(fieldName)
def optionsManager = ComponentAccessor.getOptionsManager()
def customField = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName(fieldName)
def fieldConfig = customField.getRelevantConfig(getIssueContext())
def options = optionsManager.getOptions(fieldConfig)
// Select the value of form field value (Select list field)
if (selectedOption.contains("einmalig"))
{
//Set einmalig default values
def parentOption = options.find {it.value == parent1}
def childOption = parentOption?.childOptions?.find {it.value == child1}
field.setFormValue([
parentOption.optionId,
childOption.optionId
])
}
else if (selectedOption.contains("täglich"))
{
//Set täglich default values
def parentOption = options.find {it.value == parent2}
def childOption = parentOption?.childOptions?.find {it.value == child2}
field.setFormValue([
parentOption.optionId,
childOption.optionId
])
}
else if (selectedOption.contains("wöchentlich"))
{
//Set wöchentlich default values
def parentOption = options.find {it.value == parent3}
def childOption = parentOption?.childOptions?.find {it.value == child2}
field.setFormValue([
parentOption.optionId,
childOption.optionId
])
}
else if (selectedOption.contains("monatlich"))
{
//Set monatlich default values
def parentOption = options.find {it.value == parent4}
def childOption = parentOption?.childOptions?.find {it.value == child2}
field.setFormValue([
parentOption.optionId,
childOption.optionId
])
}
else {
return
}
if i start create issue the first lection af a parrent value and autom. set the child value works..
BUT:
if ich change the parrent value to another, both values are changing the value continuously.
Join us to learn how your team can stay fully engaged in meetings without worrying about writing everything down. Dive into Loom's newest feature, Loom AI for meetings, which automatically takes notes and tracks action items.
Register today!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.