You're on your way to the next level! Join the Kudos program to earn points and save your progress.
Level 1: Seed
25 / 150 points
Next: Root
1 badge earned
Challenges come and go, but your rewards stay with you. Do more to earn more!
What goes around comes around! Share the love by gifting kudos to your peers.
Keep earning points to reach the top of the leaderboard. It resets every quarter so you always have a chance!
Join now to unlock these features and more
The Atlassian Community can help you and your team get more value out of Atlassian products and practices.
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