Override Jira core service


Is there any way to override jira service (eg. using AOP)?

I'd like to filter MailQueueItems inside MailQueue before MailQueueService starts to process it. It would be ideally to override MailQueueService.run() method - but probably it is not possible.

I've spent lots of time without any success. Please let me know how can I do it.

I can prepare scheduled job and check queue, but this solution is not good, because internal jira jobs runs as default once a minute, and there is a risk, that new elements appear on queue after my job finishes.

How it coul'd be done in jira plugin development?


1 answer

You cannot override logic of MailQueueService.

What is your task? What exactly you would like to change in MailQueueService.run() method?


my task is the following:

  1. user can configure additional email address in profile [done, using AO]
  2. each notification should be send to this additional email [done, using eventlistener]
  3. - if user has additional email, i can't send email to standard email - here I don't have idea how to do it. I've tried to remove unnecessary email from the queue before MailQueueService starts to process it - but it seems to be impossible)

Could You help me in point 3?


No, it is not possible at the moment

Isn't it possible to add some listener and check what is added to mail queue and modify it before email sending starts?

No, it's too late in the process.

Events are fired when something happens.  There's a built-in listener that picks them up and sends out notifications.

You have no way of knowing if your listener will react to an event before, during, or after another listener, and even if you could be sure it runs before the notification listener, events are not modifiable, so you wouldn't be able to do anything with it.

You will need to remove the notifications completely, so that Jira does not do anything with the events, and write your own notification listener.

ok, I'll talk with PM about this requirement :)

I assume that there is no way to override build-in listener?

Not without hacking the core of Jira apart.

Suggest an answer

Log in or Sign up to answer
Community showcase
Published Jan 08, 2019 in Jira

How to Jira for designers

I’m a designer on the Jira team. For a long time, I’ve fielded questions from other designers about how they should be using Jira Software with their design team. I’ve also heard feedback from other ...

811 views 3 9
Read article

Atlassian User Groups

Connect with like-minded Atlassian users at free events near you!

Find a group

Connect with like-minded Atlassian users at free events near you!

Find my local user group

Unfortunately there are no AUG chapters near you at the moment.

Start an AUG

You're one step closer to meeting fellow Atlassian users at your local meet up. Learn more about AUGs

Groups near you