gerrit/Documentation/cmd-stream-events.txt
David Pursehouse f9f3b27509 Send event to stream and execute hook when merge fails
When a change is submitted but fails to merge, execute the
`merge-failed` hook and send the `merge-failed` event to the
event stream.

Bug: Issue 1237
Change-Id: Iab988b3cfc29f22450a8f25148a53ea131e184a7
2012-10-17 17:34:14 +09:00

163 lines
3.6 KiB
Plaintext

gerrit stream-events
====================
NAME
----
gerrit stream-events - Monitor events occurring in real time
SYNOPSIS
--------
[verse]
'ssh' -p <port> <host> 'gerrit stream-events'
DESCRIPTION
-----------
Provides a portal into the major events occurring on the server,
outputing activity data in real-time to the client. Events are
filtered by the caller's access permissions, ensuring the caller
only receives events for changes they can view on the web, or in
the project repository.
Event output is in JSON, one event per line.
ACCESS
------
Any user who has configured an SSH key.
SCRIPTING
---------
This command is intended to be used in scripts.
EXAMPLES
--------
====
$ ssh -p 29418 review.example.com gerrit stream-events
{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
{"type":"comment-added",change:{"project":"tools/gerrit", ...}, ...}
====
SCHEMA
------
The JSON messages consist of nested objects referencing the *change*,
*patchSet*, *account* involved, and other attributes as appropriate.
The currently supported message types are *patchset-created*,
*draft-published*, *change-abandoned*, *change-restored*,
*change-merged*, *merge-failed*, *comment-added*, *ref-updated* and
*reviewer-added*.
Note that any field may be missing in the JSON messages, so consumers of
this JSON stream should deal with that appropriately.
Events
~~~~~~
Patchset Created
^^^^^^^^^^^^^^^^
type:: "patchset-created"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
uploader:: link:json.html#account[account attribute]
Draft Published
^^^^^^^^^^^^^^^
type:: "draft-published"
change:: link:json.html#change[change attribute]
patchset:: link:json.html#patchSet[patchset attribute]
uploader:: link:json.html#account[account attribute]
Change Abandoned
^^^^^^^^^^^^^^^^
type:: "change-abandoned"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
abandoner:: link:json.html#account[account attribute]
reason:: Reason for abandoning the change.
Change Restored
^^^^^^^^^^^^^^^
type:: "change-restored"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
restorer:: link:json.html#account[account attribute]
reason:: Reason for restoring the change.
Change Merged
^^^^^^^^^^^^^
type:: "change-merged"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
submitter:: link:json.html#account[account attribute]
Merge Failed
^^^^^^^^^^^^
type:: "merge-failed"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
submitter:: link:json.html#account[account attribute]
reason:: Reason that the merge failed.
Comment Added
^^^^^^^^^^^^^
type:: "comment-added"
change:: link:json.html#change[change attribute]
patchSet:: link:json.html#patchSet[patchSet attribute]
author:: link:json.html#account[account attribute]
approvals:: All link:json.html#approval[approval attributes] granted.
comment:: Comment text author had written
Ref Updated
^^^^^^^^^^^
type:: "ref-updated"
submitter:: link:json.html#account[account attribute]
refUpdate:: link:json.html#refUpdate[refUpdate attribute]
Reviewer Added
^^^^^^^^^^^^^^
type:: "reviewer-added"
change:: link:json.html#change[change attribute]
patchset:: link:json.html#patchSet[patchset attribute]
reviewer:: link:json.html#account[account attribute]
SEE ALSO
--------
* link:json.html[JSON Data Formats]
* link:access-control.html[Access Controls]
GERRIT
------
Part of link:index.html[Gerrit Code Review]