Hi Team,
I am new to listener plugin development.
I have created listener plugin in order to check my cf version picker 'Target Version' is not empty,
just in the beginning only I have got stuck.
//Code
VersionMathListener.java
package com.infor.plugins;
import com.atlassian.event.api.EventListener;
import com.atlassian.event.api.EventPublisher;
import com.atlassian.jira.component.ComponentAccessor;
import com.atlassian.jira.event.issue.IssueEvent;
import com.atlassian.jira.event.type.EventType;
import com.atlassian.jira.issue.CustomFieldManager;
import com.atlassian.jira.issue.Issue;
import com.atlassian.jira.issue.fields.CustomField;
import com.atlassian.plugin.spring.scanner.annotation.imports.JiraImport;
import com.opensymphony.workflow.InvalidInputException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.stereotype.Component;
public class VersionMathListners implements InitializingBean, DisposableBean {
private static final Logger log = LoggerFactory.getLogger(VersionMathListners.class);
@JiraImport
private final EventPublisher eventPublisher;
@Autowired
public VersionMathListners(EventPublisher eventPublisher) {
this.eventPublisher = eventPublisher;
}
/**
* Called when the plugin has been enabled.
* @throws Exception
*/
public void afterPropertiesSet() throws Exception {
log.info("Enabling plugin");
eventPublisher.register(this);
}
/**
* Called when the plugin is being disabled or removed.
* @throws Exception
*/
public void destroy() throws Exception {
log.info("Disabling plugin");
eventPublisher.unregister(this);
}
@EventListener
public void onIssueEvent(IssueEvent issueEvent) {
Long eventTypeId = issueEvent.getEventTypeId();
Issue issue = issueEvent.getIssue();
CustomFieldManager customFieldManager = ComponentAccessor.getCustomFieldManager();
CustomField targetversion=customFieldManager.getCustomFieldObject("customfield_11400"); //Target Version
Object targetversionvalue=issue.getCustomFieldValue(targetversion);
try {
if (targetversionvalue == null) {
throw new InvalidInputException("Target Version should not be empty");
}
} catch (InvalidInputException e) {
e.printStackTrace();
}
}
}
Reagrds
Tejas