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

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