:: Version 2.6.0 ::

Notification placeholders

The “Subject” and “Body” parts of an email Notification support placeholders:

Syntax Example on a Ticket notification
$this->attribute$ $this->ref$ is replaced by the Ticket reference
$this->external_key->attribute$ $this->caller_id->email$ is replaced by the email of the caller of the Ticket
$this->representation(attribute)$ $this->html(log)$ is replaced by the public log in html format
$CONSTANT$ $APP_URL$ is replaced by the URL of the iTop application
$this->function()$ $this->hyperlink(portal)$ is replaced by the url to the Ticket on the iTop portal

Those 5 cases are detailed below:

Additional placeholders can be added by Extensions, such as Approval… Check Extension documentation for more details.

Attribute placeholders

Function Description Supported types of attributes
$this->attribute$ The plain text representation of the value of the attribute any
$this->id$ The id of the current object (there is no such attribute at that time)
$current_contact->attribute$ the person who did the change which activated the trigger
LinkedSet attributes: the very standard syntax $this->attribute$ returns a list of names separated by a new line character which are replaced by blank in HTML, so use instead $this->html(functionalcis_list)$ to display the bullet list of CIs linked to a User Request.
Known limitation: Calculated attribute friendlyname is not accurate if one of its underlying field is modified. The workaround is to rebuild the friendlyname within the notification itself.

Extended syntax

The extended syntax provides a quick means to retrieve data from related objects, like in the following examples:

  • $this->approver_id->phone$
  • $this->approver_id->org_id->code$
  • $this->approver_id->org_id->hyperlink()$
  • $this->parent_request_id->hyperlink(portal)$

Every built-in functions and attribute representations are available after the last ->).

Attribute representations

Function Description Supported types of attributes
$this->html(attribute)$ The HTML representation of the value of the attribute any
$this->label(attribute)$ The localized representation of the value of the attribute. The language is the language of the user currently logged in. any (only make sense for AttributeEnum)
$this->head(attribute)$ Plain text of the latest entry in the case log AttributeCaseLog
$this->head_html(attribute)$ HTML formatted representation of the latest entry, whereas $this->html(attribute)$ returns an HTML formatted representation of the whole case log (you can apply your own CSS styling to make it beautiful). AttributeCaseLog
New in iTop 2.4: $this->raw(attribute)$ SQL formatted representation of the date(time), whereas $this->(attribute)$ returns the value formatted regarding the configuration parameter. AttributeDatetime

Fixed placeholders

Placeholder Meaning
$APP_URL$ URL of the iTop application.
$MODULES_URL$ Root URL of the modules (e.g. $APP_URL$/env-production).

Built-in function placeholders

Placeholder Meaning
$this->name()$ The name of the current object
$this->hyperlink()$ The url to access the current object in iTop console
$this->hyperlink(portal)$ The url to access the current object in the iTop portal
$this->hyperlink(itop-portal-view)$ To open the current object in iTop portal in read-only mode
$this->hyperlink(itop-portal-edit)$ To open the current object in iTop portal in modification mode

Tips & examples

Example: UserRequest

Assuming that a notification is triggered when assigning a User Request, the body of the message could be:

Dear $this->html(agent_id),
The ticket $this->ref$ has been assigned to you.

More information about this ticket
Title: $this->title$


Public log:

Impacted CIs:

Click here to display the details of the ticket: $this->hyperlink()$ (authentication required)


Adding automatically a team signature to UserRequest email notification:
  • customize the Team class by adding an signature field, of type AttributeTemplateHTML if you want to make it nice with logo for eg.
  • then add $this->team_id->signature$ at the end of the body
Though there is no 'id' attribute', the placeholder $this->id$ is available to represent the iTop internal identifier.
If you have created other portals, you can point to them replacing 'portal' by the id of your new portal. Example $this->hyperlink(partner-portal)$
2_6_0/admin/placeholders.txt · Last modified: 2019/01/09 16:40 (external edit)
Back to top
Contact us