Custom Notifications Language Reference
Use the following reference to locate elements in notification templates and modify them present information in the desired format.
Local Variables
Local variables can be used, but not changed by the user. Local variables are predefined and read-only.
Local Variable | Type | Description |
---|---|---|
header | string | The header of a notification. Represents a short text which identifies the notification type. The following values are available: Created , Assigned , Updated , Commented , Resolved , Tagged , Voted , and so on. This variable is used in the default email subject template. |
from | User | Represents notification sender's details |
to | User | Represents notification recipient's details |
application.name | string | Evaluates to "YouTrack" |
application.version | string | Evaluates to the current version |
application.build | string | Evaluates to build number |
reason | string | Evaluates to description of the reason a user receives notification. Description form differs in jabber and email notifications. |
issue | Issue | Evaluates to an issue, about which the notification is sent. |
change | IssueChange | Contains info about changes (issue project, summary, description, custom fields, visibility group, links, attachments) that initiated notification. |
comment | Comment | Evaluates to an edited or posted comment, about which notification is sent. |
comment_updated | boolean | true - a comment has been edited, false - a new comment has been posted |
tag | Tag | Evaluates to an tag, which has been added to or removed from an issue. |
untag | boolean | indicator that issue has been tagged/untagged |
unvote | boolean | indicates that issue has been voted/unvoted |
project | Project | Imported project or project failed to import (id, full name, issues, leader...). Variable is used in the "Import status" notification. |
exception | Throwable | Java Throwable object |
message | string | text of the message in the "Import status" notification. |
Directives
You use FTL tags to call directives. Besides built-in directives like the #list
directive, you can define your own directives in Freemarker. For more information, see the User-Defined directives manual.
wiki
- process embedded text using Wiki syntax and keywords. Directive applies HTML escaping.parameter
- no parametersbody
- text to process
Example:
diff
- render html element presenting text change. Mark deleted and added sections of text with given styles.- parameters:
oldText
- old version of textnewText
- new version of textinsStyle
- html style of inserted parts of textdelStyle
- html style of deleted parts of text
body
- no body
- parameters:
Example:
- stacktrace render the html component representing stacktrace of Throwable
- parameters:
throwable
- instance of Throwable Java class
body
- no body
- parameters:
Example:
Utils
Everywhere the type of returned value is
list<?>
, you can iterate over method result using#list
directive.
Method Summary | |
---|---|
static string | getAttachmentUrl (Attachment attachment) returns URL of attachment resource |
static string | getAvatarUrl (User user) returns URL of user avatar |
static string | getCommentReplyUrl (Comment comment) returns URL of web page with Issue view focused on reply text area |
static string | getCommentUrl (Comment comment) returns URL of web page with Issue view focused on comment |
static list<ProjectCustomField> | getCustomFields (Issue issue) returns list of custom fields of issue |
static Issue | getDuplicate (Issue source) returns issue duplicated by the source issue, if there is no such issue returns null |
static string | getEditProjectUrl (Project project) returns URL of web page in Administration where you can edit project |
static list<Tag> | getExplicitTags (Issue issue) returns list of tags of issue except tag 'Star' visible for notification recipient |
static int | getInvisibleAttachmentsCount (Issue issue) returns number of issue's attachment invisible for notification recipient |
static string | getIssuesUrl (Project project) returns URL of web page with the Issues list opened in context of a project |
static string | getJiraIntegrationUrl () returns URL of web page in Administration where you set up Jira integration |
static list<Issue> | getLinkedIssues (Issue source, string linkRole) linkRole name of link (Related, Duplicate, and so on) returns list of issues linked with source by the link of specified role |
static list<string> | getLinkRoles (Issue source) returns all possible roles of links of the source issue |
static string | getPossessiveName (User you, User from) returns "you" if you and from is the same user, and from user presentation otherwise |
static string | getResolveStatus (Issue issue) returns "resolved" if issue has been resolved and "" otherwise |
static string | getSettingUrl (User user) return URL of web page with user profile setting focused on the "Filters and Notifications" tab |
static string | getStarSrc (Issue issue) return URL of 'Star' tag image resource |
static string | getTaggedIssuesUrl (Tag tag) returns URL of web page with the Issues list opened in context of tagged by tag issues |
static string | getTrimmedTagName (Tag tag) return tag name restricted by 25 chars length |
static string | getUrl (Issue issue) returns URL of web page with issue |
static list<Attachment> | getVisibleAttachments (Issue issue) return list of issue's attachments visible for notification recipient |
static boolean | hasLinks (Issue issue) returns either issue has any links or not |
static string | inUserTimeZone (instant time) returns human readable formatted time brought to the recipient time zone |
static boolean | isFixed (Issue issue) returns either issue has been fixed or not |