[Scriptrunner] When I clone issue I wanna include comments to cloned issue.

Stanislav Caja July 17, 2017

Hello, 

The problem we are having is with a cloning issue. From now on, we have a script that will set new description on cloned issue. What we would like to achiev is that comments in original issue would be cloned either. Here is our script. The part with description works fine. Problem is with comments, there are no errors but comments won't show.

import com.atlassian.jira.issue.link.IssueLink
import com.atlassian.jira.ComponentManager
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue

def issueManager = ComponentAccessor.getIssueManager()
def linkMgr = ComponentAccessor. getIssueLinkManager()
def result = "Original issue"
def commentManager = ComponentAccessor.getCommentManager()

def commentsList = commentManager.getComments(issue)


for (IssueLink link in linkMgr.getOutwardLinks(issue.id))
{
if( link.issueLinkType.name == "Cloners")
{
def newDescription = ("{color:red}Don't modify this description - edit the original (cloned) issue instead and the description gets copied here. {color}\n\n" + link.getDestinationObject().description) as String
issue.setDescription(newDescription)
issue.store()
result = "Branched issue"

for(def i = 0; i <= commentsList.size()-1; i++)
{
def comment = commentsList.get(i)
commentManager.create(issue,comment.getAuthorApplicationUser(),comment.getBody(),true)
issue.store()
}


}
}
return result

 

 

I am really looking forward for you answer.

Best regards,

Stanislava Caja.

3 answers

0 votes
Schuyler Bishop September 23, 2017

Joshua Yamdogo @ Adaptavist Is the "copy comments" checkbox available in script listener or just post functions? Also is it JIRA server or cloud? I looked through the release notes but could not determine. 

Thanks, 

Skye

Joshua Yamdogo @ Adaptavist
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 9, 2017

Hi Syke,

This is for JIRA Sever. Are you on the Cloud version?

Jon July 16, 2018

Is copy comments available through scriptRunner for cloud? I'm trying to do the same on Jira cloud.

0 votes
Joshua Yamdogo @ Adaptavist
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.
July 17, 2017

You could also use this in your script to copy comments from the original issue to the cloned issue:

 

def commentManager = ComponentAccessor.commentManager

doAfterCreate = {

commentManager.getComments(sourceIssue)?.each { comment ->

    commentManager.create(issue, comment.authorApplicationUser, comment.body, comment?.groupLevel, comment?.roleLevel?.id, comment.created, false)
}}
Stanislav Caja July 17, 2017

Hi,

this script doesn't work for me, I tried to added to the one above, but only what I get is bunch of errors of not existing methods.

0 votes
Joshua Yamdogo @ Adaptavist
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.
July 17, 2017

Hi Stanislava,

What ScriptRunner version are you running? Writing a script to copy comments to a cloned issue does not seem like something you need to do, because this is already a feature in ScriptRunner. You can add a Script Post-Function for "Clone an Issue and Links." On that page, you can simply check the "Copy Comments" box, which will automatically copy comments from the original issue to the cloned issue. You can put your script to set the description in the "Additional Actions" box. 

Screen Shot 2017-07-17 at 10.27.49 AM.png

Stanislav Caja July 17, 2017

Hi, thank you for your reply.

My Script Runner is 5.0.11. 

I do have Clones an issue, and links in my Script Listeners option but what I have more than in your screen is field "events" where I must fill on what event it will "fire" but there is no option like "issue cloned" only like issue created, resolved etc.

 

Stanislav Caja July 17, 2017

The better to understand what we are doing is, that we have in "custom fields" scripted field called "Branch Info" and in that Scripted field that script above where we are using "Issue linking" , for better understanding i took screens1.PNG2.PNG3.PNG

Suggest an answer

Log in or Sign up to answer