Forums

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

How can I get modules of Jira Toolkit Plugin

aas
Contributor
March 1, 2021

I think that Jira Toolkit Plugin has some functionality I need in my script. So I try to get it's modules like described here 

@WithPlugin('com.atlassian.jira.toolkit')

@PluginModule 
???

And I don't know which modules is in the plugin.  I mean that in docs said that I have to annotate class with @PluginModule to inject it from plugin to my script but where can I check which classes can be injected?

May be somewhere on the Jira server atlassian-jira-software-xxx-standalone/atlassian-jira/WEB-INF/ there is some pom.xml or manifest file where I can find which packages of Jira Toolkit are imported ?

1 answer

1 accepted

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.
March 3, 2021

You could try to download and extract the files from the jar (go the marketplace plugin page, select version, then see all, then dowload the latest version as a .jar file).

Then either explore the various .class files to get some clues or take the extra step to decompile them in an IDE.

aas
Contributor
March 4, 2021

Thanks for advice.

And then I can use it's classes in my script? I mean if I'll find out that I need SomeClass from jar I can add it like this:

@WithPlugin('com.atlassian.jira.toolkit')

@PluginModule 
SomeClass object

And am I right that it means jira toolkit plugin is OSGI bundle which can export its services to my groovy script? 

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.
March 4, 2021

I think it depends on the class.

Not every class is registered as a module.

It's like the difference between com.atlassian.jira.issue.IssueManager and com.atlassian.jira.issue.Issue. You can use Issue directly. But IssueManager has to be obtained via componentAccessor.

If the class has a constructor defined, you might be able to just call define it line

def someClassInstance = new SomeClass(contructorParameters)

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events