Forums

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

how copy some issues from a project to other projects by groovy or scriptrunner

ZhangXiaoyu April 27, 2022

i want to copy some issues to some different projects, i want know some method about this

1 answer

0 votes
Fabio Racobaldo _Herzum_
Community Champion
April 27, 2022

Hi @ZhangXiaoyu ,

welcome to the Atlassian community!

Please, could you specify your use case? Do you need to clone issues as part of transition in a workflow or based on an issue event?

Btw, here a useful starting point for your request https://scriptrunner.adaptavist.com/5.6.8/jira/recipes/workflow/servicedesk/clone-issue-sd.html

Hope this helps,

Fabio

ZhangXiaoyu April 27, 2022

clone issues as part of transition in a workflow,
I would like to clone an issue from one project into several different projects without changing the issueType  

Fabio Racobaldo _Herzum_
Community Champion
April 27, 2022

here an useful code :

import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.event.type.EventDispatchOption;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.IssueFactory;
import com.atlassian.jira.issue.IssueManager;
import com.atlassian.jira.issue.MutableIssue;
import com.atlassian.jira.project.Project;
import com.atlassian.jira.project.ProjectManager;
import com.atlassian.jira.user.ApplicationUser;

IssueFactory issueFactory = ComponentAccessor.getIssueFactory();
IssueManager issueManager = ComponentAccessor.getIssueManager();
ProjectManager projectManager = ComponentAccessor.getProjectManager();
ApplicationUser currentUserObj = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser();

Project destinationProject = projectManager.getProjectByCurrentKey("YOUR DESTINATION PROJECT KEY HERE");

MutableIssue newissue = issueFactory.getIssue();
newissue.setSummary (issue.getSummary());
newissue.setProjectObject(destinationProject);
newissue.setIssueTypeId(issue.getIssueTypeId());
newissue.setDescription(issue.getDescription());
newissue.setReporter(issue.getReporter());
newissue.setAssignee(issue.getAssignee());
//OTHER FIELDS HERE
issueManager.updateIssue(currentUserObj, newissue, EventDispatchOption.DO_NOT_DISPATCH, false);

 

Please, try it!

prasad biddika
Contributor
December 13, 2022

Hi Fabio, is this code works to clone issue in multiple projects?

Fabio Racobaldo _Herzum_
Community Champion
December 13, 2022

Hi @prasad biddika ,

yes, it does. Please make sure tu set the correct project as desinationProject ;)

Suggest an answer

Log in or Sign up to answer