Section |
---|
Column |
---|
How to useExample scripts can be used in one of 3 different ways: |
|
Groovy
Code Block |
---|
java | java |
{groovy:output=wiki}
import bucket.container.ContainerManager
| Confluence 2.1 and above |
Note |
---|
title | Actual classes may differ depending on your version of confluence |
---|
|
Warning |
---|
title | 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}
Info |
---|
| - SCRP 4.3 or above
- Confluence 4.2 or above
|
Info |
---|
| 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 = ContainerManager.instance.containerContext.getComponent("userAccessor")
userAccessor.users.getUsersWithConfluenceAccessAsList().sort().each { user -> |
|
defgroups=userAccessor.getGroups(user).iterator()*.name.join('\\\\ ')
out.println "| $user.name | [~$user.name] | [mailto:$user.email] | |
| $groups |
|
Typical output
...