Velocity template broke after upgrading to JIRA 6.0.2

Jason Plumhoff
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 30, 2013

We recently upgraded from JIRA 5.2 to 6.0.2, and our custom release notes template apparently broke. Most of it works ok, but we have one custom field (called "Config Notes") that now isn't displaying correctly. Previously, it would display as nicely formatted and indented text. However, now it looks like all the HTML formatting tags and special characters (tabs, etc.) are being displayed along with the text. For example, if this is the content of the field:

###OPTIONAL###
ctc.cfg
=====
/Machine/materialManager/materialNamingPolicy
      #RenameMaterialBaseOnJobID -> true

Then this is what the output looks like on the screen:

###OPTIONAL### <br/> ctc.cfg <br/> ===== <br/> /Machine/materialManager/materialNamingPolicy <br/>       #RenameMaterialBaseOnJobID -> true

The formatting is important - I'd really like to get it to display in the release notes properly again. The macro we use to generate the config notes is here:

#macro (getConfigNote $issue $customFieldManager)
    #set ($customFields = $customFieldManager.getCustomFieldObjects($issue.project.getLong("id"), $issue.issueType.getString("id")))
    #foreach($customField in $customFields)
        #if($customField.name.equals("Config Changes"))
            #if($customField.getValue($issue))
                 $textUtils.indent($textUtils.br($textUtils.leadingSpaces($customField.getValue($issue))) ,2,false)
            #end
        #end
    #end
#end

Any help in tracking down what broke and how to fix it would be greatly appreciated.

Thanks,

Jason

2 answers

1 accepted

0 votes
Answer accepted
Jobin Kuruvilla [Adaptavist]
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 30, 2013

Look at the velocity escaping changes in JIRA5: https://developer.atlassian.com/display/JIRADEV/Velocity+Templates

0 votes
David Pinn
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
June 30, 2013

You have a couple of options for solving the problem. You could add

#disable_html_escaping()

...to the top of your template file; or you could set the custom field's value to a variable that has 'html' at the end of its name:

#set($contentAsHtml = $customField.getValue($issue))
$contentAsHtml

... and there are a couple more options if you were to obtain the value via a custom method call, but I'm guessing that's not what you're after.

You'll have this one solved in no time.

Suggest an answer

Log in or Sign up to answer