I hope someone is familiar with Atlassian SDK for Jira Server.
I try to catch an event when an attachment is added to Jira Issue. Here is my code listening to issue events:
@Componentpublic class IssueEventListener implements InitializingBean, DisposableBean { private static final Logger log = LoggerFactory.getLogger(IssueEventListener.class); @JiraImport private final EventPublisher eventPublisher; @Autowired public IssueEventListener(EventPublisher eventPublisher) { this.eventPublisher = eventPublisher; } @Override public void destroy() throws Exception { log.info("Disabling plugin"); eventPublisher.unregister(this); } @Override public void afterPropertiesSet() throws Exception { log.info("Enabling plugin"); eventPublisher.register(this); } @EventListener public void onIssueEvent(IssueEvent issueEvent) { Long eventTypeId = issueEvent.getEventTypeId(); Issue issue = issueEvent.getIssue(); if (eventTypeId.equals(EventType.ISSUE_CREATED_ID)) { log.warn("Issue {} has been created at {}.", issue.getKey(), issue.getCreated()); System.out.println("issue created"); } else if (eventTypeId.equals(EventType.ISSUE_UPDATED_ID)) { log.warn("Issue {} has been updated (Attachment created/deleted at {}.", issue.getKey(), issue.getUpdated()); System.out.println("issue updated"); } }}Here is the code for attachment creation:
CreateAttachmentParamsBean attachmentParamsBean = new CreateAttachmentParamsBean.Builder(new File(path), filename, "text/plain", context.getLoggedInUser(), issue).build(); ChangeItemBean bean = ComponentAccessor.getAttachmentManager().createAttachment(attachmentParamsBean);This code adds an attachment to the issue, but the event is not fired and issue history does not show that attachment also. On the other hand, when I add an attachment through Jira issue page manually, the event is fired and history shows an attachment too. So what is the problem with this code? Thanks in advance