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 vote

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 Sign up to answer
Atlassian Community Anniversary

Happy Anniversary, Atlassian Community!

This community is celebrating its one-year anniversary and Atlassian co-founder Mike Cannon-Brookes has all the feels.

Read more
Community showcase
Julia Dillon
Posted Tuesday in Jira

Tell us how your team runs on Jira!

Hey Atlassian Community! Today we are launching a bunch of customer stories about the amazing work teams, like Dropbox and Twilio, are doing with Jira. You can check out the stories here. The thi...

220 views 1 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