Unable to Set assignee using ScriptRunner

Piyush_Annadate October 30, 2019

With the below code - Trying to set the assignee to someone else based on the user (name: Piyush Annadate and userKey as Piyush_Annadate).


This doesn't event assign the issue to other person. What's missing?

 

Scriptrunner- 5.4.49

JIRA  7.13.1 (Server)

 

 

 

import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Logger
import org.apache.log4j.Level
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
def log = Logger.getLogger("com.acme.workflows")
log.setLevel(Level.DEBUG)
def issueManager = ComponentAccessor.getIssueManager()
def issueService = ComponentAccessor.getIssueService()
def userManager = ComponentAccessor.getUserManager()
//def issue = issueManager.getIssueObject("HW_TEST-64")

def issue = event.issue
log.info("${issue.projectObject.key}")
log.info("${issue.key}")

def user = ComponentAccessor.getUserManager().getUserByName('Piyush_Annadate')
def validateAssignResult = issueService.validateAssign(user, issue.id, issue.reporterId)
issueService.assign(user, validateAssignResult)

1 answer

1 accepted

0 votes
Answer accepted
Peter-Dave Sheehan
Community Leader
Community Leader
Community Leaders are connectors, ambassadors, and mentors. On the online community, they serve as thought leaders, product experts, and moderators.
October 30, 2019

The user in issueService.validateAssign and issueService.assign is the user performing the action.

The 3rd argument in validateAssign (String assignee) is the assignee you wish to apply.

Try this instead

import com.atlassian.jira.component.ComponentAccessor
import org.apache.log4j.Logger
import org.apache.log4j.Level
import com.atlassian.jira.issue.IssueManager
import com.atlassian.jira.issue.MutableIssue
def log = Logger.getLogger("com.acme.workflows")
log.setLevel(Level.DEBUG)
def issueManager = ComponentAccessor.getIssueManager()
def issueService = ComponentAccessor.getIssueService()
def userManager = ComponentAccessor.getUserManager()
//def issue = issueManager.getIssueObject("HW_TEST-64")
def currentUser = ComponentAccessor.jiraAuthenticationContext.loggedInUser

def issue = event.issue
log.info("${issue.projectObject.key}")
log.info("${issue.key}")

def user = ComponentAccessor.getUserManager().getUserByName('pjp')
def validateAssignResult = issueService.validateAssign(currentUser, issue.id, user.name)
if(validateAssignResult.isValid()){
issueService.assign(currentUser, validateAssignResult)
}
Piyush_Annadate October 30, 2019

Thanks Peter for the change and the explanation. That worked !! :) 

Suggest an answer

Log in or Sign up to answer