Start progress on an issue triggered by another issue

Mert Yılmaz May 20, 2013

Hi ;

There are two issues given to me , i want to make a configuration that if I start progress in one of them , the other should be started.How can i do that via Script Runner plugin? I've been digging the script post functions for the "start progress" transition for hours but i got nothing.

Need your help,tips,tricks...

Regards.

Mert.

2 answers

1 vote
Nancy Blackwell
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.
May 20, 2013

On Transition of the first issue, you can call a script that would look something like this:

int stepId = workflow.getLinkedStep(secondIssue.getStatusObject().getGenericValue()).getId();
StepDescriptor stepDescriptor = workflow.getDescriptor().getStep(stepId);
int savedAction = 0;
		 	
 // Find a "Start Progress" transition
 for (Iterator<ActionDescriptor> iter = stepDescriptor.getActions().iterator(); iter.hasNext();) {
       ActionDescriptor actionDescriptor = (ActionDescriptor) iter.next();
       if (actionDescriptor.getName().contains("Start Progress")) {
               savedAction = actionDescriptor.getId();
        }
}
if(savedAction != 0){
        // Add a comment so there is history of the handoff
	CommentManager commentManager = (CommentManager) ComponentManager.getComponentInstanceOfType(CommentManager.class);
	String comment = "*Start Progress* as a result of the *Start Progress* action being applied in $issue.key";
	commentManager.create(secondIssue, currentUser, comment, true);

	workflowTransitionUtil.setIssue(secondIssue);
        workflowTransitionUtil.setUsername(currentUser);
        Map<String, String> params = new HashMap<String, String>();
        workflowTransitionUtil.setParams(params);
        workflowTransitionUtil.setAction(savedAction);

	// validate and transition issue
	workflowTransitionUtil.validate();
	workflowTransitionUtil.progress();
}

JamieA
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.
May 20, 2013

Only improvement would probably be to use IssueService, rather than WorkflowTransitionUtil, but not a bigggie.

0 votes
xinh June 7, 2013

It was like @Nancy said. Otherwise you could set a "comment" pair in params. like :

def workflowManagerUtil = workflowTransitionUtilFactory.create()                                                                                                                                 
workflowManagerUtil.setIssue(tIssue)                                                                                                                                                             
workflowManagerUtil.setUsername(event.getUser().getName())                                                                                                                                       
workflowManagerUtil.setAction(i.getId())                                                                                                                                                         
workflowManagerUtil.setParams([comment: "Trigger by Plugin"])                                                                
workflowManagerUtil.progress()

Suggest an answer

Log in or Sign up to answer