在JIRA模板中显示组件的IssueTypes和问题

时间:2011-11-29 17:20:44

标签: jira velocity

在发行说明速度模板([jira-install-dir] \ atlassian-jira \ WEB-INF \ classes \ templates \ jira \ project \ releasenotes \ releasenotes-html.vm)中,显示的问题在IssueTypes下组织:

错误

  • 问题1
  • 第2期......

改进

  • 问题1
  • 第2期......

我正在尝试找到一种方法来组织IssueTypes下的组件,OR组件和问题下的问题类型和问题:

组件

  • 错误
    • 问题1
    • 第2期......
  • 改进
    • 问题1
    • 第2期......

OR

错误

  • 组件A
    • 问题1
    • 第2期......
  • 组件B
    • 问题1
    • 第2期......

改进

  • 组件A
    • 问题1
    • 第2期......

目前它从每个issueType中获取问题:

#foreach ($issueType in $issueTypes)
  #if($issueType.issues.size() > 0)
    <h2>$textUtils.htmlEncode($issueType.name)</h2>
    <ul>
    #foreach ($issue in $issueType.issues)
      <li>[<a href='$!appProps.getString("jira.baseurl")/browse/$issue.key'>$issue.key</a>]
      $textUtils.htmlEncode($issue.summary)#getReleaseNoteLoggedonBehalfof($issue
      $customFieldManager)</li>
    #end
    </ul>
  #end
#end

我想完成这样的事情(伪代码......请原谅嵌套循环,这就是我的大脑现在如何工作,当我有更多时间时,我会写更少的代码!:P)

#foreach ($component in $components)
  #foreach ($issueType in $component.issueTypes)
    #if($issueType.issues.size() > 0)
      <h2>$textUtils.htmlEncode($issueType.name)</h2>
      <ul>
      #foreach ($issue in $issueType.issues)
        <li>[<a href='$!appProps.getString("jira.baseurl")/browse/$issue.key'>$issue.key</a>]
        $textUtils.htmlEncode($issue.summary)#getReleaseNoteLoggedonBehalfof($issue
        $customFieldManager)</li>
      #end
      </ul>
    #end
  #end
#end

我可以通过Velocity模板访问Component的Issues / IssueTypes吗?或者,如果有更好的方法来实现这一目标,那我就是耳朵!

由于

1 个答案:

答案 0 :(得分:0)

因为Jira在速度中使用MVC模式,所以您只能访问控制器提供的数据。似乎只有$ issueTypes是您的相关数据,因此通常无法获得呈现此类结构所需的唯一组件列表。

因此我建议编写一个自己的插件模块(例如报告)。 在java中获取并组织您的问题以获得结构List&gt;组件然后应该很容易呈现它。