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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

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,551,796
Community Members
 
Community Events
184
Community Groups

Behaviours: Scriptrunner and Insight for JIRA

I am doing field behaviors using scriptRunner and hit some sort of challenging problem.

The requirement is that when the user selected "VSC" from the drop down(insight object single select field), then other fields show appear.  But for some reason they don't show VSC is selected.  Please assist.

Below is the code:

def businessUnit = getFieldById("customfield_10622")


def selection = businessUnit.getValue()

def application = getFieldById("customfield_11001")
def serviceAffected = getFieldById("customfield_11002")
def applicationVersion = getFieldById("customfield_11008")
def customer = getFieldById("customfield_11007")

if(selection == "VSC")
{

application.setHidden(false) //show the fields
application.setRequired(true) //set the fields to be required
application.setHelpText("This field is required, please provide information") //Helptexts

def applicationSelection = application.getValue()

if((applicationSelection == "MYSILS") || (applicationSelection == "PPECB") || (applicationSelection == "MYEXCHANGE"))
{
customer.setHidden(false) //show the customer field
serviceAffected.setHidden(false) //show the services affected field

}
else
{
customer.setHidden(false) //show the customer field
serviceAffected.setHidden(false) //show the services Affected field
applicationVersion.setHidden(false) //show the Application version field
}

}else{

//hide the fields
application.setHidden(true)
serviceAffected.setHidden(true)
customer.setHidden(true)
applicationVersion.setHidden(true)


}

2 answers

1 accepted

1 vote
Answer accepted
Joshua Yamdogo _ Adaptavist
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
May 08, 2018

Shawn,

I think this is because Insight custom fields are not compatible with ScriptRunner behaviours. We have been working on implementing compatibility: https://productsupport.adaptavist.com/browse/SRJIRA-2563

I would suggest following that issue to see when the compatibility is released.

Regards,

Josh

Hi, I manage recently to use the insight fields in a behavior scriptrunner configuration.

I use the key of the object in the if statement instead of the string of the selected choice.

If the "required field" is set either to 'DD-166215' or 'DD-166253', then the text field will be set to visible and required.

Here is my example, hope it can guide you too.

it is set as a script on the field1 in behavior, ( not the initializer section)

 

def requiredField = getFieldByName('field1')
def textField = getFieldByName('field2')
def requiredValue = requiredField.getValue()

if (requiredValue.toString() == 'DD-166215' || requiredValue.toString() == 'DD-166253') {
  textField.setRequired(true)
  textField.setHidden(false)
} else {
  textField.setRequired(false)
  textField.setHidden(true)
}

one more thing,

To see the keys of the selected objects in the insight field.

Go to an issue that has these fields available on the screen, change the field on the issue. Go to the activity tab All to see all changes on the issue, there you will see the keys of the object you just changed. 

Hi

Thanks for the example. I tried it out and i gor one issue. It seems like it doesnt react to the first selection. Let me try to describe it

I have a custom field mapped to and insight object type. No Default value and the above behaviour script on it. When I select the first time theres no reaction. As soon as a I make the second selection The behaviour starts reacting.

Does it make sense?

Any ideas

Regards Michael

Hello, I have 3 fields in my form.
I hide the last two.

Configured behaviour for the first field  "Projects".
Script part.

def projectcf = getFieldById("customfield_13107")

def juricf = getFieldById("customfield_13108")

def rolecf = getFieldById("customfield_13109")

juricf.setHidden(true)

rolecf.setHidden(true)

def project = projectcf.getValue()

if (project) {

juricf.setHidden(false)

}


Then I added configuration for "Jurisdictions" field.
Script part.

def juricf = getFieldById("customfield_13108")

def rolecf = getFieldById("customfield_13109")

def jurisdiction = juricf.getValue()

if (jurisdiction) {

rolecf.setHidden(false)

}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events