= gerrit review

== NAME
gerrit review - Apply reviews to one or more patch sets.

== SYNOPSIS
[verse]
--
_ssh_ -p <port> <host> _gerrit review_
  [--project <PROJECT> | -p <PROJECT>]
  [--branch <BRANCH> | -b <BRANCH>]
  [--message <MESSAGE> | -m <MESSAGE>]
  [--notify <NOTIFYHANDLING> | -n <NOTIFYHANDLING>]
  [--submit | -s]
  [--abandon | --restore]
  [--rebase]
  [--move <BRANCH>]
  [--json | -j]
  [--verified <N>] [--code-review <N>]
  [--label Label-Name=<N>]
  [--tag TAG]
  {COMMIT | CHANGENUMBER,PATCHSET}...
--

== DESCRIPTION
Updates the current user's approval status of the specified patch
sets and/or submits them for merging, sending out email
notifications and updating code review metadata.

Patch sets may be specified in 'CHANGEID,PATCHSET' format, such as
'8242,2', or 'COMMIT' format.

If a patch set is specified with the 'COMMIT' format, the complete
or abbreviated commit SHA-1 may be used.  If the same commit is available
in multiple projects the `--project` option may be used to limit where
Gerrit searches for the change to only the contents of the specified project.
If the same commit is available in multiple branches the `--branch` option
may be used to limit where Gerrit searches for changes to only the specified
branch.


== OPTIONS

--project::
-p::
	Name of the project the intended changes are contained
	within.  This option must be supplied before the commit
	SHA-1 in order to take effect.

--branch::
-b::
	Name of the branch the intended changes are contained
	within.  This option must be supplied before the commit
	SHA-1 in order to take effect.

--message::
-m::
	Optional cover letter to include as part of the message
	sent to reviewers when the approval states are updated.
	(option is mutually exclusive with --json)

--json::
-j::
	Read review input json from stdin. See
	link:rest-api-changes.html#review-input[ReviewInput] entity for the
	format.
	(option is mutually exclusive with --submit, --restore,
	--abandon, --message, --rebase and --move)

--notify::
-n::
	Who to send email notifications to after the review is stored.
	This option only applies for storing the review, but not for any
	other action (abandon, restore etc.) done by this command.
+
* NONE: send no email
* OWNER: send email to change owners
* OWNER_REVIEWERS: send email to change owners and reviewers
* ALL: send email to all (change owners, reviewers, watchers and any
  user who has starred the change)

--help::
-h::
	Display site-specific usage information, including the
	complete listing of supported approval categories and values.

--abandon::
	Abandon the specified change(s).
	(option is mutually exclusive with --submit, --restore,
	--rebase, --move and --json)

--restore::
	Restore the specified abandoned change(s).
	(option is mutually exclusive with --abandon and --json)

--rebase::
	Rebase the specified change(s).
	(option is mutually exclusive with --abandon, --submit and --json)

--move::
	Move the specified change(s).
	(option is mutually exclusive with --json and --abandon)

--submit::
-s::
	Submit the specified patch set(s) for merging.
	(option is mutually exclusive with --abandon, --rebase
	and --json)

--code-review::
--verified::
	Set the label to the value 'N'.  The exact option names
	supported and the range of values permitted differs per site,
	check the output of --help, or contact your site administrator
	for further details.  These options are only available for the
	labels that are defined in the 'All-Projects' root project and
	that are valid for all projects; for other labels, see --label.
	Votes that are not permitted for the user are silently ignored.

--label::
	Set a label by name to the value 'N'. The ability to vote on all specified
	labels is required. If the vote is invalid (invalid label or invalid name),
	the vote is not permitted for the user, or the vote is on an outdated or
	closed patch set, return an error instead of silently discarding the vote.

--tag::
-t::
	Apply a 'TAG' to the change message, votes, and inline comments. The 'TAG'
	can represent an external system like CI that does automated verification
	of the change. Comments that contain TAG values with 'autogenerated:' prefix
	can be filtered out in the web UI.
	Note that to apply different tags on different votes/comments, multiple
	invocations of the SSH command are required.

== ACCESS
Any user who has SSH access to Gerrit.

== SCRIPTING
This command is intended to be used in scripts.

== EXAMPLES

Approve the change with commit c0ff33 as "Verified +1"
----
$ ssh -p 29418 review.example.com gerrit review --verified +1 8242,2
----

Approve the change with change number 8242 and patch set 2 as "Code-Review +2"
----
$ ssh -p 29418 review.example.com gerrit review --code-review +2 8242,2
----

Vote on the project specific label "mylabel":
----
$ ssh -p 29418 review.example.com gerrit review --label mylabel=+1 8242,2
----

Append the message "Build Successful". Notice two levels of quoting is
required, one for the local shell, and another for the argument parser
inside the Gerrit server:
----
$ ssh -p 29418 review.example.com gerrit review -m '"Build Successful"' 8242,2
----

Mark the unmerged commits both "Verified +1" and "Code-Review +2" and
submit them for merging:
----
$ ssh -p 29418 review.example.com gerrit review \
  --verified +1 \
  --code-review +2 \
  --submit \
  --project this/project \
  $(git rev-list origin/master..HEAD)
----

Abandon an active change:
----
$ ssh -p 29418 review.example.com gerrit review --abandon 8242,2
----

== SEE ALSO

* link:access-control.html[Access Controls]

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

SEARCHBOX
---------
