JIRA Angular Software | 2017-09-29

Making developers more productive at collaborating with a chrome extention for JIRA boards.

I work at a team at Markit Digital that tries to hit deadlines. One of the problems we had was knowing when to peer review stories, when QA sent us back a story, etc. etc. etc. What invariably happens with this is developers know what is on their plate right now and look into JIRA or their filtered email and find another story assigned to them for review or missed a question from another team member altogether. So the tooling is less than optimized. We rely on our inboxes to tell us when a team member has commented on any story(which most of us have set filters on to ignore inboxes and go straight to a read folder) or to read every story every day, essentially reading them every few hours.

Inspiration!!

Inspired by the Gmail notification for unread emails, I decided to start working on a Jira Chrome Extension. It’s the same basic idea, with one major exception. It shows assigns stories in a dropdown rather than a general link to all stories like Gmail has for emails.

Why does this make a difference?

The goal is to make developers more productive at collaborating with different teams and iterating on features in the current sprint. So with the excitment of helping my team, I created the app using Angular 1.3 (for routes, and API responses), JIRA API, jQuery (because it’s my crutch for selectors).

It works pretty darn well for us because it keeps us notified if someone needs my help. It’s similar to “pinging” a co-worker but isn’t as intrusive. It lets them know, “Oh I have another story assigned to me, let me jump on that when I’m in a good spot”

JIRA Chrome Extension

Each of those titles, descriptions and status’s are linked to the correct JIRA page. This uses two different projects, one for production issues, another for project issues. These are separated because they are separate boards in our system.

Where the heck is it already?!?

Runnable code for this and instructions to use it can be found at https://github.com/benpetersen/JiraChromeExtension

How and why did I use what I used?

  • Uses async calls in Angular using .factory
  • Returns promises from a JIRA REST API
  • Uses jQuery for click events because it’s my crutch
  • Uses Angular for routing, service, and controllers handle calls to the service and consumes data returned.