Create
cancel
Showing results for 
Search instead for 
Did you mean: 
Sign up Log in

In a Listener on "Issue Created," how can I check whether a Component has a Lead or not?

Kelly September 18, 2019

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

}
...

 

1 answer

1 accepted

Suggest an answer

Log in or Sign up to answer
0 votes
Answer accepted
Deniz Oğuz
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
September 18, 2019

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;
Kelly September 19, 2019

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!

TAGS
AUG Leaders

Atlassian Community Events