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

Scriptrunner: behaviours update field content

Matthew Van Kuyk October 7, 2017

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.
October 9, 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.
October 9, 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.

Matthew Van Kuyk October 10, 2017

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.
October 9, 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.
October 9, 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