Ich möchte das Benachrichtigungsverhalten von JIRA ändern und zusätzliche Empfänger zu bestimmten Problemereignissen hinzufügen. Ich weiß, dass ich die EventPublisher
registrieren und alle notwendigen Ereignisse erfassen konnte.
In onIssueEvent
möchte ich die bestehenden Email-Vorlagen von JIRA wiederverwenden und mit dem SMTPMailServer
-Objekt an weitere Empfänger senden. Im Moment verwende ich den folgenden Code zum Lesen und Füllen der Geschwindigkeitsvorlagen.
Der obige Code funktioniert teilweise. Ein paar Felder sind gefüllt, aber ich vermisse immer noch die CSS, Bilder oder i18n in der E-Mail-Benachrichtigung. Bitte beachten Sie, dass ich keine zusätzlichen Add-Ons vom Marktplatz verwenden werde.
Ist dies die korrekte Implementierung, um die JIRA-Vorlagen wiederzuverwenden?
Wie können CSS, Bilder, i18n usw. eingebunden werden? Oder könnte ich einen anderen Ansatz verwenden?
einige Felder sind gefüllt, aber ich vermisse immer noch die CSS, Bilder oder i18n
Wie funktioniert die Internationalisierung? / p>
Bevor Sie die Internationalisierung (auch als i18n bezeichnet, weil es 18 Buchstaben zwischen 'i' und 'n' gibt) für Ihr Plugin verwenden, ist es wichtig zu verstehen, wie ein Plugin internationalisiert wird.
Zunächst müssen alle Nachrichten im Plugin außerhalb des Codes in eine Eigenschaftendatei im Plugin verschoben werden. Die Eigenschaftendatei speichert die Standardübersetzungen (Englisch) für alle Nachrichten innerhalb des Plugins. Das Eigenschaftendateiformat ist ein Schlüsselformat = Wert, wobei der Schlüssel verwendet wird, um auf die Ressource im Code zu verweisen, und der Wert die Standardnachricht in Englisch ist.
Sie können / images / in Ihrem Pfad nur verwenden, wenn Sie das Verzeichnis zuordnen.
Einschließlich Javascript und CSS Ressourcen:
Der Speicherort der Ressource sollte für jede Ressource mit dem Pfad der Ressource in der Plugin-JAR-Datei übereinstimmen. Ressourcenpfade sind Namespaced für Ihr Plugin, sodass sie nicht mit Ressourcen in anderen Plugins mit demselben Speicherort in Konflikt geraten können (anders als bei i18n- oder Velocity-Ressourcen). Es kann jedoch hilfreich sein, einen Pfadnamen zu verwenden, der für Ihr Plugin spezifisch ist, um mit diesen anderen Typen konsistent zu sein.
Um Ihre benutzerdefinierte Webressource in eine Seite aufzunehmen, auf der Ihr Plug-in verwendet wird, verwenden Sie das Makro #requireResource Velocity.