Fisheye Annotated listener not called

Laks Ramaswamy April 26, 2015

I am writing a custom listener for Fisheye/Crucible. I am following the new Annotated Listener as per this Annotated Listener link.

The plugin gets installed fine. But my listener doesnt seem to be registered and doesnt get invoked during review state change event as its supposed.

The Custom event listener class

public class FisheyeMailListener implements DisposableBean {

private final Logger logger = Logger.getLogger(FisheyeMailListener.class);

EventPublisher eventPublisher;
final ReviewService reviewService;

public FisheyeMailListener(EventPublisher eventPublisher, ReviewService reviewService) {
logger.warn("Fisheye Mail Listener intialized...");
logger.warn("event publisher available to custom listener is "+eventPublisher.getClass().getName());
this.eventPublisher = eventPublisher;
this.eventPublisher.register(this);
this.reviewService = reviewService;
logger.warn("Custom Mail Listener registered with the event publisher");
}

@Override
 public void destroy() throws Exception {
eventPublisher.unregister(this);
}

@EventListener
 public void onEvent(ReviewStateChangedEvent event) {
PermId<ReviewData> review = event.getReviewId();
String reviewId = review.getId();
logger.warn("FisheyeMailListener -- called for review id [" + reviewId + "]");
DetailedReviewData reviewDetails = reviewService.getReviewDetails(review);
for(FisheyeReviewItemData fileCommit : reviewDetails.getReviewItems().reviewItem) {
logger.warn("URI to fetch changeset details /cru/"+fileCommit.getRepositoryName()+"/"+fileCommit.getToRevision());
logger.warn("File revision "+fileCommit.getToPath());
}

}

}

My atlassian-plugin.xml

<component-import key="fecruMailListener" class="com.example.fecru.plugins.listener.FisheyeMailListener" public="false">
<description>Sends an email different Review state change events</description>
<interface>org.springframework.beans.factory.DisposableBean</interface>
</component-import>

The old method of declariing a listener in atlassian-plugin.xml and implementing EventListener works!

1 answer

1 accepted

Comments for this post are closed

Community moderators have prevented the ability to post new answers.

Post a new question

0 votes
Answer accepted
Laks Ramaswamy April 26, 2015

I resolved this issue myself. The entry in the atlassian-plugin .xml was incorrect. Here is the correct entry

<component key="fecruMailListener" class="com.example.fecru.plugins.listener.FisheyeMailListener">
<description>Sends an email different Review state change events</description>
</component>

 

Please refer this atlassian-plugin.xml

TAGS
AUG Leaders

Atlassian Community Events