Create an event in Jira from plugin

Parashar Joshi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 18, 2017

Hi All,

I am trying to create a plugin which requires an event to be created.  
We need this event in the notification schemes to configure notifications to users on an issue when this event is triggered.

For now i have manually created the event from Jira UI but that will not be possible to do it in all the instances where this plugin is uploaded in Jira.

So I would like to know how all the following could be done

1. Create an event in Jira programmatically from plugin

2. Make sure that this create event code runs only once.
Although we can check if the event exists or not and then ignore creation, i would prefer the code does not get executed more than once.

3. How can i fetch who all should the notification be sent on this event for an issue?

Any pointers and help is greatly appreciated.

Thanks,
Parashar

1 answer

1 accepted

1 vote
Answer accepted
Parashar Joshi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 18, 2017

#1 was fairly simple :)

Following snippet should create the event.

EventTypeManager eventTypeManager = ComponentAccessor.getEventTypeManager();
EventType newEvent = new EventType("New Test Event ", "Test event", 0l)
eventTypeManager.addEventType(newEvent);

Will keep looking for #2 & #3.

Parashar Joshi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 21, 2017

Found a way for #2. 
We can use com.atlassian.sal.api.lifecycle.LifecycleAware and override the methods to do the job. The job runs only on Startup (i.e. On Jira Start up or the plugin enabled)

Will keep looking for #3.

Parashar Joshi
Rising Star
Rising Star
Rising Stars are recognized for providing high-quality answers to other users. Rising Stars receive a certificate of achievement and are on the path to becoming Community Leaders.
August 22, 2017

#3 can be done provided the issue and issue event details are available by accessing the notification manager.

Following snippet should allow one to do that.

IssueEvent issueEvent = new IssueEvent(issue, null, null, 2l);
Set<NotificationRecipient> recipients = notificationSchemeManager.getRecipients(issueEvent);

Marking the question as answered.
Please let me know if any of this can be done any better.

Suggest an answer

Log in or Sign up to answer