2015-04-06 55 views
1

每當發生某些事件時,我需要自動對JIRA票據字段進行一些更改。我建議,我寫一個自定義事件聽衆 - 由JIRA調用。如何編寫JIRA-listener插件?

不過,我有點不清楚的如何正確地做到這一點 - 一個online tutorial hosted by Atlassian創建,而Atlassian的自己DebugListener.javaMailListener.java(從當前JIRA源樹)使用擴展AbstractIssueEventListener類沒有提到bean框架。

我使用了教程的示例,並且無法使其工作。我應該繼續掙扎嗎,還是應該改用其他方法?其中哪些是目前推薦的和官方的,哪些是「遺產」?

我們目前生產的JIRA是6.1.7版 - 我不需要我的插件來處理任何事情。該事件監聽,實際上對我的作品的

回答

1

代碼示例:

public class TestEventListener extends AbstractIssueEventListener implements InitializingBean, DisposableBean { 
private final EventPublisher eventPublisher; 

public TestEventListener(
     EventPublisher eventPublisher 
) { 
    this.eventPublisher = eventPublisher; 
} 

@EventListener 
public void onIssueEvent(IssueEvent issueEvent) throws JiraException, IOException, URISyntaxException { 
} 

/** 
* Called when the plugin has been enabled. 
* 
* @throws Exception 
*/ 
@Override 
public void afterPropertiesSet() throws Exception { 
    // register ourselves with the EventPublisher 
    eventPublisher.register(this); 
} 

/** 
* Called when the plugin is being disabled or removed. 
* 
* @throws Exception 
*/ 
@Override 
public void destroy() throws Exception { 
    // unregister ourselves with the EventPublisher 
    eventPublisher.unregister(this); 
} 

}

+0

是的,我已經改寫自己的代碼來擴展'AbstractIssueEventListener' - _instead_實施豆類。我猜,Atlassian的教程是陳舊的 - 因爲基於bean的類沒有被JIRA使用。 –

+0

我試過這個,但可以讓它工作。它總是打印異常加載類:[Class'... Listener'可從OSGi加載,但沒有啓用的插件可以自動裝載實例。]。' – kravemir