Jython: Render Wiki Text in Jira
I’m building out a simple template system for our email notifications, so of course I want to support multipart, text and email. But, hey, we have some text fields in JIRA that can take wiki markup, and JIRA will format that on display. So, how do I handle those fields in my text and HTML message attachments?
https://answers.atlassian.com/questions/191567/in-a-jira-script-how-do-i-render-wiki-text-fields
https://answers.atlassian.com/questions/135084/method-to-convert-jira-wiki-format-to-html
So, some sample code to render the custom field “Change Summary” into a pair of strings, change_summary_text
and change_summary_html
, suitable for inclusion into an email message:
from com.atlassian.event.api import EventPublisher from com.atlassian.jira import ComponentManager from com.atlassian.jira.component import ComponentAccessor from com.atlassian.jira.issue import CustomFieldManager from com.atlassian.jira.issue.fields import CustomField from com.atlassian.jira.issue.fields.renderer.wiki import AtlassianWikiRenderer from com.atlassian.jira.util.velocity import VelocityRequestContextFactory # Get Custom Field cfm = ComponentManager.getInstance().getCustomFieldManager() change_summary = issue.getCustomFieldValue(cfm.getCustomFieldObjectByName("Change Summary")) # Set up Wiki renderer eventPublisher = ComponentAccessor.getOSGiComponentInstanceOfType(EventPublisher) velocityRequestContextFactory = ComponentAccessor.getOSGiComponentInstanceOfType(VelocityRequestContextFactory) wikiRenderer = AtlassianWikiRenderer(eventPublisher, velocityRequestContextFactory) # Render Custom Field change_summary_html = wikiRenderer.render(change_summary, None) change_summary_text = wikiRenderer.renderAsText(change_summary, None) |