Does anybody have any experience getting a list of all of the users in their JIRA application?
I need to write a plugin for this. I currently have some code:
package com.bosch.plugin.user.list.api;
import com.atlassian.jira.user.ApplicationUser;
import com.atlassian.crowd.embedded.api.User;
import com.atlassian.jira.user;
import com.atlassian.jira.user.util.UserManager;
import com.atlassian.jira.api;
import com.bosch.jira.timeinstatus.AtlassianPluginsTestRunner;
import com.bosch.jira.timeinstatus.RunWith;
import com.bosch.plugin.user.list.impl.MyPluginComponentImpl;
import com.atlassian.jira.web.action.admin.user.UserBrowser;
import com.sun.istack.internal.Nullable;
import com.atlassian.jira.user.UserKeyService;
import java.lang.String;
import java.util.ArrayList;
import java.util.Collection;
import javax.annotation.*;
@RunWith(AtlassianPluginsTestRunner.class)
public class ListUsers implements User
{
private String name;
private String userName;
private long directoryId;
private String emailAddress;
private boolean isActive;
private int userCount;
private final JiraAuthenticationConext;
private final SearchRequest;
public void validator(String name, String userName, int userCount, long directoryId, String emailAddress, boolean isActive, final JiraAuthenticationContext authenticationContext, final SearchRequest searchRequest)
{
this.name = name;
this.userName = userName;
this.emailAddress = emailAddress;
this.isActive = isActive;
this.userCount = userCount;
this.JiraAuthenticationService = authenticationContext;
this.searchRequest = searchRequest;
}
public static void main(String[] args) {
System.out.println("entry point of app");
}
//compare user name
public int compareTo(User user){
return name.compareTo(user.getName());
}
//getter and setter for name
public String getName(){
return name;
}
//getter and setter for user name
public String getuserName(){
return userName;
}
//getter and setter for email
public String getEmailAddress(){
return emailAddress;
}
//getter and setter for directory ID in JIRA
public long getDirectoryId(){
return directoryId;
}
//getter and setter for checking if user is active
public boolean isActive(){
return isActive;
}
public int getUserCount(){
return userCount;
}
public Query retrieveOrMakeSearchRequest(User loggedInUser, Project currentProject){
loggedInUser = authenticationContext.getLoggedInUser();
SearchRequestManager searchRequestManager = ComponentManager.getInstance().getSearchRequestManager();
SearchRequest src=searchRequestManager.getSearchRequestById(loggedInUser);
return null;
}
public ArrayList<User> getAllUsers(){
// Query query = retrieveOrMakeSearchRequest(loggedInUser, currentProject);
ArrayList<User> all = new ArrayList<User>(getAllUsers());
return all;
}
public ArrayList<User> getAllUsersInGroups(Collection<String> arg0){
ArrayList<User> allUsersandGroups = new ArrayList<User>(getAllGroups());
return allUsersandGroups;
}
public ArrayList<User> getAllGroups(){
ArrayList<User> allGroups = new ArrayList<User>(getGroups());
return allGroups;
}
}
Is this the write way about getting all of my users in the JIRA application? Can somebody help or point me in the right direction?
Thanks!