399b10dea7
Change-Id: Ib8e0f57a686f5cda235759b7528be8012304aecb
201 lines
6.3 KiB
Plaintext
201 lines
6.3 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`.
|
|
|
|
=== AddKey.vm
|
|
|
|
The `AddKey.vm` template will determine the contents of the email related to
|
|
SSH and GPG keys being added to a user account. This notification is not sent
|
|
when the key is administratively added to another user account.
|
|
|
|
=== 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`.
|
|
|
|
=== DeleteVote.vm
|
|
|
|
The `DeleteVote.vm` template will determine the contents of the email related
|
|
to removing votes on changes. It is a `ChangeEmail`: see `ChangeSubject.vm`
|
|
and `ChangeFooter.vm`.
|
|
|
|
=== DeleteReviewer.vm
|
|
|
|
The `DeleteReiewer.vm` template will determine the contents of the email related
|
|
to a user removing a reviewer (with a vote) from a change. 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`.
|
|
|
|
=== 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]
|
|
|
|
SEARCHBOX
|
|
---------
|