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

Next challenges

Recent achievements

  • Global
  • Personal

Recognition

  • Give kudos
  • Received
  • Given

Leaderboard

  • Global

Trophy case

Kudos (beta program)

Kudos logo

You've been invited into the Kudos (beta program) private group. Chat with others in the program, or give feedback to Atlassian.

View group

It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

How to leave a Scripted Field unchanged? Edited

Hi,

we're running Jira Server with Script Runner 6.5.0.

I have defined a Scripted Field that uses a custom script to calculate a value from another field and a project-specific constant. This works very well.

Now there is a new requirement: the scripted field should only be recalculated if the issue is in a certain state. So I proceed like this:

def statusName = issue.getStatus().getSimpleStatus().getName()
if statusName in ["Status A", "Status B"] {
// calculate newValue
return newValue
}

As long as the issue's is "Status A" or "Status B", this works fine. Unfortunately, if the issue is in a different state, the script returns null, which deletes the field's previous value. But in this case I want to keep the previous value. Unfortunately one cannot get the current value of the field by getValue(issue) to return it, because this leads to a recursion.

Does anyone have a hint for me? Thanks in advance!

Frank

 

1 answer

1 accepted

0 votes
Answer accepted

Hi @Frank Winkler 
My workaround (I dont know if there's a better way) was saving the scripted field value on another custom field. 
That way I was able to do operations with the previous value. 
In your case, you would have to return the value in the custom field. 
If your scripted field is calculated, update also the custom field.

I hope this gives you an idea.

def statusName = issue.getStatus().getSimpleStatus().getName()
if statusName in ["Status A", "Status B"] {
// calculate newValue
update your custom field with newValue
return newValue
}else{
return yourNewCustomField
}

Hi @Gustavo Félix,

thank you for your the answer - I had already thought along these lines.

But since we already use a lot of custom fields and this requirement involves eight scripted fields, I'm looking for a solution that doesn't require an additional custom field for each scripted field.

Maybe someone from Adaptavist will read along and can give a hint?

Best regards!

Frank

I hope you find another answer.
Good luck!

Thanks, Gustavo

Hi @Gustavo Félix 

no answer from Adaptavist support - so I implemented your solution using additional custom fields. And it works! Thanks!

regards!

Frank

Like Gustavo Félix likes this

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Jira

Jira Cloud Performance Improvements

Hello everyone, I am a product manager in the Jira Cloud team focused on making sure our customers have a delightful experience using our products. Towards that goal, one of the areas which is extr...

175 views 2 9
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you