2
1
0

JIRAのリリースノートのテンプレートをカスタマイズさせていただきたく
サブタスクの表示を以下のように、サブタスクの横に親のストーリーを表示するようにしたいです。
リリースノートのVMファイルはどのように修正すればよろしいでしょうか。 

(例)

サブタスク

[TEST-3] サブタスク1 - [TEST-1]ストーリー1

[TEST-2] サブタスク2 - [TEST1]ストーリー1

    Commentコメントを追加...

    2 回答

    1.  
      1
      0
      -1

      具体的な仕様ドキュメントに関しては下記を確認ください。

       https://confluence.atlassian.com/display/JIRA/Creating+Release+Notes

      「Adding a New Format Template」の通り、リリースノートのテンプレートは修正が可能ですので、想定されるリリースノートにテンプレートを修正する必要がございます。
      https://developer.atlassian.com/jiradev/jira-architecture/jira-templates-and-jsps/creating-a-custom-release-notes-template-containing-release-comments

      カスタマイズしたテンプレートを作る場合

      1. jjira-config.properties設定ファイルに以下のように追記します。 (今回は、HTML、TEXT以外にSubTaskを追加しています)

      • <jira-home>/jira-config.properties 
      jira.releasenotes.templatenames = Html, Text, SubTask
      jira.releasenotes.templates = releasenotes-html.vm, releasenotes-text.vm, releasenotes-html-subtask.vm

      2. 下記ディレクトリにカスタマイズしたテンプレートファイルを追加します。

      <jira-applcation>/atlassian-jira/WEB-INF/classes/templates/jira/project/releasenotes/(各種テンプレートがあります)

      releasenotes-html-subtask.vm
       #disable_html_escaping()
      ##Text is escaped twice so that the characters generated in the text area display properly escaped (JRA-12184)
      ###macro (doubleEncode $html)
      ##        $textUtils.htmlEncode($textUtils.htmlEncode($html))
      ###end
      <title>$textUtils.htmlEncode($action.getText('release.notes.html.title', $project, $version))</title>
      <body>
      <div class="ops-cont">
          <ul class="ops">
              <li>
                  <a class="button first last" href="$!requestContext.baseUrl/secure/ConfigureReleaseNote.jspa?projectId=${versionObj.projectObject.id}&version=${versionObj    .id}">$action.getText('releasenotes.configure')</a>
              </li>
          </ul>
      </div>
      #foreach ($issueType in $issueTypes)
          #if($issueType.issues.size() > 0)
              <h2>$textUtils.htmlEncode($issueType.name)</h2>
              <ul>
              #foreach ($issue in $issueType.issues)
              #if($issue.isSubTask())
                  <li>
                  [<a href='$requestContext.canonicalBaseUrl/browse/$issue.getParentObject().getKey()'>$issue.getParentObject().getKey()</a>] - $textUtils.htmlEncode($issue    .getParentObject().getSummary()) -
                  [<a href='$requestContext.canonicalBaseUrl/browse/$issue.key'>$issue.key</a>] - $textUtils.htmlEncode($issue.summary)
                  </li>
              #else
                  <li>[<a href='$requestContext.canonicalBaseUrl/browse/$issue.key'>$issue.key</a>] - $textUtils.htmlEncode($issue.summary)</li>
              #end
              #end
              </ul>
          #end
      #end
      
      <a name="editarea"></a>
      <h2>$action.getText('release.notes.edit.copy')</h2>
      <p>$action.getText('release.notes.description')</p>
      <textarea rows="40" cols="120" id="editcopy">
      #doubleEncode($action.getText('release.notes.heading', $project, $version))
      #foreach ($issueType in $issueTypes)
          #if($issueType.issues.size() > 0)
      <h2>#doubleEncode($issueType.name)</h2>
      <ul>
      #foreach ($issue in $issueType.issues)
      #if($issue.isSubTask())
      <li>
      [<a href='$requestContext.canonicalBaseUrl/browse/$issue.getParentObject().getKey()'>$issue.getParentObject().getKey()</a>] - #doubleEncode($issue.getParentObject().g    etSummary())
      [<a href='$!requestContext.canonicalBaseUrl/browse/$issue.key'>$issue.key</a>] - #doubleEncode($issue.summary)
      </li>
      #else
      <li>[<a href='$!requestContext.canonicalBaseUrl/browse/$issue.key'>$issue.key</a>] - #doubleEncode($issue.summary)</li>
      #end
      #end
      </ul>
      #end
      #end
      </textarea>
      </body>
      
      

      (警告) ごめんなさい。動作確認はしていないのですが、問い合わせの実現方法としては上記のような方法です。

      $issue.isSubTask() でサブタスクか判定して、サブタスクであれば
      $issue.getParentObject() で親タスクの値を取得してください。 詳しくは下記APIをご確認ください。

      3. JIRAを再起動します

      4. 再起動完了後、リリースノート設定をクリック 

      5. リリースノートにSubTaskスタイルが追加されていますので、選択すると、上記テンプレートの通りの出力になります。

      (情報) テンプレートは Velocityというテンプレートエンジンのフォーマットになっています。

      1. masaru iwai

        ご教示いただいた通りの上記の設定で、思っていた通りにリリースノートをカスタマイズすることができました!ありがとうございます!!

      2. Kengo Ohsaki

        masaru iwai-san,

        良かったです。サポートだとお答えできないため、ユーザーフォーラムをご利用ください!

      Commentコメントを追加...
    2.  
      1
      0
      -1

      懇切丁寧にありがとうございます!

      まさにやりたかったことです。早速試してみます!

      取り急ぎお礼まで。

        Commentコメントを追加...