Forums

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

Using your own scripts

boris_samoylov February 18, 2022

Good afternoon. Help solve the problem using the generated scripts. We have an endpoint where I want to use a script from the Script Editor. But I get an error - The script could not be compiled:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Script761.groovy: 17: unable to resolve class Generator

Снимок экрана от 2022-02-18 15-37-37.png Снимок экрана от 2022-02-18 15-36-57.png Снимок экрана от 2022-02-18 15-36-15.png

2 answers

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
PD Sheehan
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, 2022

If you want to import a class into another script, the script file has to match the class name.

So try to rename update.groovy to Generator.groovy

Then you will be able to 

import sidebar.Generator
Generator gen = new Generator()
gen.collectData(...)

I see that your collectData method is static, this means you don't need to instantiate the class first:

import sidebar.Generator
Generator.collectData(...)
boris_samoylov February 21, 2022

Thanks. It works for normal classes. What about nested classes? I have classes in my Generator script and I want to call one of the nested class methods. Generator.InnerClass.method() not working

PD Sheehan
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 21, 2022 edited

I don't think it's possible to access a nested class that is nested inside a script.

The nested class would only be available from inside the script itself.

So if you want your nested class to be available to other scripts, then it must be nested inside a proper groovy glass.

0 votes
Helmy Ibrahim _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.
February 18, 2022

Hi boris_samoylov,

Your filename should be the same as your class name. So, you can update the filename to Generator.groovy and update the import to sidebar.Generator and it should work now.

I hope this helps!

Cheers,
Helmy

TAGS
AUG Leaders

Atlassian Community Events