It's not the same without you

Join the community to find out what other Atlassian users are discussing, debating and creating.

Atlassian Community Hero Image Collage
Highlighted

Set assignee using User Picker custom field value post-function, error with Capital letter

Hi all,

I read a lot about this script and I would like to report a little "problem", I think the problem is in the old Jira version. (my setup: Jira 6.4.14 and script-runner  3.1.4)

The problem is this:

if user has used CAPITAL LETTER for the username.

there is not a correct connection between user Id of issue and user (no avatar of user, no issue link in "Assigned to Me").

The solution are:

- change all username lettere to lower (e.g. username = AB -> abb and after abb -> ab)

- add .toLowerCase() after user.username (I don't know if this create other problem, but I try a lot and now works)

So the "final" script is this

import com.atlassian.jira.component.ComponentAccessor;

import com.atlassian.jira.user.ApplicationUser;

def customFieldManager = ComponentAccessor.getCustomFieldManager();

def cfvalue = customFieldManager.getCustomFieldObjectByName("name of your custom field");

def user = issue.getCustomFieldValue(cfvalue) as ApplicationUser;

if(user){
issue.setAssigneeId(user.username.toLowerCase())
}


If you try to print the value of User Picker where the username has Capital letter

log.error(User Name is ------- user)

log.error(User is ------- user.username)

the result are these:

User Name is-------AB(ab)
User is------- AB

 

but if I assign the issue to AB user using the normal form and print the value

log.error(User Name is ------- issue.getAssignee())

log.error(User is ------- isse.getAssigneeId())

the result are these:

User Name is-------ab
User is------- AB:1

 

and the last (and the problem) if you try to print the value of Assignee after the script (without tolowerCase())

log.error(User Name is ------- issue.getAssignee())

log.error(User is ------- isse.getAssigneeId())

the result are these:

User name is -------AB
User is-------com.atlassian.crowd.embedded.impl.ImmutableUser@177ff

and ye, that's it.

Regards,

Marco

 

1 comment

Ivan Tovbin Community Leader Aug 31, 2018

Hi,

Assuming your custom field is a user picker, here's how to set an assignee;

import com.atlassian.jira.component.ComponentAccessor

def cf = ComponentAccessor.getCustomFieldManager().getCustomFieldObjectByName("fieldName")
def user = issue.getCustomFieldValue(cf)
if(user){
issue.setAssignee(user)
}

Comment

Log in or Sign up to comment
TAGS

Community Events

Connect with like-minded Atlassian users at free events near you!

Find an event

Connect with like-minded Atlassian users at free events near you!

Unfortunately there are no Community Events near you at the moment.

Host an event

You're one step closer to meeting fellow Atlassian users at your local event. Learn more about Community Events

Events near you