Files
gerrit/Documentation/cmd-stream-events.txt
David Pursehouse d556c19fbd Send event to stream when draft change is published
When a change is uploaded as a draft, a `patchset-created` event is
sent to the event stream, but since drafts are private to the owner,
the event is not publicly visible.  Furthermore, when the draft is
later published, no publicly visible event is sent.

The result of this is that external tools that rely on the event stream
to detect new changes will not receive events for any changes that are
first uploaded as draft.

This patch adds a new event, `draft-published`, which is sent to the
event stream when a draft change is published.  The content of this
event is the same as `patchset-created`.

Bug: Issue 1437
Change-Id: I72f6dde99a82253ba796c1c13226a8b33f0e82bf
2012-06-16 21:46:59 -07:00

140 lines
3.1 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*, *comment-added* and *ref-updated*.
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]
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]
SEE ALSO
--------
* link:json.html[JSON Data Formats]
* link:access-control.html[Access Controls]
GERRIT
------
Part of link:index.html[Gerrit Code Review]