Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column
Excerpt

List all users

How to use

Example scripts can be used in one of 3 different ways:

Groovy

Code Block
javajava {groovy:output=wiki} import bucket.container.ContainerManager
Column
Info
titleView source
Confluence 2.1 and above
Note
titleActual classes may differ depending on your version of confluence
Warning
titleDoes 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}

userList.groovy

Info
titleRequirements
  1. SCRP 4.3 or above
  2. Confluence 4.2 or above
Info
titleTested

This script (latest version in Bitbucket) is tested during release testing using GINT

Section
Column

All users

No Format
{groovy:output=wiki|script=#https://bitbucket.org/bob_swift/examples/raw/tip/confluence/groovy/userList.groovy}
{groovy}

Image Added

All users with code copied to macro body

No Format
{groovy:output=wiki}
/**
 * Get a list of all users
 * Requires: output=wiki
 * Requires: Scripting for Confluence 4.3 or above
 * Requires: Confluence 4.1 or above
 */
 
out.println "|| User ID || Full name || Email ||
Groups ||
"
def
userAccessor
= ContainerManager.instance.containerContext.getComponent("userAccessor") userAccessor.users
.getUsersWithConfluenceAccessAsList().sort().each { user ->

def
 
groups
 
=
 
userAccessor.getGroups(user).iterator()*.name.join('
 
\\\\ ')
out.println "| $user.name | [~$user.name] | [mailto:$user.email] |
$groups |
"
}
{groovy}

Typical output

...