2011-11-29 117 views
1

在發佈說明velocity模板([jira-install-dir] \ atlassian-jira \ WEB-INF \ classes \ templates \ jira \ project \ releasenotes \ releasenotes- html.vm)所示的問題下IssueTypes組織:在JIRA模板中顯示組件的問題類型和問題

錯誤

  • 1期
  • 第2期...

改進

  • 1期
  • 第2期...

我試圖找到一種方式來組織下IssueTypes部件或組件和問題下IssueTypes和問題:

組件

  • 錯誤
    • 1期
    • 第2期...
  • 改進
    • 1期
    • 第2期...

OR

錯誤

  • 組分A
    • 問題1
    • 問題2 ...
  • 組分B
    • 問題1
    • 問題2 ...

改進

  • 組分A
    • 問題1個
    • 問題2 ...

目前它抓住每個問題類型的問題:

#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模板訪問組件的問題/ IssueTypes?或者,如果有更好的方法來實現這一目標,我全都是耳朵!

感謝

回答

0

因爲吉拉使用的速度,你只有通過控制器提供數據訪問MVC模式。似乎只有$ issueTypes是您的相關數據,因此通常無法獲取呈現此類結構所需的唯一組件列表。

因此,我建議編寫一個自己的插件模塊(例如報告)。 在java中獲取並組織您的問題以獲得結構列表>組件,然後應該很容易爲您呈現它。