I'm developing a plugin that stores settings per plan in PluginSettings. I'm wondering if there's some sort of callback mechanism whereby my plugin can be notified when a plan is deleted so it can remove its corresponding settings.
I'm fairly new to Bamboo development, so apologies if this obvious. :)
EDIT:
In case another n00b runs across this, here's my working example. Just need to add the appropriate bambooEventListener block in your atlassian-plugin.xml.
package com.example.bamboo.testPlugin
import com.atlassian.bamboo.event.ChainDeletedEvent;
import com.atlassian.bamboo.plan.PlanKey;
import com.atlassian.event.api.EventListener;
import com.atlassian.event.api.EventPublisher;
import com.atlassian.plugin.spring.scanner.annotation.component.Scanned;
import com.atlassian.plugin.spring.scanner.annotation.imports.ComponentImport;
import org.jetbrains.annotations.NotNull;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import javax.inject.Inject;
@Scanned
public class PlanDeletionListener implements DisposableBean {
private static final Logger log = LoggerFactory.getLogger(PlanDeletionListener.class);
@ComponentImport private final EventPublisher eventPublisher;
@Inject
public PlanDeletionListener(EventPublisher eventPublisher) {
log.info("PlanDeletionListener instantiated.");
this.eventPublisher = eventPublisher;
eventPublisher.register(this);
}
@EventListener
public void onChainRemoved(@NotNull ChainDeletedEvent chainDeletedEvent) {
PlanKey key = chainDeletedEvent.getPlanKey();
String message = ("Plugin received deletion event for plan with key "+key.getKey());
log.info(message);
}
public void destroy() throws Exception {
eventPublisher.unregister(this);
log.info("PlanDeletionListener destroyed.");
}
}
Yes, there's com.atlassian.bamboo.event.ChainDeletedEvent
You can create listener
@EventListener
public void onChainRemoved(@NotNull ChainDeletedEvent chainDeletedEvent)
{
....do what you need
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.