Forums

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

ScriptRunner Clone and link multiple issues based on checkbox cf values

Cassio July 26, 2019

Hey guys,

 

I'm trying to clone and link multiple issues based on a checkbox values on transition screen.

 

With this code, I'm already able to clone the issues for each of 3 values in the cf, however it's only linking the second option of my checkbox, the others 2 aren't linking.

If someone has any suggestion, I'll gladly accept it.

import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.customfields.option.LazyLoadedOption
import com.atlassian.jira.issue.UpdateIssueRequest

Issue issue = issue
def currentUser = ComponentAccessor.getJiraAuthenticationContext().getLoggedInUser()

def componentCF = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("Criar tarefas de BAP")
def selectedComponents = issue.getCustomFieldValue(componentCF)

def constantManager = ComponentAccessor.getConstantsManager()

selectedComponents?.each {
ValueSummary ->

def issueFactory = ComponentAccessor.getIssueFactory()
def issueManager = ComponentAccessor.getIssueManager()
def newIssue = issueFactory.cloneIssue(issue)

newIssue.setProjectId(issue.getProjectId());
newIssue.setIssueTypeId(constantManager.getAllIssueTypeObjects().find{it.getName() == "Tarefa UX"}.id)
newIssue.setSummary("[${issue.summary}] ${ValueSummary}");
newIssue.setReporterId(issue.getReporterId());
newIssue.setDescription(issue.description);

Map<String,Object> newIssueParams = ["issue" : newIssue] as Map<String,Object>
issueManager.createIssueObject(currentUser, newIssueParams)

log.info "Issue " + newIssue?.getKey() + " created"
}

 

Thanks,

 

Cassio. 

 

0 answers

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events