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.
- 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
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.