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

Earn badges and make progress

You're on your way to the next level! Join the Kudos program to earn points and save your progress.

Deleted user Avatar
Deleted user

Level 1: Seed

25 / 150 points

Next: Root

Avatar

1 badge earned

Collect

Participate in fun challenges

Challenges come and go, but your rewards stay with you. Do more to earn more!

Challenges
Coins

Gift kudos to your peers

What goes around comes around! Share the love by gifting kudos to your peers.

Recognition
Ribbon

Rise up in the ranks

Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!

Leaderboard

Come for the products,
stay for the community

The Atlassian Community can help you and your team get more value out of Atlassian products and practices.

Atlassian Community about banner
4,559,687
Community Members
 
Community Events
185
Community Groups

ScriptRunner Clone and link multiple issues based on checkbox cf values

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 in advance.

 

Cassio.

1 answer

1 accepted

0 votes
Answer accepted
Ilya Turov
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.
Jul 27, 2019

what do you mean by "linking"? because I don't see this script creating any links

My bad, I forgot the basics.

 

Thanks for noticing Ilya.

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events