I noticed that on many Atlassian Forums people were complaining about not having an easy way to sum up their JQL queries.
Specifically, users wanted to be able to:
I encountered situations in the past where I wanted to see the summed up value of a filter AND the issues that make up that filter on the same page.
An app which let you pick the filter you want and select the field to sum up seemed like it would solve all of these recurring problems.
What it does
Quick Filter Sum Up lets you select a filter, select a field and sum up that field.
How I built it
I built it using ACE and Next.js. I used a boilerplate I created which lets you build ACE apps fast using modern frontend tools like React.js and Styled Components. It has a bunch of bundled features such as automatic license validation, cancellation page, loading components, Sentry integration, and some functions to make API calls from the frontend much simpler.
Challenges I ran into
I struggled with exactly how to calculate the summed up data.
I considered going through every Quick Filter on the server and creating webhooks for each one. Their sum would be recalculated whenever an issue field changed so they'd be available when a user loads Quick Filter Sum Up.
This approached seemed overly server intensive.
I settled on calculating the sum of the issues on the frontend when the app loads using a recursive function which goes through all issues in the filter. Although this can be slow, it's made much faster by only querying the field to sum up.
This approach saved 1000s of webhooks being created on larger Jira instances and still retained a good sum up speed.
Accomplishments that I'm proud of
I'm proud to have built an ACE app using Next.js. I was able to use the latest frontend tools without spending lots of time rejigging the ACE framework.
I was happy to solve a big pain point for lots of Atlassian users.
What I learned
I learned how to build a new app very quickly using ACE and Next.js. The hackathon was a great opportunity to try out my boilerplate and see where it was lacking and could be improved.
I also learned lots about the kinds of pain points Atlassian users experience.
What's next for Quick Filter Sum Up
To get traction on the Atlassian Marketplace and get feedback from users which can guide new feature development. I'd also like to create a server and data center version which reuses the bulk of my code.