Script Runner - Wiki Markup in send email script

Hi folks,

I have a script post-function that uses the builin send email function.

In the function I render out the description field like this:

<td colspan="2">$issue.description</td> </tr>

The trouble is the description contains Wiki Markup which does not get converted to html.

What do I need to do to get the description to render as html ?

thanks

4 answers

1 accepted

Thanks Jamie & Kostas - I finally got it working by embeding the full namespace:

<% 	 
def rendererManager = com.atlassian.jira.component.ComponentAccessor.getComponent( com.atlassian.jira.issue.RendererManager.class)
def fieldLayoutItem = com.atlassian.jira.component.ComponentAccessor.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("description")
def renderer = rendererManager.getRendererForField(fieldLayoutItem)
String desc = renderer.render(issue.description, null)
%>
<%= desc %>

Ahh finally sussed it - just need to explicitly state the paths thanks Jamie & Kostas.

<% 	 
def rendererManager = com.atlassian.jira.component.ComponentAccessor.getComponent( com.atlassian.jira.issue.RendererManager.class)
def fieldLayoutItem = com.atlassian.jira.component.ComponentAccessor.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("description")
def renderer = rendererManager.getRendererForField(fieldLayoutItem)
String desc = renderer.render(issue.description, null)

%>



<%= desc %>

how the path should look like by custom field (free text)?

Thanks for the quick answer :)

I think I must be missing something though. I have added the following to the email template section of the built in script:

<% 	 
EventPublisher eventPublisher = ComponentAccessor.getOSGiComponentInstanceOfType(EventPublisher.class);
VelocityRequestContextFactory velocityRequestContextFactory = ComponentAccessor.getOSGiComponentInstanceOfType(VelocityRequestContextFactory.class);
AtlassianWikiRenderer wikiRenderer = new AtlassianWikiRenderer(eventPublisher, velocityRequestContextFactory);
 
String html = wikiRenderer.render("*I am bold*", null);
%>

but I get unable to resolve class EventPublisher

unable to resolve class VelocityRequestContextFactory

unable to resolve class AtlassianWikiRenderer

How do I get the imports in to the email template section ? or do I have to write a custom script?

cheers

 

Just add the missing classes

import groovy.text.GStringTemplateEngine;
import com.atlassian.jira.issue.fields.renderer.wiki.AtlassianWikiRenderer;
import com.atlassian.jira.util.velocity.VelocityRequestContextFactory;
import com.atlassian.event.api.EventPublisher;

I tried that but if you put imports inside of a GString template you get an error:

Unknown type: IMPORT at line: 25 column: 1. File: GStringTemplateScript217.groov

0 votes

You can do it like this:

def rendererManager = ComponentAccessor.getComponent(RendererManager.class)
            def fieldLayoutItem = ComponentAccessor.getFieldLayoutManager().getFieldLayout(issue).getFieldLayoutItem("comment")
            def renderer = rendererManager.getRendererForField(fieldLayoutItem)
            renderer.render(issue.description, null)

Convert that to a gstringtemplate is a pain though.

Thanks Jamie - so basically I have to write a dedicated script unless there is a way to use the import satements?

Hi Jamie, I want to send email to project role which consists of two words separated by space character "Portfolio manager". How to do so? Documentation says that more entries should be separated by space. I tried role:'Portfolio manager' and also 'role:Portfolio manager' but I was unsuccessful. Please help.

Suggest an answer

Log in or Join to answer
Community showcase
Sarah Schuster
Posted Jan 29, 2018 in Jira

What are common themes you've seen across successful & failed Jira Software implementations?

Hey everyone! My name is Sarah Schuster, and I'm a Customer Success Manager in Atlassian specializing in Jira Software Cloud. Over the next few weeks I will be posting discussion topics (8 total) to ...

2,933 views 12 18
Join discussion

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you
Atlassian Team Tour

Join us on the Team Tour

We're bringing product updates and pro tips on teamwork to ten cities around the world.

Save your spot