Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vikrantyadav11/61a04c6f05a8fb719e773ab42b1b5b67 to your computer and use it in GitHub Desktop.
Save vikrantyadav11/61a04c6f05a8fb719e773ab42b1b5b67 to your computer and use it in GitHub Desktop.
Use this script in Script Console to get the list of all users. True for Active Users and False for Inactive users.
import com.atlassian.jira.component.ComponentAccessor
import com.atlassian.jira.security.login.LoginManager
import java.text.SimpleDateFormat;
import java.util.Date;
import com.atlassian.jira.user.util.UserUtil
UserUtil userUtil = ComponentAccessor.getUserUtil()
def loginManager = ComponentAccessor.getComponentOfType(LoginManager.class)
//def users=ComponentAccessor.UserManager.getAllApplicationUsers()
def groupManager = ComponentAccessor.getGroupManager()
def adminGroup = groupManager.getUsersInGroup('jira-administrators')
def softwareGroup = groupManager.getUsersInGroup('jira-users')
//def serviceDeskGroup = groupManager.getUsersInGroup('jira-servicedesk-users')
def users = adminGroup + softwareGroup
users.unique()
StringBuilder builder=new StringBuilder()
builder.append("<table border = 1><tr><td><b>User Name</b></td><td><b>Full Name</b></td><td><b>eMail Address</b></td><td><b>Last Login</b></td><td><b>Status</b></td></tr>")
users.each{
Long lastLoginTime = loginManager.getLoginInfo(it.username).getLastLoginTime()
String activeStatus=it.active
if(userUtil.getGroupsForUser(it.getName()).size() == 0)
//builder.append("<tr><td>"+it.username+"</td><td>"+it.displayName+"</td><td>"+it.emailAddress+"</td><td>No Group added</td><td>"+it.active+"</td></tr>")
return
else if(activeStatus=="false")
builder.append("<tr><td>"+it.username+"</td><td>"+it.displayName+"</td><td>"+it.emailAddress+"</td><td>Inactive User</td><td>"+it.active+"</td></tr>")
else if(lastLoginTime==null)
builder.append("<tr><td>"+it.username+"</td><td>"+it.displayName+"</td><td>"+it.emailAddress+"</td><td>Logon not found</td><td>"+it.active+"</td></tr>")
else{
Date date=new Date(lastLoginTime);
SimpleDateFormat df2 = new SimpleDateFormat("dd/MM/yy hh:mm");
String dateText = df2.format(date);
builder.append("<tr><td>"+it.username+"</td><td>"+it.displayName+"</td><td>"+it.emailAddress+"</td><td>"+dateText+"</td><td>"+it.active+"</td></tr>")
}
}
builder.append("</table>")
return builder
@vikrantyadav11
Copy link
Author

Above query gives
Name, Email Address, Username, Last Login Date, Status ( Active or Inactive)
For Active User >> Status is True
For Inactive User >> Status is False

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment