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

Scriptrunner post-function: Update reporter into value from a custom field

Thu Trần Aroma
Contributor
June 22, 2017

I have a custom field (user picker) containing a user name.

Tester: "userA" 

I'd like to add a scriptrunner post function that will update current reporter into the "userA" as the value of the custom field Tester.

 

Could anyone help me with the script?

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
1 vote
Answer accepted
Thanos Batagiannis [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.
June 26, 2017

Hi Thu,

Try a custom script post-function like 

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.user.ApplicationUser

def issue = issue as MutableIssue

def cf = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("UserPicker")
def cfValue = issue.getCustomFieldValue(cf) as ApplicationUser

if (cfValue) {
    issue.setReporter(cfValue)
}
else {
    log.debug "Did not update the reporter because value of UserPicker field was null"
}

Please let me know if this does the trick.

regards, Thanos

Thu Trần Aroma
Contributor
July 8, 2017

Thank you for your support.

It works like magic!

Edward Greathouse
Contributor
August 21, 2018

This script is similar to what I want to do, except I want to set the reporter to a specific user depending if the custom field value equals 'Support'. Here is what I have:

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.user.ApplicationUser

def issue = issue as MutableIssue

def cf = ComponentAccessor.customFieldManager.getCustomFieldObjectByName("Origin")
def cfValue = issue.getCustomFieldValue(cf)

if (cfValue == 'Support') {
issue.setReporter('sthomson@ivansinsurance.com')
}
else {
log.debug "Did not update the reporter because custom field value was null"
}

 

However, I get the following error on the "setReporter()" line:

com.atlassian.jira.issue.MutableIssue#setReporter(java.lang.String). Please check if the declared type is right and if the method exists.

Any help would be greatly appreciated!

Edward Greathouse
Contributor
August 21, 2018

*Additional Info*

The script will run, but it is not logging the string, nor is it setting the reporter.

0 votes
Nina Zolotova
Contributor
July 18, 2018

@Thanos Batagiannis [Adaptavist], thank you, your script helped me a lot!

TAGS
AUG Leaders

Atlassian Community Events