मैं जेआईआरए के अधिसूचना व्यवहार को बदलना चाहता हूं और कुछ मुद्दों को अतिरिक्त रिसीवर जोड़ना चाहता हूं। मुझे पता है कि मैं EventPublisher
पंजीकृत कर सकता हूं और सभी आवश्यक घटनाओं को पकड़ सकता हूं।ईमेल के लिए जेआईआरए वेग टेम्पलेट का पुन: उपयोग कैसे करें?
public class MyIssueCreatedResolvedListenerImpl implements InitializingBean, DisposableBean {
private final EventPublisher eventPublisher;
public MyIssueCreatedResolvedListenerImpl(EventPublisher eventPublisher) {
this.eventPublisher = eventPublisher;
}
@Override
public void afterPropertiesSet() throws Exception {
eventPublisher.register(this);
}
@Override
public void destroy() throws Exception {
eventPublisher.unregister(this);
}
@EventListener
public void onIssueEvent(IssueEvent issueEvent) {
// Process the issue events. I'm using the code presented below.
}
}
onIssueEvent
मैं JIRA से मौजूदा ईमेल टेम्पलेट्स का पुन: उपयोग और उन्हें आगे रिसीवर
SMTPMailServer
वस्तु के साथ भेजना चाहते हैं में
। फिलहाल मैं वेग टेम्पलेट्स को पढ़ने और भरने के लिए निम्नलिखित कोड का उपयोग कर रहा हूं।
ApplicationProperties ap = ComponentAccessor.getApplicationProperties();
String baseUrl = ap.getString(APKeys.JIRA_BASEURL);
String webworkEncoding = ap.getString(APKeys.JIRA_WEBWORK_ENCODING);
VelocityManager vm = ComponentAccessor.getVelocityManager();
VelocityParamFactory vp = ComponentAccessor.getVelocityParamFactory();
Map context = vp.getDefaultVelocityParams();
context.put("baseurl", baseUrl);
context.put("currentTimestamp", new Date());
context.put("issue", issueEvent.getIssue());
String renderedText = vm.getEncodedBody("templates/email/html/", "issueclosed.vm", baseUrl, webworkEncoding, context);
SMTPMailServer mailServer = MailFactory.getServerManager().getDefaultSMTPMailServer();
Email email = new Email("<E-Mail-Adress>");
email.setMimeType("text/html");
email.setEncoding("utf-8");
email.setBody(renderedText);
try {
mailServer.send(email);
} catch (MailException e) {
e.printStackTrace();
}
उपर्युक्त कोड आंशिक काम करता है। कुछ फ़ील्ड भर चुके हैं, लेकिन मुझे अभी भी ईमेल अधिसूचना में सीएसएस, छवियों या i18n याद आती है। कृपया ध्यान दें, मैं बाजार से किसी भी अतिरिक्त ऐड-ऑन का उपयोग नहीं करूंगा।
क्या यह जिरा टेम्पलेट का पुन: उपयोग करने के लिए सही कार्यान्वयन है?
सीएसएस, छवियों, i18n, आदि कैसे शामिल करें? या मैं एक अलग दृष्टिकोण का उपयोग कर सकता हूं? क्षेत्रों के