|  | = 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 `all`. 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 | 
|  | --------- |