Are you in the loop? Keep up with the latest by making sure you're subscribed to Community Announcements. Just click Watch and select Articles.

×
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

Scriptrunner: behaviours update field content

Dears,

I am using scriptunner behaviors to update the value of a field, but this new value is not showing.

The fieldtypes I am trying to update are:

  • User Picker (multiple users)
  • Insight Object (single select)

What I am trying is: a.setFormValue("AS-9573")

Am I missing something or doing something wrong?

Kind regards,

 

Matt

2 answers

Suggest an answer

Log in or Sign up to answer
1 vote
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.
Oct 09, 2017

I would think that there are two issues here.

1) I see that your question is tagged with Jira Service Desk. Unfortunately, there are compatibility issues between behaviours and Jira Service Desk. You can read more about this problem here: https://productsupport.adaptavist.com/browse/SRJIRA-728

2) Your script may be incomplete. Is this the full script you're using? You would need to get the FormField (e.g. def field = getFieldByName("field")) before trying to set the value of it.

Could you clarify whether you are using JSD and explain exactly what you are trying to accomplish?

Jonny Carter
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.
Oct 09, 2017

Also a good point from Josh: Behaviours aren't yet compatible with JIRA Service Desk screens, which may be why you aren't seeing the changes reflected. If you're editing the issue on Jira's normal Create/Edit screens, they should work, though.

Hi Joshua and Johnny,

Thank you for your reply.

What I am trying is to update the approver field with the n+1 of the reporter. The n+1 is stored in Riada Insight.

I used behaviors because this is the only way to trigger on an update field. And indeed on the customer front-end this is not working (JSD). Still it would be useful in Jira.

This is the test-code I have used (not really esthetic in functional correct):

import com.atlassian.jira.component.ComponentAccessor;

def a = getFieldByName("Approver")
def b = getFieldByName("Approvers")
def c = getFieldById("SUMMARY")

log.error("@@@@@@ "+a.getValue())
log.error("@@@@@@ "+b.getValue())
log.error("@@@@@@ "+c.getValue())
c.setFormValue("AS-9573")
a.setFormValue("AS-9573")

log.error("@@@@@@ New"+a.getValue())

 

Jira version: 7.5.0

JSD version: 3.8.2

Scriptrunner: 5.1.6

 

Kind regards,

 

Matt

0 votes
Jonny Carter
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.
Oct 09, 2017

For a multi-user picker field, you should be able to set it to a list of strings, where the strings are the user keys for the users you want to add to it.

For example,

getFieldByName('MultiUserPickerA').setFormValue(["someuser", 'admin'])

As to the Insight field, I'm trying to reproduce that now. Will update once I've got an answer.

Jonny Carter
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.
Oct 09, 2017

Just as a side note, I haven't quite determined if it's possible to set a custom field from the Insight plugin via Behaviours. I can tell that setting the form value to what looks like the object's unique ID (which seems to be what you're doing with field.setFormValue("AS-9573")) doesn't work.

If you can answer Josh's questions (above) and provide some more detail on what you're trying to do as well as your Insight object configuration, we may be able to assist further.

You may also want to consult our guide on Scripting other plugins at https://scriptrunner.adaptavist.com/latest/jira/scripting-other-plugins.html, as well as Riada's Java API: https://insight-javadoc.riada.se/insight-javadoc-4.0/

TAGS
AUG Leaders

Atlassian Community Events