I was inspired to write this plugin to try and cut down the number of Issues some users need to be assigned to watch. With this plugin you can specify what you want to watch at the project level and have details of a notification sent to one or more users by email or HipChat

What it does

This plugin allows you to watch a Project in JIRA Cloud. By specifying criteria you can get notified of changes without having to constantly add yourself as watcher to lots of Issues.

Features include:

  • Specify the events you are interested in
  • Specify criteria to limit notifications sent
  • Receive notification of changes by email or HipChat
  • Send emails to individual users or groups of users
  • Specify color of HipChat messages

How I built it

This plugin was built using Java and Google App Engine for the back end. The front end uses the Atlassian AUI libraries, JQuery and Javascript. Communication between the front and back end is handled by Servlets and Rest calls.

Challenges I ran into

Prior to this I had done one other simple JIRA Cloud plugin (Custom Fields for JIRA Cloud). I wanted to expand upon what I had already learnt and create a library that provided then functionality I required for both the last project (which will later be back ported) and for future Cloud plugins. At the end of the day I don't want to maintain the same pieces of code in multiple places.

Another Challenge was minimising the database accesses to cut down on expenses and speed up retrieval times for data and page loads. Using Memcached and trying to minimise interaction between the client and server help to do this.

Accomplishments that I'm proud of

Reuse of a reasonable amount of existing code and providing an easy to user interface that meets Altassians design standards.

What I learned

I have learnt the following:

  • An understanding of caching
  • How to use JIRA webhooks
  • How to make JIRA Rest calls from a server
  • How to handle dates over multiple time zones
  • The best ways to work with data in a distributed database

What's next for Project Watcher

Planned future changes include the accumulation of notification messages to present the information in a daily report and to allow notification information to be sent to external (non JIRA user) email addresses.

Share this project: