#* @vtlvariable name="metadataHelper" type="com.atlassian.jira.issue.changehistory.metadata.renderer.HistoryMetadataRenderHelper" *#
#* @vtlvariable name="changeHistoryAction" type="com.atlassian.jira.issue.tabpanels.ChangeHistoryAction" *#
#macro (historyMetadataParticipant $participant $withAvatar)
#set($participantId = $metadataHelper.getParticipantName($participant))
#if($participantId)
#if ($withAvatar) #historyMetadataParticipantAvatar($participant) #end
#if ($participant.url) $textutils.htmlEncode($participantId) #else $textutils.htmlEncode($participantId) #end
#end
#end
#macro (historyMetadataParticipantAvatar $participant)
#if ($participant.avatarUrl)
#end
#end
#macro (createAuthorLink $withAvatar)
#if($withAvatar)
#set ($authorLink = $userformat.formatUserkey(${changeHistoryAction.author}, 'profileLinkActionHeader', "changehistoryauthor_$!{changeHistoryAction.id}"))
#else
#set ($authorLink = $userformat.formatUserkey(${changeHistoryAction.author}, 'profileLink', "changehistoryauthor_$!{changeHistoryAction.id}"))
#end
#end
#macro(renderChangeHistoryDetails)
#set ($timestamp = " - ")
#set($generatorHasNoAvatar = "$!changeHistoryAction.historyMetadata.generator.avatarUrl" == "")
#if($i18n.isKeyDefined($changeHistoryAction.historyMetadata.descriptionKey))
#set($generator = "#historyMetadataParticipant($changeHistoryAction.historyMetadata.generator, false)")
#if ("$!changeHistoryAction.author" != "" || "$!changeHistoryAction.historyMetadata.actor" == "")
#createAuthorLink($generatorHasNoAvatar)
#set($actor = $authorLink)
#elseif ($changeHistoryAction.historyMetadata.actor)
#set($actor = "#historyMetadataParticipant($changeHistoryAction.historyMetadata.actor, $generatorHasNoAvatar)")
#end
#set($cause = "#historyMetadataParticipant($changeHistoryAction.historyMetadata.cause, true)")
#set($metadataDescription = $i18n.getText($changeHistoryAction.historyMetadata.descriptionKey, $actor.trim(), $generator.trim(), $cause.trim()))
#elseif($changeHistoryAction.historyMetadata.description)
#createAuthorLink($generatorHasNoAvatar)
#set($metadataDescription = $i18n.getText('viewissue.changehistory.changeby', $authorLink, $textutils.htmlEncode($changeHistoryAction.historyMetadata.description)))
#end
#if($metadataDescription)
#historyMetadataParticipantAvatar($changeHistoryAction.historyMetadata.generator)
$metadataDescription $timestamp
#else
#createAuthorLink(true)
$i18n.getText('viewissue.changehistory.changeby', $authorLink, $timestamp)
#end
#end