Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.

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

How to execute the "Clone Issue" scriptrunner built-in script from within another scriptrunner script?

Roberto Saltini
Contributor
August 19, 2016

I would like to execute the "Clone Issue" scriptrunner built-in script from within another custom scriptrunner script.

 

I tried something like this

 

import com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CloneIssue

Map params = [:]

params['issue'] = issue

params_after = CloneIssue.doScript((Map)params)

 

but I get the following error

groovy.lang.MissingMethodException: No signature of method: static com.onresolve.scriptrunner.canned.jira.workflow.postfunctions.CloneIssue.doScript() is applicable for argument types: (java.util.LinkedHashMap) values: [[issue:OTMCOPY1-44]] Possible solutions: doScript(java.util.Map), doScript(java.util.Map), doScript(java.util.Map), toString(), toString()

 

2 answers

1 vote
Jonny Carter
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 25, 2016

The doScript method isn't static, so you'll need to actually instantiate the CloneIssue class.

def cloner = new CloneIssue()
cloner.doScript([issue: issue ])
0 votes
slothstronaut
Contributor
February 1, 2019

Hello! 

Is there some sort of documentation about how to use the cloneIssue function in another postfunction script other from these docs about using the built in function?

 

For e.g. the keys and values for the params map, 

controlling the copy of attachments, or 

using the doAfterCreate for issue linking or adding watchers? 

 

void cloneIssue (MutableIssue issue, Project project) {
def params = [
issue : issue,
(CloneIssue.FIELD_TARGET_PROJECT) : project.key,
(CloneIssue.FIELD_SELECTED_FIELDS) : null, //clone all the fields
] as Map<String, Object>

new CloneIssue().doScript(params)
}

 

Greetings =)

 

 

Edit: As I hit the publish button I found this newer post which's got a little more information about my request

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events