Creating a custom notification type in JIRA 4.2

I’m working on customizing JIRA 4.2 and need to create a new notification type that will show up in the second column of the notification scheme configuration page. I’ve discovered that the NotificationType interface is what handles this functionality, but I’m stuck on the implementation details.

What I want to achieve:

  • Add a custom notification type option
  • Make it appear alongside the existing notification types like “Assignee”, “Reporter”, etc.
  • Integrate it properly with the notification scheme

I’ve looked through the JIRA documentation but couldn’t find clear examples of how to extend the notification system. Has anyone successfully implemented custom notification types before? What are the key steps I need to follow to get this working properly?

I built something similar six months ago and hit several issues the docs don’t cover well. Just implementing NotificationType won’t cut it - you’ve got to extend the notification scheme config UI components too. You’ll need to modify the notification scheme velocity templates and make sure your custom type plays nice with the existing dropdown. The trickiest bit was getting the persistence layer to actually recognize the new type. Learn how JIRA’s notification event system works first, because your custom type has to hook into event dispatching properly. Also double-check your plugin descriptor exports the component with correct interface declarations - otherwise JIRA won’t see it when configuring schemes.

JIRA 4.2 notification customization can be quite complex. After implementing the NotificationType interface, it’s essential to ensure that the component is registered accurately. A major aspect is configuring dependency injection within your Spring settings. You should register your custom notification type as a Spring bean in the atlassian-plugin.xml file while ensuring all necessary component-import declarations are included. The NotificationSchemeManager is responsible for populating the notification scheme dropdown with all NotificationType implementations. If your custom type fails to appear, verify through the plugin console that the component has loaded correctly. Additionally, be meticulous about implementing getDisplayName() to ensure the correct name appears in the interface. One crucial point to note is that JIRA 4.2 heavily caches notification types, so you might need to restart the instance after your plugin is deployed to reflect these changes.

totally feel ya! i went through this last month. just create a plugin that gets the NotificationType interface, then make sure you declare it in your atlassian-plugin.xml. the dropdown part is a pain tho, u gotta tweak the notification scheme manager too. but it’s do-able!

This topic was automatically closed 4 days after the last reply. New replies are no longer allowed.