Forums

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

Post-function script to set Assignee based on custom drop-down selection

laurahbantug
Contributor
April 22, 2015

Hello,

I am using Script Runner (LOVE this add-on!) to create a post-function script to set Assignee based on a custom field drop-down selection.  I am using the below script but can't seem to get it to work.  Any ideas on what I am missing here?  I am a bit of a novice when it comes to scripting.  Thanks!

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.user.util.UserManager
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor
  
MutableIssue issue = issue
ComponentManager componentManager = ComponentManager.getInstance()
CustomFieldManager customFieldManager = componentManager.getCustomFieldManager()
CustomField customFieldX = customFieldManager.getCustomFieldObject("customfield_10022")
def xFieldVal = issue.getCustomFieldValue(customFieldX)
if(xFieldVal == "Client Operations" ){
   User userA=ComponentManager.getInstance().getUserUtil().getUser('lbantug')   
   issue.setAssignee(userA);
   }
issue.store()

1 answer

1 vote
Sebastian Frohn
I'm New Here
I'm New Here
Those new to the Atlassian Community have posted less than three times. Give them a warm welcome!
June 16, 2015

this works ...

 

import com.atlassian.jira.ComponentManager
import com.atlassian.jira.issue.CustomFieldManager
import com.atlassian.jira.issue.Issue
import com.atlassian.jira.issue.MutableIssue
import com.atlassian.jira.issue.comments.CommentManager
import com.atlassian.jira.issue.fields.CustomField
import com.atlassian.jira.util.ImportUtils
import com.atlassian.jira.user.util.UserManager
import com.atlassian.crowd.embedded.api.User
import com.atlassian.jira.component.ComponentAccessor

userManager = (UserManager) ComponentAccessor.getUserManager()
MutableIssue issue = issue

CustomFieldManager customFieldManager = ComponentManager.getInstance().getCustomFieldManager();
CustomField customField_name = customFieldManager.getCustomFieldObjectByName( "LeadComponent" );
def comp = issue.getCustomFieldValue(customField_name);

def str = comp.toString().toLowerCase();
def userToReassign = issue.getAssignee()

 

switch ( str ) {
case "XY" :
userToReassign = userManager.getUser('AB');
break
case "YX" :
userToReassign = userManager.getUser('BA');
[...]

break

default :
userToReassign = userManager.getUser('CD');
}

issue.setAssignee(userToReassign);
issue.store();

Suggest an answer

Log in or Sign up to answer
TAGS
atlassian, likes for trees, atlassian community, social impact, tree planting campaign, community kudos, atlassian giving, environmental impact, sustainability, likes for good, atlassian social responsibility, community challenge

Make every click count—help us plant 50,000 trees! 🌳

Want to make your everyday Community actions directly contribute to reforestation? The Atlassian Community can achieve this goal by liking a post, attending an ACE, sending your peers kudos, and so much more!

Help us plant more trees
AUG Leaders

Atlassian Community Events