renderer and escaping HTML in GStringTemplateEngine

Oleksii Gnatkevych June 17, 2015

Hi All and Jamie

There's 'Send Custom Email' post-function in which we define mail subject and body using GStringTemplateEngine. I can put ${issue.description} or <%= issue.description %>, but how do I properly escape HTML tags given that we are bound to the processing template context? In Velocity Templates we'd use something like $textutils.htmlEncode.

Also, we may have a wiki renderer set to a field, in Velocity we'd play like $!{rendererManager.getRenderedContent("atlassian-wiki-renderer", $comment.body, $issue.issueRenderContext)}. How we'd run it from GStringTemplateEngine?

Cheers,
Oles

1 answer

0 votes
Oleksii Gnatkevych June 17, 2015

After struggling a bit with it looking at the sources found solution that works somehow:

&lt;%
def rendererManager = componentManager.getRendererManager()
def descriptionLayoutItem = componentManager.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("description")
def descriptionRenderer = rendererManager.getRendererForField(descriptionLayoutItem)
%&gt;

and then

&lt;%= descriptionRenderer.render(issue.description, null)  %&gt;

Suggest an answer

Log in or Sign up to answer