5fb9e3e9d4
After commits 1d070cf
and 8a3146e, notification emails are sent
for new changes or patch sets created by actions made by the user
in the Web UI.
Update the documentation to clarify this.
Change-Id: Id5fe1726d6d0bffdafaf9a210c4db47adf5bf345
214 lines
6.4 KiB
Plaintext
214 lines
6.4 KiB
Plaintext
Gerrit Code Review - Mail Templates
|
|
===================================
|
|
|
|
Gerrit uses velocity templates for the bulk of the standard mails it sends out.
|
|
There are builtin default templates which are used if they are not overridden.
|
|
These defaults are also provided as examples so that administrators may copy
|
|
them and easily modify them to tweak their contents.
|
|
|
|
|
|
Template Locations and Extensions:
|
|
----------------------------------
|
|
|
|
The default example templates reside under: `'$site_path'/etc/mail` and are
|
|
terminated with the double extension `.vm.example`. Modifying these example
|
|
files will have no effect on the behavior of Gerrit. However, copying an
|
|
example template to an equivalently named file without the `.example` extension
|
|
and modifying it will allow an administrator to customize the template.
|
|
|
|
|
|
Supported Mail Templates:
|
|
-------------------------
|
|
|
|
Each mail that Gerrit sends out is controlled by at least one template. These
|
|
are listed below. Change emails are influenced by two additional templates,
|
|
one to set the subject line, and one to set the footer which gets appended to
|
|
all the change emails (see `ChangeSubject.vm` and `ChangeFooter.vm` below.)
|
|
|
|
Abandoned.vm
|
|
~~~~~~~~~~~~
|
|
|
|
The `Abandoned.vm` template will determine the contents of the email related
|
|
to a change being abandoned. It is a `ChangeEmail`: see `ChangeSubject.vm` and
|
|
`ChangeFooter.vm`.
|
|
|
|
ChangeFooter.vm
|
|
~~~~~~~~~~~~~~~
|
|
|
|
The `ChangeFooter.vm` template will determine the contents of the footer
|
|
text that will be appended to emails related to changes (all `ChangeEmail`s).
|
|
|
|
ChangeSubject.vm
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
The `ChangeSubject.vm` template will determine the contents of the email
|
|
subject line for ALL emails related to changes.
|
|
|
|
Comment.vm
|
|
~~~~~~~~~~
|
|
|
|
The `Comment.vm` template will determine the contents of the email related to
|
|
a user submitting comments on changes. It is a `ChangeEmail`: see
|
|
`ChangeSubject.vm`, `ChangeFooter.vm` and `CommentFooter.vm`.
|
|
|
|
CommentFooter.vm
|
|
~~~~~~~~~~~~~~~~
|
|
|
|
The `CommentFooter.vm` template will determine the contents of the footer
|
|
text that will be appended to emails related to a user submitting comments on
|
|
changes. See `ChangeSubject.vm`, `Comment.vm` and `ChangeFooter.vm`.
|
|
|
|
CommitMessageEdited.vm
|
|
~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
The `CommitMessageEdited.vm` template will determine the contents of the email
|
|
related to a user editing the commit message through the Gerrit UI. It is a
|
|
`ChangeEmail`: see `ChangeSubject.vm` and `ChangeFooter.vm`.
|
|
|
|
Footer.vm
|
|
~~~~~~~~~
|
|
|
|
The `Footer.vm` template will determine the contents of the footer text
|
|
appended to the end of all outgoing emails after the ChangeFooter and
|
|
CommentFooter.
|
|
|
|
Merged.vm
|
|
~~~~~~~~~
|
|
|
|
The `Merged.vm` template will determine the contents of the email related to
|
|
a change successfully merged to the head. It is a `ChangeEmail`: see
|
|
`ChangeSubject.vm` and `ChangeFooter.vm`.
|
|
|
|
MergeFail.vm
|
|
~~~~~~~~~~~~
|
|
|
|
The `MergeFail.vm` template will determine the contents of the email related
|
|
to a failure upon attempting to merge a change to the head. It is a
|
|
`ChangeEmail`: see `ChangeSubject.vm` and `ChangeFooter.vm`.
|
|
|
|
NewChange.vm
|
|
~~~~~~~~~~~~
|
|
|
|
The `NewChange.vm` template will determine the contents of the email related
|
|
to a user submitting a new change for review. This includes changes created
|
|
by actions made by the user in the Web UI such as cherry picking a commit or
|
|
reverting a change. It is a `ChangeEmail`: see `ChangeSubject.vm` and
|
|
`ChangeFooter.vm`.
|
|
|
|
RegisterNewEmail.vm
|
|
~~~~~~~~~~~~~~~~~~~
|
|
|
|
The `RegisterNewEmail.vm` template will determine the contents of the email
|
|
related to registering new email accounts.
|
|
|
|
ReplacePatchSet.vm
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
The `ReplacePatchSet.vm` template will determine the contents of the email
|
|
related to a user submitting a new patchset for a change. This includes
|
|
patchsets created by actions made by the user in the Web UI such as editing
|
|
the commit message, cherry picking a commit, or rebasing a change. It is a
|
|
`ChangeEmail`: see `ChangeSubject.vm` and `ChangeFooter.vm`.
|
|
|
|
Restored.vm
|
|
~~~~~~~~~~~
|
|
|
|
The `Restored.vm` template will determine the contents of the email related
|
|
to a change being restored. It is a `ChangeEmail`: see `ChangeSubject.vm` and
|
|
`ChangeFooter.vm`.
|
|
|
|
Reverted.vm
|
|
~~~~~~~~~~~
|
|
|
|
The `Reverted.vm` template will determine the contents of the email related
|
|
to a change being reverted. It is a `ChangeEmail`: see `ChangeSubject.vm` and
|
|
`ChangeFooter.vm`.
|
|
|
|
|
|
Mail Variables and Methods
|
|
--------------------------
|
|
|
|
Mail templates can access and display objects currently made available to them
|
|
via the velocity context. While the base objects are documented here, it is
|
|
possible to call public methods on these objects from templates. Those methods
|
|
are not documented here since they could change with every release. As these
|
|
templates are meant to be modified only by a qualified sysadmin, it is accepted
|
|
that writing templates for Gerrit emails is likely to require some basic
|
|
knowledge of the class structure to be useful. Browsing the source code might
|
|
be necessary for anything more than a minor formatting change.
|
|
|
|
Warning
|
|
~~~~~~~
|
|
|
|
Be aware that modifying templates can cause them to fail to parse and therefore
|
|
not send out the actual email, or worse, calling methods on the available
|
|
objects could have internal side effects which would adversely affect the
|
|
health of your Gerrit server and/or data.
|
|
|
|
All OutgoingEmails
|
|
~~~~~~~~~~~~~~~~~~
|
|
|
|
All outgoing emails have the following variables available to them:
|
|
|
|
$email::
|
|
+
|
|
A reference to the class constructing the current `OutgoingEmail`. With this
|
|
reference it is possible to call any public method on the OutgoingEmail class
|
|
or the current child class inherited from it.
|
|
|
|
$messageClass::
|
|
+
|
|
A String containing the messageClass.
|
|
|
|
$StringUtils::
|
|
+
|
|
A reference to the Apache `StringUtils` class. This can be very useful for
|
|
formatting strings.
|
|
|
|
Change Emails
|
|
~~~~~~~~~~~~~
|
|
|
|
All change related emails have the following additional variables available to them:
|
|
|
|
$change::
|
|
+
|
|
A reference to the current `Change` object.
|
|
|
|
$changeId::
|
|
+
|
|
Id of the current change (a `Change.Key`).
|
|
|
|
$coverLetter::
|
|
+
|
|
The text of the `ChangeMessage`.
|
|
|
|
$branch::
|
|
+
|
|
A reference to the branch of this change (a `Branch.NameKey`).
|
|
|
|
$fromName::
|
|
+
|
|
The name of the from user.
|
|
|
|
$projectName::
|
|
+
|
|
The name of this change's project.
|
|
|
|
$patchSet::
|
|
+
|
|
A reference to the current `PatchSet`.
|
|
|
|
$patchSetInfo::
|
|
+
|
|
A reference to the current `PatchSetInfo`.
|
|
|
|
|
|
See Also
|
|
--------
|
|
|
|
* link:http://velocity.apache.org/[velocity]
|
|
|
|
GERRIT
|
|
------
|
|
Part of link:index.html[Gerrit Code Review]
|