Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in
It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage

Help with Service Desk Approval API

Paul Stallworth Community Leader Jan 19, 2018

I'm trying to use APIs in com.atlassian.servicedesk to check which user approved a workflow approval and transition the issue to another status in certain cases.  

I'm trying to write a script to get at the approvals of an issue and I'm running into:

2018-01-19 15:06:00,895 WARN [common.UserScriptEndpoint]: Script console script failed: java.lang.Exception: Can't find plugin module or OSGi service for class: com.atlassian.servicedesk.api.approval.Approval, check the plugin is installed / enabled / licensed. at com.onresolve.scriptrunner.runner.ScriptRunnerImpl.getPluginComponent(ScriptRunnerImpl.groovy:336) 
at com.onresolve.scriptrunner.runner.ScriptRunnerImpl$getPluginComponent.call(Unknown Source)
at approvalQuery.run(approvalQuery.groovy:26)

 

I've seen the Adaptavist support ticket about @PluginModule not working right now, and I thought I'd worked around that.  Some bits from the script:

import com.onresolve.scriptrunner.runner.ScriptRunnerImpl
import com.onresolve.scriptrunner.runner.customisers.WithPlugin
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.atlassian.servicedesk.api.approval.ApprovalQuery
import com.atlassian.servicedesk.api.approval.ApprovalService
import com.atlassian.servicedesk.api.approval.Approval

@WithPlugin ("com.atlassian.servicedesk")

//This next is line 26 referenced in error
Approval approval = ScriptRunnerImpl.getPluginComponent(Approval)
ApprovalQuery query = ScriptRunnerImpl.getPluginComponent(ApprovalQuery)

Am I missing something obvious?  

1 answer

I dont know if that helps, but you can try switching to:

Class class = ComponentAccessor.getPluginAccessor().getClassLoader().findClass("com.atlassian.servicedesk.api.approval.Approval")
def objectOfClass = ComponentAccessor.getOSGiComponentInstanceOfType(class)
Paul Stallworth Community Leader Nov 02, 2018

Hi Marcin,

Thanks for the help.  I will definitely try this the next time I'm working on it.

Suggest an answer

Log in or Sign up to answer
TAGS
Community showcase
Published in Apps & Integrations

Send an Email or Publish to Confluence - What should you do with your release notes?

Background When you hear the words ‘Release notes’, almost always you think of an unsolicited email from a software vendor. But I am here to tell you that from our data, sending release notes via E...

116 views 1 2
Read article

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you