NAME

gerrit ls-groups - List groups visible to caller

SYNOPSIS

ssh -p <port> <host> gerrit ls-groups
  [--project <NAME> | -p <NAME>]
  [--user <NAME> | -u <NAME>]
  [--visible-to-all]
  [--type {internal | system}]
  [--verbose | -v]

DESCRIPTION

Displays the list of group names, one per line, that are visible to the account of the calling user.

If the caller is a member of the privileged Administrators group, all groups are listed.

ACCESS

Any user who has configured an SSH key.

SCRIPTING

This command is intended to be used in scripts.

All non-printable characters (ASCII value 31 or less) are escaped according to the conventions used in languages like C, Python, and Perl, employing standard sequences like \n and \t, and \xNN for all others. In shell scripts, the printf command can be used to unescape the output.

OPTIONS

--project
-p

Name of the project for which the groups should be listed. Only groups are listed for which any permission is set on this project (or for which a permission is inherited from a parent project). Multiple --project options may be specified to specify additional projects. In this case all groups are listed that have a permission for any of the specified projects.

This option can’t be used together with the --user option.

--user
-u

User for which the groups should be listed. Only groups are listed that contain this user as a member.

The calling user can list the groups for the own user or must be a member of the privileged Administrators group to list the groups for other users.

This option can’t be used together with the --project option.

--visible-to-all

Displays only groups that are visible to all registered users (groups that are explicitly marked as visible to all registered users).

--type

Display only groups of the specified type. If not specified, groups of all types are displayed. Supported types:

internal

Any group defined within Gerrit.

system

Any system defined and managed group.

--verbose
-v

Enable verbose output with tab-separated columns for the group name, UUID, description, type (SYSTEM or INTERNAL), owner group name, owner group UUID and whether the group is visible to all (true or false).

If a group has been "orphaned", i.e. its owner group UUID refers to a nonexistent group, the owner group name field will read n/a.

EXAMPLES

List visible groups:

$ ssh -p 29418 review.example.com gerrit ls-groups
Administrators
Anonymous Users
MyProject_Committers
Project Owners
Registered Users

List all groups for which any permission is set for the project "MyProject":

$ ssh -p 29418 review.example.com gerrit ls-groups --project MyProject
MyProject_Committers
Project Owners
Registered Users

Extract the UUID of the Administrators group:

$ ssh -p 29418 review.example.com gerrit ls-groups -v | awk '-F\t' '$1 == "Administrators" {print $2}'
ad463411db3eec4e1efb0d73f55183c1db2fd82a

Extract and expand the multi-line description of the Administrators group:

$ printf "$(ssh -p 29418 review.example.com gerrit ls-groups -v | awk '-F\t' '$1 == "Administrators" {print $3}')\n"
This is a
multi-line
description.

Part of Gerrit Code Review