Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,365,521
Community Members
 
Community Events
168
Community Groups

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

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

0 votes

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

Suggest an answer

Log in or Sign up to answer
TAGS

Atlassian Community Events