Here at Endurance Intl., we use JIRA for project management. While JIRA helps a lot in managing projects, it needs a lot of patience to use. At least, in my experience I found it to be quite slow even for simple actions. I decided to fix it by calling the JIRA APIs directly. While curl is handy, it gets clumsy when you end up writing half buggy bash scripts.

curl command to retrieve your issues.

I decided I needed something more robust.

Requirements

APIs to manipulate issues on JIRA Cross-platform solution Minimalist UI

APIs to manipulate issues on JIRA

Luckily, JIRA has very good documentation about their API. It lets you do just about everything. For this tool, I needed the APIs to list all issues of an user and manipulate their statuses.

Cross-platform solution

Developers at Endurance Intl. use a variety of desktops ranging from Windows to OS X to different flavors of GNU/Linux. I myself might change my system if the need arises. As such, developing a cross-platform tool makes sense.

Looking at the various solutions for cross-platform apps, I decided on Electron. Why Electron? I work on React full-time. At this point, I eat and breathe JavaScript. Using Electron is a no-brainer. It is way faster to develop in, than learning a new framework or a programming language.

If I had gone with a new framework/language (xkcd #1319 ).

Minimalist UI

I decided to go with a system tray based UI since they are light and allow you to do a lot of actions.

Conclusion

Deal with your issues in your system tray.

Hence, we arrive at this solution which gets the ‘task’ done and also saves us a lot of time.

The GitHub repo is at github.com/aulisius/jira-task-helper

(File any issues you find, feature requests you need etc. to help improve the quality of this tool)

The application is still far from perfect, it needs proper configuration methods, use a proper JIRA client, auto-updating, installer-based distribution etc. but those things can wait. Time to get done with my actual task.

Go, close those tasks now!

P.S. The initial idea was given by my colleague, Ramesh Arvind.