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)
}
}
...