#java #spring #jira #atlassian-plugin-sdk
Вопрос:
Я надеюсь, что кто-то знаком с Atlassian SDK для сервера Jira.
Я пытаюсь поймать событие, когда вложение добавляется в проблему Jira. Вот мой код, прослушивающий события выпуска:
@Component
public 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");
}
}
}
Вот код для создания вложения:
CreateAttachmentParamsBean attachmentParamsBean = new CreateAttachmentParamsBean.Builder(new File(path),
filename, "text/plain", context.getLoggedInUser(),
issue).build();
ChangeItemBean bean = ComponentAccessor.getAttachmentManager().createAttachment(attachmentParamsBean);
Этот код добавляет вложение к проблеме, но событие не запускается, и история проблем также не показывает это вложение. С другой стороны, когда я добавляю вложение через страницу выпуска Jira вручную, событие запускается, и в истории также отображается вложение. Так в чем же проблема с этим кодом? Заранее спасибо