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

Scriptrunner what are the import utility classes

Saqib Dar October 26, 2022

Scriptrunner what are the import utility classes we mention the top of scripting and from where i will get it?

2 answers

2 accepted

Suggest an answer

Log in or Sign up to answer
2 votes
Answer accepted
Peter-Dave 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.
October 26, 2022

Under the covers, the code you write with Scriptrunner in groovy consist of Java code.

And in groovy just as in java, you can only interact with object classes that have been imported into the current context.

A class must already exist and be available within the class loader context before it can be explicitly imported into a script or another class. So that means that just about any class available in Jira will be available for import.

Generally, you will learn over time which classes are useful. But you can also consult the javadocs for your version:  E.g. https://docs.atlassian.com/software/jira/docs/api/8.20.13/index.html to know what's available.

By default, classes that are provided by plugins won't be available. But Scriptrunner ships with a special "WithPlugin" class that let us get access to classes for a given plugin if you know the plugin key.

Also, it's possible to import classes not available in the Jira environment by using @grab statements. This will download the .jar files associated with the packages you grab from a public maven repository and store them locally.

Saqib Dar November 13, 2022

Thanks @Peter-Dave Sheehan for sharing the info

0 votes
Answer accepted
Hieu
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.
November 11, 2022

Hi @Saqib Dar a small example, just explain base on concept of @Peter-Dave Sheehan , hope it help you
Example for @grab

@Grab(group='org.apache.directory', module='groovyldap', version='0.1-SNAPSHOT')

import org.apache.directory.groovyldap.util.Util

def properties = Util.getProperties()

for (def key in properties.keySet()){

    log.info("Key ---> " + key)

}

demo.PNG

Example for Jira class:
import com.atlassian.jira.component.ComponentAccessor

def field = ComponentAccessor.getCustomFieldManager().getCustomFieldObject("customfield_15923")

log.info(field.getName())
Saqib Dar November 13, 2022

Thanks @Hieu for sharing the info

TAGS
AUG Leaders

Atlassian Community Events