How to display the history of operations with task

List of messages can be obtained in the following manner:

<#assign msgs = task.messages/>
<#if msgs?exists && (msgs?size>0)>
<#list msgs?reverse as message>
...
</#list>
</#if>

With the help of ?reverse, the list is displayed in the reverse order. If you want to display the list of messages, filtered by the filter “My Tasks”, then:

<@std.messages localTask=task filter="My Tasks"; messages>
...
<#list messages as message>
...
</#list>
...
</@std.messages>

Set of messages is returned here in the messages
Values of fields:

${message.id} – operation identifier
<@std.time date=message.time/> - date and time of executing the operation
${message.submitter.name?html} – name of the submitter
${message.description?html} – description of operation (comments)
${message.mstatus.name} – type of operation
${message.resolution.name} - resolution
${message.budgetAsString} - budget
${message.actualBudgetAsString} – spent time

Assignee is displayed with a bit of complexity. Values need to be checked for null:

<#if message.handlerUserId?exists || msg.handlerGroupId?exists>
<#if message.handlerUserId?exists>
Assignee: ${message.handlerUser.name}
</#if>
<#if message.handlerGroupId?exists>
Assignees: ${message.handlerGroup.name}
</#if>
</#if>