Skip to end of banner
Go to start of banner

Script - User list (groovy and beanshell)

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

List all users

Confluence 2.1 and above

Actual classes may differ depending on your version of confluence

Does not work with LDAP

Beanshell

{beanshell:output=wiki}
import com.atlassian.confluence.user.UserAccessor;
import bucket.container.ContainerManager;
import com.atlassian.user.search.page.Pager;
import java.util.Iterator;
import com.atlassian.user.impl.osuser.OSUUser;
import com.atlassian.user.impl.osuser.OSUGroup;

UserAccessor userAccessor = (UserAccessor) ContainerManager.getInstance().getContainerContext().getComponent("userAccessor");
Pager users = userAccessor.getUsers();
out.println("|| User ID || Full name || Email || Groups ||");

Iterator userIterator = users.iterator();
while (userIterator.hasNext()) {
    OSUUser user = (OSUUser) userIterator.next();
    Pager groupList = userAccessor.getGroups(user);
    Iterator groupIterator = groupList.iterator();
    String groups = new String();
    while (groupIterator.hasNext()) {     
        groups += groupIterator.next().getName() + " \\\\ ";
    }
    out.println("| " + user.getName() + " | [~" + user.getName() + "] | [mailto:" + user.getEmail() + "] | " + groups + "|");
}
{beanshell}

Groovy

{groovy:output=wiki}
import bucket.container.ContainerManager

out.println "|| User ID || Full name || Email || Groups ||"
def userAccessor = ContainerManager.instance.containerContext.getComponent("userAccessor")
userAccessor.users.each { user ->
    def groups = userAccessor.getGroups(user).iterator()*.name.join(' \\\\ ')
    out.println "| $user.name | [~$user.name] | [mailto:$user.email] | $groups |"
}
{groovy}

Typical output

  • No labels