Just a heads up: On March 24, 2025, starting at 4:30pm CDT / 19:30 UTC, the site will be undergoing scheduled maintenance for a few hours. During this time, the site might be unavailable for a short while. Thanks for your patience.

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

Find a user by email address in Confluence and Bitbucket using Java API/SDK

Sooxin September 15, 2022

Hi everyone,

 

I'm writing a plugin for Jira/Bitbucket/Confluence Server, and for some reasons, I need to get a user by searching its email address, then I try to find an API like this:

User user = userService.getUserByEmail(givenEmail)

I eventually found one such API in Jira:

Iterable<ApplicationUser> users = ComponentAccessor.getUserSearchService().findUsersByEmail(email);

But I wonder if there‘re any APIs like that in Confluence or Bitbucket? Or any other APIs that I can use to search users by email address?

 

Thanks so much. 

 

1 answer

1 accepted

0 votes
Answer accepted
Sooxin September 15, 2022

I just found such an API in Bitbucket:

ComponentLocator.getComponent(com.atlassian.bitbucket.user.UserService.class).findUserByEmail(email)
Sooxin September 16, 2022

And I found it for Confluence:

bucket.user.UserAccessor#getUsersByEmail

Although it's deprecated, but we can refer its implemention. 

Sooxin September 19, 2022

(For Confluence) Such as:

/**
* @param email
* @return
* @see DefaultUserAccessor#getUsersByEmail(String)
*/
private SearchResult getUsersByEmail(String email) {
if (!TextUtils.stringSet(email)) {
return new DefaultSearchResult();
} else {
SearchResult<com.atlassian.user.User> results = null;
EmailTermQuery emailQuery = new EmailTermQuery(email);

try {
results = entityQueryParser.findUsers(emailQuery);
results = ComponentLocator.getComponent(EntityQueryParser.class).findUsers(emailQuery);
} catch (EntityException var5) {
log.error(var5.getMessage());
}

return results;
}
}

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Upcoming Confluence Events