Forums

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

Insight script console error with servicedesk

Torbjörn Richter August 28, 2019

Hi

Im trying to run this script described here

https://community.atlassian.com/t5/Jira-questions/Scriptrunner-Adding-organizations-when-a-Service-Desk-issue-gets/qaq-p/924365

I want to add organizations from objects in Insight but I get the following errors

 

GroovyInsightException: startup failed: Script1.groovy: 6: unable to resolve class com.atlassian.servicedesk.api.organization.OrganizationService @ line 6, column 1. import com.atlassian.servicedesk.api.organization.OrganizationService ^ Script1.groovy: 7: unable to resolve class com.atlassian.servicedesk.api.organization.OrganizationsQuery @ line 7, column 1. import com.atlassian.servicedesk.api.organization.OrganizationsQuery ^ Script1.groovy: 5: unable to resolve class com.atlassian.servicedesk.api.ServiceDeskManager @ line 5, column 1. import com.atlassian.servicedesk.api.ServiceDeskManager ^ Script1.groovy: 9: unable to resolve class com.onresolve.scriptrunner.runner.customisers.WithPlugin @ line 9, column 1. import com.onresolve.scriptrunner.runner.customisers.WithPlugin ^ Script1.groovy: 8: unable to resolve class com.onresolve.scriptrunner.runner.customisers.PluginModule @ line 8, column 1. import com.onresolve.scriptrunner.runner.customisers.PluginModule ^ 5 errors '

1 answer

0 votes
Andrew
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.
August 28, 2019

Hi @Torbjörn Richter ,

 

In post I see many comments. Could You please show how look your script finally?

 

B.R.

Torbjörn Richter August 28, 2019

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.ModifiedValue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.util.DefaultIssueChangeHolder
import com.atlassian.servicedesk.api.ServiceDeskManager
import com.atlassian.servicedesk.api.organization.OrganizationService
import com.atlassian.servicedesk.api.organization.OrganizationsQuery
import com.onresolve.scriptrunner.runner.customisers.PluginModule
import com.onresolve.scriptrunner.runner.customisers.WithPlugin

import org.apache.log4j.Level
log.setLevel(Level.INFO)

@WithPlugin("com.atlassian.servicedesk")

@PluginModule
ServiceDeskManager serviceDeskManager

@PluginModule
OrganizationService organizationService


MutableIssue issue = issue

 

 

def sdUser = ComponentAccessor.getUserManager().getUserByKey('jiraadmin')
def serviceDeskProject = serviceDeskManager.getServiceDeskForProject("Customer Support")


//get SD ID
def serviceDeskId = serviceDeskProject?.right()?.get()?.id as Integer

//Build Org Query
def organizationsQuery = organizationService.newOrganizationsQueryBuilder().serviceDeskId().build()

// get all the organizations configured for the project
def organizationsToAdd = organizationService.getOrganizations(sdUser, organizationsQuery)?.right()?.get()?.results

def cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName('Organizations')
def existing = cf.getValue(issue)


for (organization in organizationsToAdd){

if (organization.toString() == 'testOrg'){

if(!existing.isEmpty()){

if(!existing.contains(organization)){
existing.add(organization)
cf.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf), existing), new DefaultIssueChangeHolder())
log.info("Organization Added!")
}
else if(existing.contains(organization)){
log.info("Organization Already Exists!")
return
}
}
else{
cf.updateValue(null, issue, new ModifiedValue(issue.getCustomFieldValue(cf), [organization]), new DefaultIssueChangeHolder())
log.info("Organization Set!")
}
}
}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events