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

This widget could not be displayed.

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 %>

This widget could not be displayed.

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)?

This widget could not be displayed.

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

This widget could not be displayed.

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
Community showcase
Posted yesterday in Jira

What modern development practices are at the heart of how your team delivers software?

Hey Community mates! Claire here from the Software Product Marketing team. We all know software development changes rapidly, and it's often tough to keep up. But from our research, we've found the h...

37 views 0 1
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