Forums

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

How do you change the assignee during a workflow transition using Script Runner?

Jeff Ward
Contributor
October 12, 2015

I have a workflow transition that looks up the last person in a praticular group (in this case the developer) that worked on an issue.  It then should assign this to the developer as part of the workflow transition.

However, while it looks like the update takes, it isn't reflected in the actual workflow status.

I've tried both this:

def issueService = ComponentAccessor.issueService;

def issueParams = new IssueInputParametersImpl()
issueParams.assigneeId = lastDeveloper;

def updateResult = issueService.validateUpdate(user, issue.id, issueParams)
log.debug updateResult.errorCollection
if(!updateResult.errorCollection.hasAnyErrors()) {
    issueService.update(user, updateResult)
}

And using the assign version:

def issueService = ComponentAccessor.issueService;

def issueParams = new IssueInputParametersImpl()
issueParams.assigneeId = lastDeveloper;

def assignResult = issueService.validateAssign(user, issue.id, lastDeveloper)
log.debug assignResult.errorCollection
if(!assignResult.errorCollection.hasAnyErrors()) {
    issueService.assign(user, assignResult)
}

 

The history shows the change but the bug doesn't actually reflect it.

1 answer

1 accepted

1 vote
Answer accepted
Jamie Echlin _ScriptRunner - The Adaptavist Group_
Atlassian Partner
October 12, 2015

If you do it like this you need to make sure it's the last post-function. Is it? 

It's easier just to use:

issue.setAssigneeId("jbloggs")

as the first post-function.

Jeff Ward
Contributor
October 12, 2015

Apparently the key is to use the passed in issue as a MutableIssue, and just don't call store.

Jamie Echlin _ScriptRunner - The Adaptavist Group_
Atlassian Partner
October 12, 2015

Yes. Store is redundant, because the same issue is saved in a later function. The problem with your method, is that I'm guessing you had your function first, and it although it did the job, the later function saved the original assignee again.

Suggest an answer

Log in or Sign up to answer