JETI's default email template (called Default in the template editor) is prepared to render comments into the email body when the "Add comments to outgoing emails" option is enabled. However, if you develop your own custom email template from scratch or not based on Default, you'll have to add velocity template code to render the comments.
In order to append issue comments to the outgoing emails, two requirements must be met:
- You enable the option "Add comments to outgoing emails" in the corresponding component (Email button, Bulk Email, Post Function, Event Notification)
- You add a template fragment to your email template that will render the comments.
The template fragments are different for HTML and TEXT emails. Copy and paste the below code to your templates or use the Field Picker dropdown and select "Comment".
Non-restricted comments only
Only public (non-restricted, i.e. Visible by anyone) comments are added to the emails. This is done to prevent revealing secured comments unintentionally.
Render comments in emails using templates based on Themes
The new email template themes make it possible to render comments in emails easily in various ways.
Comment rendering macro | Description | Order |
---|---|---|
#renderComments($!issue) | Renders all comments of the issue which are not restricted to groups or roles nor are internal comments in Service Management. | Ascending |
#renderCommentsInReverseOrder($!issue) | Renders all comments of the issue which are not restricted to groups or roles. | Descending |
#renderServiceDeskPublicComments($!issue) | Same as #renderComments($!issue) | Ascending |
#renderServiceDeskInternalComments($!issue) | Renders Service Management internal comments of the issue | Ascrending |
#renderAllComments($!issue) | Renders all comments of the issue. Comments may be internal or public, restricted or visible to all. | Ascending |
#renderLastComment($!issue) | Renders the last comment entered in the issue | |
#renderComment() | Renders the comment entered during the operation | |
#renderCurrentComment() | Alias of #renderComment() | |
#renderIssueComments(<sorting> <number of comments> <restrictions>) | Generic, multi-purpose comment rendering macro. SINCE 8.0.3 Parameters: <sorting>: "asc" or "desc" <number of comments>: an positive integer number or "all" to render all comments matching <restrictions> <restrictions>: comment restrictions, values are
|
Render Comments in emails using traditional templates
Comments in HTML Emails
It is possible to fully control how the comments are rendered in the email. The code block below renders comments in HTML.
Comments in Text Emails
It is possible to fully control how the comments are rendered in the email. The code block below renders comments in Text.
Reverse Comment List
Normally comments are rendered by date ascending. To render them the latest on top, you must reverse the list:
#set($publicComments = $!jetiFieldRenderer.reverse($!publicComments))
Last Comment
In operations when the users enter a comment (like issue update, or workflow transitions), the comment they enter can be referred to as $!comment or $!htmlComment depending on the content type of the template.
In other cases, after reversing the comment list, you can access the last one easily:
#if($!publicComments && !$!publicComments.empty) #set($lastComment = $!publicComments.get(0)) ... #end
Without reversing the list first, access the last comment as:
#if($!publicComments && !$!publicComments.empty) #set($lastComment = $!publicComments.get($!publicComments.size()-1)) ... #end
Access All Comments (even restricted ones)
To access all comments of an issue, use the $commentManager object.
#foreach ($comment in $!commentManager.getComments($!issue)) ... #end