I'm using ScriptRunner to automatically set Assignee based on Component Lead through a Listener. I realize this functionality is already natively available in Jira, so a Listener isn't necessary. However, I want to use the script because I need to make sure the issue doesn't just get created as Unassigned if there's not a Component Lead. If there's not a Component Lead, then I want to use an alternate Assignee (based on a different field).
So far, I have the assignment part working when there's a Component Lead. How do I check whether the Component Lead is null? I'm currently getting this error, so I'm not sure about how to handle it:
Cannot invoke method getDirectoryUser() on null object
...
if (components)
{
lead = components?.first()?.componentLead.getDirectoryUser()
leadUser = userManager.getUserByName(lead.name)
if ( (!issue.assignee) && (components) )
{
newAssignee = leadUser
issue.setAssignee(newAssignee)
issueManager.updateIssue(commentUser, issue, EventDispatchOption.ISSUE_UPDATED, false)
}
}
...
Why do you need to convert it to directory user? I think following will do the trick?
def lead = components?.first()?.componentLead;
def hasLead = lead != null;
Hi Deniz. You're absolutely right. I can't remember what my original logic was for converting it, but I tried your suggestion and that one worked perfectly. Thank you so much!
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.