Missed Team ’24? Catch up on announcements here.

×
Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

Issue with Behavior Initialiser(hidding custom field value based on Issue Type Selection)

Hemanshu Sood April 10, 2019

HI all,

I have created a script which displays/Hides select list options in Jira create issue screen based on issue type selection.

e.g. I have issue types A, B & C and a select list "Type" with options "1,2& 3". Hence my script goes like this:

 

if (issuetype.contains("A")) {

def optionsMap = options.findAll {
it.value in ["1","2"] // list of options you want to show
}.collectEntries {
[
(it.optionId.toString()): it.value
]
}
selectcf.setFieldOptions(optionsMap)
}

if (issuetype.contains("B")) {

def optionsMap = options.findAll {
it.value in ["2","3"] // list of options you want to show
}.collectEntries {
[
(it.optionId.toString()): it.value
]
}
selectcf.setFieldOptions(optionsMap)
}

 

The script works fine on create issue screen.

However , on edit issue screen if i want to change any field value, the Select List value gets reset(to the first value , say "1"). Ideally, on Edit Screen, Select List value should be same as the one on the view issue screen.

How can i stop this? please help.

1 answer

Suggest an answer

Log in or Sign up to answer
0 votes
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
April 30, 2019

Try this:

if(getActionName() != 'Create'){
return // not the create action, so skip the rest of the behavior
}

Also, it sometimes helps to examine the type of the issueContext. For new issues, the context is not an actual issue yet. But for all other screen, it's an IssueImpl object.

So you can do something like this:

if(issueContext instanceof IssueImpl) {
    //do something you only want if a real issue exists (i.e. not for create)
}
TAGS
AUG Leaders

Atlassian Community Events