gerrit ls-members
================

NAME
----
gerrit ls-members - Show members of a given group

SYNOPSIS
--------
--
'ssh' -p <port> <host> 'gerrit ls-members GROUPNAME'
  [--recursive]
--

DESCRIPTION
-----------
Displays the members of the given group, one per line, so long as the given
group is visible to the user. The users' id, username, full name and email are
shown tab-separated.

ACCESS
------
Any user who has configured an SSH key.

SCRIPTING
---------
This command is intended to be used in scripts. Output is either an error
message or a heading followed by zero or more lines, one for each member of the
group. If any field is not set, or if the field is the user's full name and the
name is empty, "n/a" is emitted as the field value.

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
-------
--recursive::
	If a member of the group is itself a group, the sub-group's
	members are included in the list. Otherwise members of any sub-group
	are not shown and no indication is given that a sub-group is present

EXAMPLES
--------

List members of the Administrators group:
=====
	$ ssh -p 29418 review.example.com gerrit ls-members Administrators
	id      username  full name    email
	100000  jim     Jim Bob somebody@example.com
	100001  johnny  John Smith      n/a
	100002  mrnoname        n/a     someoneelse@example.com
=====

List members of a non-existent group:
=====
	$ ssh -p 29418 review.example.com gerrit ls-members BadlySpelledGroup
	Group not found or not visible
=====

GERRIT
------
Part of link:index.html[Gerrit Code Review]

SEARCHBOX
---------
