Forums

Articles
Create
cancel
Showing results for 
Search instead for 
Did you mean: 

Scriptrunner - unable to resolve class

Ben Cohen May 14, 2017

Hello,

I want to change the assignee of an issue based on a checkbox. if the value "Related" is check in the custom filed "Customer Related", I want the assignee to be change to some one else.

I tried to do the following using scriptrunner post function:

 

import com.atlassian.jira.ComponentManager;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.user.util.UserManager;

ComponentManager componentManager = ComponentManager.getInstance();
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager();
CustomField customer_Related= customFieldManager.getCustomFieldObject("customfield_xxxx");
customer_Related_Value = issue.getCustomFieldValue(customer_Related);
if (customer_Related_Value*.value.contains("Related"))
{
    User usera = userManager.getUser('Username');
    issue.setAssignee(usera);
    issue.store()
}

But I got the following error:

 

The script could not be compiled:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script63.groovy: 12: unable to resolve class User 
 @ line 12, column 10.
       User usera = userManager.getUser('Username');
            ^

1 error

Thanks,

Ben

2 answers

1 accepted

0 votes
Answer accepted
Nic Brough -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 14, 2017

You need to import a class to represent the user.  I suspect

import com.atlassian.jira.user.ApplicationUser

is the one you want.  I'm assuming JIRA 7 here.

Also, getUser is deprecated, so I'd use getUserByName instead.

Ben Cohen May 14, 2017

import com.atlassian.jira.user.ApplicationUser , didnt solved it.

how do you suggest to change the code to fit with getUserByName?

 

Nic Brough -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 14, 2017

You need to use the class that provides too, ApplicationUser, not User.  getUserByName can replace getUser directly

0 votes
Ben Cohen May 14, 2017

import com.atlassian.jira.user.ApplicationUser , didnt solved it.

how do you suggest to change the code to fit with getUserByName?

Suggest an answer

Log in or Sign up to answer