Files
gerrit/Documentation/config-hooks.txt
Edwin Kempin a2bf0836a0 Remove unneeded escape characters from the documentation
There was an incompatible upgrade of asciidoc. The old version of
asciidoc required certain characters to be escaped with a backslash
and when the upgrade to the new version was done all those backslashes
that were used for escaping became visible. These unneeded backslashes
in the documenation are confusing to users, especially since they
mainly appear in syntax examples (where the syntax gets incorrect if
the backslahes are included). With this change all unneded backslashes
are removed from the Gerrit documentation.

Change-Id: I6b71ac558344b07cdbc73c67c472c0186e8f50f2
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
2011-12-28 12:30:10 -07:00

116 lines
3.3 KiB
Plaintext

Gerrit Code Review - Hooks
==========================
Gerrit does not run any of the standard git hooks in the
repositories it works with, but it does have its own hook mechanism
included. Gerrit looks in `'$site_path'/hooks` for executables with
names listed below.
The environment will have GIT_DIR set to the full path of the
affected git repository so that git commands can be easily run.
Make sure your hook scripts are executable if running on *nix.
Hooks are run in the background after the relevant change has
taken place so are unable to affect the outcome of any given
change. Because of the fact the hooks are run in the background
after the activity, a hook might not be notified about an event if
the server is shutdown before the hook can be invoked.
Supported Hooks
---------------
patchset-created
~~~~~~~~~~~~~~~~
This is called whenever a patchset is created (this includes new
changes)
====
patchset-created --change <change id> --change-url <change url> --project <project name> --branch <branch> --uploader <uploader> --commit <sha1> --patchset <patchset id>
====
comment-added
~~~~~~~~~~~~~
This is called whenever a comment is added to a change.
====
comment-added --change <change id> --change-url <change url> --project <project name> --branch <branch> --author <comment author> --commit <commit> --comment <comment> [--<approval category id> <score> --<approval category id> <score> ...]
====
change-merged
~~~~~~~~~~~~~
Called whenever a change has been merged.
====
change-merged --change <change id> --change-url <change url> --project <project name> --branch <branch> --submitter <submitter> --commit <sha1>
====
change-abandoned
~~~~~~~~~~~~~~~~
Called whenever a change has been abandoned.
====
change-abandoned --change <change id> --change-url <change url> --project <project name> --branch <branch> --abandoner <abandoner> --reason <reason>
====
change-restored
~~~~~~~~~~~~~~~~
Called whenever a change has been restored.
====
change-restored --change <change id> --change-url <change url> --project <project name> --branch <branch> --restorer <restorer> --reason <reason>
====
ref-updated
~~~~~~~~~~~
Called whenever a ref has been updated.
====
ref-updated --oldrev <old rev> --newrev <new rev> --refname <ref name> --project <project name> --submitter <submitter>
====
cla-signed
~~~~~~~~~~~
Called whenever a user signs a contributor license agreement
====
cla-signed --submitter <submitter> --user-id <user_id> --cla-id <cla_id>
====
Configuration Settings
----------------------
It is possible to change where gerrit looks for hooks, and what
filenames it looks for by adding a [hooks] section to gerrit.config.
Gerrit will use the value of hooks.path for the hooks directory, and
the values of hooks.patchsetCreatedHook, hooks.commentAddedHook,
hooks.changeMergedHook and hooks.changeAbandonedHook for the
filenames for the hooks.
Missing Change URLs
-------------------
If link:config-gerrit.html#gerrit.canonicalWebUrl[gerrit.canonicalWebUrl]
is not set in `gerrit.config` the `--change-url` flag may not be
passed to all hooks. Hooks started out of an SSH context (for example
the patchset-created hook) don't know the server's web URL, unless
this variable is configured.
See Also
--------
* link:config-gerrit.html#hooks[Section hooks]
GERRIT
------
Part of link:index.html[Gerrit Code Review]