Adding issue link information to your template

In case you want to render issue link information in your email, you must edit your email templates. Rendering issue links requires a complex processing logic. The key is $!issue.linkCollection that returns a LinkCollection object which provides methods to explore linked issues, link types, etc. if there are linked issues, otherwise null. Read more about LinkCollection here.

When selecting Linked Issues in the Field Picker dropdown, you will get instructions on how to easily include issue link information in the template.

In case you want a customized display (e.g. include more attributes of the linked issues) then you can start adding these template fragments directly into your templates and customize them according to your needs.

Important: Jira Security is applied. The LinkCollection will return the linked issues as the email sender sees them. The sender may not be have the privilege to view all linked issues in Jira. If this is the case, the email may not list all linked issues either.

To have full control over the rendering of linked issues, insert the following code fragments into your template instead of parsing the rendering methods as above.

Example for rendering issue link information in HTML emails

#set ($lc = $!issue.linkCollection)
#if ($!lc)
 <tr valign="top">
  #if ($!isJIRA61OrLater)
     <th><strong style="font-weight:normal;color:${textSubtleColour};">Links:</strong></th>
     <td>
  #else
      <td style="color:${textColour};font-family:${textFontFamily};font-size:${textSize};padding:0 10px 10px 0;white-space:nowrap;"><strong style="font-weight:normal;color:${textSubtleColour};">Links:</strong></td>
      <td style="color:${textColour};font-family:${textFontFamily};font-size:${textSize};padding:0 0 10px 0;width:100%;">
  #end
    #foreach ($linkType in $lc.linkTypes)
      #set($outwardIssues = $lc.getOutwardIssues($linkType.name))
      #set($inwardIssues = $lc.getInwardIssues($linkType.name))
      #if($!outwardIssues && $!outwardIssues.size()>0)
      <dl>
        <dt><p style="font-weight: bold"></progress>$linkType.outward</p></dt>
        #foreach ($outwardLinkedIssue in $!outwardIssues)
        <dd>
            <div style="display:table;">
              <a style='color:${textLinkColour};text-decoration:none;' href='${baseurl}/browse/${outwardLinkedIssue.getKey()}'>$outwardLinkedIssue.getKey()</a>
              <span style="white-space: nowrap;">$outwardLinkedIssue.summary</span>
            </div>
        </dd>
        #end
      </dl>
        $!outwardIssues.clear()
      #end
      #if($!inwardIssues && $!inwardIssues.size()>0)
      <dl>
        <dt><p style="font-weight: bold"></progress>$linkType.inward</p></dt>
        #foreach ($inwardLinkedIssue in $!inwardIssues)
          <dd>
            <div style="display:table;">
              <a style='color:${textLinkColour};text-decoration:none;' href='${baseurl}/browse/${inwardLinkedIssue.getKey()}'>$inwardLinkedIssue.getKey()</a> <span style="white-space: nowrap;">$inwardLinkedIssue.summary</span>
            </div>
          </dd>
        #end
      </dl>
        $!inwardIssues.clear()
      #end
    #end
  </td>
</tr>
#end

Example for rendering issue link information in TEXT emails

#set ($lc = $!issue.linkCollection)
#if ($!lc)
Links:
#foreach ($linkType in $!lc.linkTypes)
#set($outwardIssues = $!lc.getOutwardIssues($linkType.name))
#set($inwardIssues = $!lc.getInwardIssues($linkType.name))
#if($!outwardIssues && $!outwardIssues.size()>0)
${linkType.outward}:
#foreach ($outwardLinkedIssue in $!outwardIssues)
$stringUtils.leftPad($outwardLinkedIssue.summary, $padSize): ${baseurl}/browse/${outwardLinkedIssue.getKey()}
#end
$!outwardIssues.clear()
#end
#if($!inwardIssues && $!inwardIssues.size()>0)
${linkType.inward}:
#foreach ($inwardLinkedIssue in $!inwardIssues)
$stringUtils.leftPad($inwardLinkedIssue.summary, $padSize): ${baseurl}/browse/${inwardLinkedIssue.getKey()}
#end
$!inwardIssues.clear()
#end
#end
#end

Last updated