| = gerrit ls-projects | 
 |  | 
 | == NAME | 
 | gerrit ls-projects - List projects visible to caller | 
 |  | 
 | == SYNOPSIS | 
 | -- | 
 | 'ssh' -p <port> <host> 'gerrit ls-projects' | 
 |   [--show-branch <BRANCH> ...] | 
 |   [--description | -d] | 
 |   [--tree | -t] | 
 |   [--type {code | permissions | all}] | 
 |   [--format {text | json | json_compact}] | 
 |   [--all] | 
 |   [--limit <N>] | 
 |   [--has-acl-for GROUP] | 
 | -- | 
 |  | 
 | == DESCRIPTION | 
 | Displays the list of project names, one per line, that the | 
 | calling user account has been granted 'READ' access to. | 
 |  | 
 | If the caller is a member of the privileged 'Administrators' | 
 | group, all projects are listed. | 
 |  | 
 | == ACCESS | 
 | Any user who has configured an SSH key, or by an user over HTTP. | 
 |  | 
 | == SCRIPTING | 
 | This command is intended to be used in scripts. | 
 |  | 
 | == OPTIONS | 
 | --show-branch:: | 
 | -b:: | 
 | 	Branch for which the command will display the sha of each project. | 
 | 	The command may have multiple --show-branch parameters, in this case | 
 | 	sha will be shown for each of the branches. | 
 | 	If the user does not have READ access to some branch or the branch does not | 
 | 	exist then stub (40 `-` symbols) is shown. | 
 | 	If the user does not have access to any branch in the project then the | 
 | 	whole project is not shown. | 
 |  | 
 | --description:: | 
 | -d:: | 
 | 	Allows listing of projects together with their respective | 
 | 	description. | 
 | + | 
 | For text format output, 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. | 
 |  | 
 | --tree:: | 
 | -t:: | 
 | 	Displays project inheritance in a tree-like format. | 
 | 	This option does not work together with the show-branch option. | 
 |  | 
 | --type:: | 
 | 	Display only projects of the specified type.  If not | 
 | 	specified, defaults to `code`. Supported types: | 
 | + | 
 | -- | 
 | `code`:: Any project likely to contain user files. | 
 | `permissions`:: Projects created with the `--permissions-only` flag. | 
 | `all`:: Any type of project. | 
 | -- | 
 |  | 
 | --format:: | 
 | 	What output format to display the results in. | 
 | + | 
 | -- | 
 | `text`:: Simple text based format. | 
 | `json`:: Map of JSON objects describing each project. | 
 | `json_compact`:: Minimized JSON output. | 
 | -- | 
 |  | 
 | --all:: | 
 | 	Display all projects that are accessible by the calling user | 
 | 	account. Besides the projects that the calling user account has | 
 | 	been granted 'READ' access to, this includes all projects that | 
 | 	are owned by the calling user account (even if for these projects | 
 | 	the 'READ' access right is not assigned to the calling user | 
 | 	account). | 
 |  | 
 | --limit:: | 
 | 	Cap the number of results to the first N matches. | 
 |  | 
 | --has-acl-for:: | 
 | 	Display only projects on which access rights for this group are | 
 | 	directly assigned. Projects which only inherit access rights for | 
 | 	this group are not listed. | 
 | + | 
 | With this option you can find out on which projects a group is used. | 
 |  | 
 | == HTTP | 
 | This command is also available over HTTP, as `/projects/` for | 
 | anonymous access and `/a/projects/` for authenticated access. | 
 | Named options are available as query parameters. Results can | 
 | be limited to projects matching a prefix by supplying the prefix | 
 | as part of the URL, for example `/projects/external/` lists only | 
 | projects whose name start with the string `external/`. | 
 |  | 
 | Over HTTP the `json_compact` output format is assumed if the client | 
 | explicitly asks for JSON using HTTP header `Accept: application/json`. | 
 | When any JSON output format is used on HTTP, readers must skip the | 
 | first line produced. The first line is a garbage JSON string crafted | 
 | to prevent a browser from executing the response in a script tag. | 
 |  | 
 | Output will be gzip compressed if `Accept-Encoding: gzip` was used | 
 | by the client in the request headers. | 
 |  | 
 | == EXAMPLES | 
 |  | 
 | List visible projects: | 
 | ===== | 
 | 	$ ssh -p 29418 review.example.com gerrit ls-projects | 
 | 	platform/manifest | 
 | 	tools/gerrit | 
 | 	tools/gwtorm | 
 |  | 
 | 	$ curl http://review.example.com/projects/ | 
 | 	platform/manifest | 
 | 	tools/gerrit | 
 | 	tools/gwtorm | 
 |  | 
 | 	$ curl http://review.example.com/projects/tools/ | 
 | 	tools/gerrit | 
 | 	tools/gwtorm | 
 | ===== | 
 |  | 
 | Clone any project visible to the user: | 
 | ==== | 
 | 	for p in `ssh -p 29418 review.example.com gerrit ls-projects` | 
 | 	do | 
 | 	  mkdir -p `dirname "$p"` | 
 | 	  git clone --bare "ssh://review.example.com:29418/$p.git" "$p.git" | 
 | 	done | 
 | ==== | 
 |  | 
 | == SEE ALSO | 
 |  | 
 | * link:access-control.html[Access Controls] | 
 |  | 
 | GERRIT | 
 | ------ | 
 | Part of link:index.html[Gerrit Code Review] | 
 |  | 
 | SEARCHBOX | 
 | --------- |