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