如何在 JIRA 插件中通过电子邮件获取用户

How to get a user by email in a JIRA plugin

在为 JIRA 编写插件时,如何根据用户的电子邮件地址获取用户或用户名?

您似乎应该使用 UserSearchService 接口中的 findUsersByEmail 方法

https://docs.atlassian.com/jira/7.0.2/com/atlassian/jira/bc/user/search/UserSearchService.html

但是如何获得这个 class 的实例?还是它的单例?

JIRA 中的组件系统建立在 Spring 之上。因此,如果您正在处理的 class 是自动装配的(例如像宏或 Xwork 操作这样的插件模块,servlet 都将是),则为 UserSearchService 创建一个实例变量并将其添加到构造函数中:

public MyServlet(UserSearchService userSearchService) {
    this.userSearchService = userSearchService;
}

或者创建一个实例变量并为其添加一个setter:

public void setUserSearchService(UserSearchService userSearchService) {
    this.userSearchService= userSearchService;
}

如果您正在处理的 class 不是自动装配的,您有时可以使用 ComponentAccessor 静态访问实例,但我在方法列表中看不到 UserSearchService。