0

本日、バージョン4.2.4を実行する前に、jiraをバージョン5.0.5にアップグレードしました。そのバージョンでは、問題について行われたすべてのコメントも表示するカスタムリリースノートテンプレートを作成しました。CommentManagerそのためには、オブジェクトを取得できる必要がありました。私たちはこれを次のように行いました:

#foreach ($issue in $issueType.issues)
#if($issueType.issues.size() > 0)
    #set ($comments = $action.ComponentManager.CommentManager.getComments($issue))
    #if ($comments) 
       #foreach ($comment in $comments)
...

これはJIRA4.2.4では正常に機能しましたが、jira 5.0.5では機能しなくなりました。JIRA5.0.5でカスタムリリースノートテンプレートを作成するときにCommentManagerオブジェクトを再度取得する方法や、CommentManagerを取得する方法を知っている人はいますか。$actionたとえば使用せずに、他の方法でオブジェクトを作成しますか?

4

3 に答える 3

1

vmテンプレートに、次のように記述します。

#set ($componentAccessorClass        = $constantsManager.getClass().getClassLoader().findClass('com.atlassian.jira.component.ComponentAccessor'))
#set ($componentAccessorConstructor  = $componentAccessorClass.getConstructor())
#set ($componentAccessor             = $componentAccessorConstructor.newInstance())

これで、コメントマネージャなど、必要なものをほぼすべて取得できるコンポーネントアクセサにアクセスできます。

これで、コンポーネントアクセサ変数でgetCommentManager()を呼び出すだけです。

#set($commentManager = $componentAccessor.getCommentManager() ) 

お役に立てば幸いです。:)

于 2014-03-24T16:40:20.450 に答える
0

JiraWebActionSupportには、コンポーネントマネージャーオブジェクトを提供する次の非推奨のメソッドがあります。

@Deprecated public ComponentManager getComponentManager() { return ComponentManager.getInstance(); }

https://developer.atlassian.com/display/JIRADEV/Creating+a+Custom+Release+Notes+Template+Containing+Release+Comments にはVelocityコードがいくつかありますが、5.0.1ソースを見ると、Velocityはそうではないように見えます。長く使用されていますか?

https://jira.atlassian.com/browse/JRAで改善を提出して、getCommentManagerメソッドをJiraWebActionSupport.javaに追加します。

于 2012-05-30T19:00:12.833 に答える
0

これは、私がjiraでcomponentmanagerオブジェクトを取得するために使用した方法です。componentmanagerオブジェクトを取得すると、残りの作業はかなり簡単になります。

#set ($componentManagerClass = $constantsManager.getClass().getClassLoader().findClass('com.atlassian.jira.ComponentManager'))
#set ($method = $componentManagerClass.getDeclaredMethod('getInstance', null))
#set ($componentManager = $method.invoke(null, null))

私は現在このソリューションを使用していますが、constantsmanagerを使用してほぼすべての種類のクラスを取得することは、他の人にとってかなり役立つ可能性があります。

于 2012-05-31T14:08:04.920 に答える