How to use ScriptManager Class from Groovy Runner?

Prasanth February 17, 2014

I have tried to retrieve it with ComponentAccessor/ComponentManager. But no luck, it returns null and

GroovyClassLoader gcl = scriptManager.getGcl()

def renameUser = gcl.loadClass("com.onresolve.jira.groovy.canned.admin.RenameUser", true, false).newInstance();

fails with error "Cannot invoke method getGcl() on null object"

I tried both

def scriptManagerClass = ComponentAccessor.getPluginAccessor().getClassLoader().loadClass("com.onresolve.jira.groovy.ScriptManager")

def scriptManager = ComponentAccessor.getOSGiComponentInstanceOfType(scriptManagerClass)

and

def scriptManager = (ScriptManager) ComponentAccessor.getComponent(ScriptManager.class);

but it returns a null.

I am trying to write a script to merge multiple users. Any suggestions?


1 answer

1 accepted

0 votes
Answer accepted
Henning Tietgens
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.
February 18, 2014

Why you need the the ScriptManager? Simply write your script and execute via script console, this is how I do it. Or do you have any special needs for the ScriptManager?

Prasanth February 18, 2014

Hi Henning,

I am trying to reuse the RenameUser from inbuilt "Rename User ID" script to "merge" multiple users. If that works, instead of making changes to the inbuilt scripts or rewriting the whole script , features can be used. There are some examples here https://bitbucket.org/fhess/scriptrunner-public/src/522c5c99ab52/src/test/resources/examples/RenameDuplicateUsers.groovybut it's not working anymore.

Thanks

Henning Tietgens
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.
February 18, 2014

If you try to reuse scripts from script runner, I think you have to take care to use the same package (and the corresponding path for the script). Than there should be no problem on using other script runner classes.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events