Add sub-tasks on create
Search using JQL on a schedule
Conditions restrict a rule to only run for issues you care about
Track all the changes Automation for JIRA makes with the audit log
Pick a pre-defined template to get started quick
Actions perform changes in a system
We have many trigger types available.
For power users we provide access to advanced fields for some actions.
We wanted to make it easy for JIRA customers to automate their teams' processes. Current solutions all require deep knowledge of JIRA's APIs or some developer skills to write scripts. Not all JIRA admins have those skills nor do they want to spend time learning them. Our inspiration was to provide a simple, yet incredibly powerful user experience that hides all the complexity from the user. We also want to make it easier to integrate JIRA with third party systems.
What it does
Automation for JIRA allows any project admin to create powerful automation rules in their project with ease. At its heart is a simple rule builder that allows users to specify triggers, conditions and actions.
Triggers control when an automation rule begins - they can react to issue events or be scheduled. With conditions project admins can customise rules to only run for issues they care about. Finally actions perform changes in a system, such as editing an issue, creating sub-tasks or sending SMS notifications via Twilio.
Users can combine as many conditions and actions as they like. We provide some pre-defined templates and on-boarding to help you get started, but the power is really with users to combine automation rule components in exciting new ways!
We also offer a free 'Lite' version of Automation for JIRA that's limited to 60 rule executions per month so customers can try it out for as long as they like! Upgrades to the paid version will be seamless with all rules still being there after upgrade.
How we built it
We built Automation for JIRA on a serverless stack using AWS Lambda, API Gateway and Cloudfront for static resources. Dynamic parts of the UI are served directly via API Gateway, which makes calls to Lambda to render the initial connect page contents and provides REST resources to fetch and update additional data. When automation rules execute, they are added to a AWS Kineses queue that is also processed by AWS Lambda.
The front-end was built using React and Redux and can be run completely standalone. In fact most of our front-end development was done on a local webpack dev-server using mock REST data.
Challenges we ran into
Getting the initial serverless stack setup with AWS Cloudformation proved trickier and more time consuming than we thought. We investigated several solutions like serverless but couldn't find something that fit so we ended up building our own stack. Cloudformation coupled with Cloudfront can be very time consuming with every small configuration change sometimes taking 20 mins to run.
On the product side, getting the design of the rule builder right was also very challenging and took a number of iterations to get right.
Accomplishments that we're proud of
Nick and I are both very happy with the final design of the rule builder. It's incredibly simple, yet very powerful. We've also added an in product on-boarding tour that should make it very easy for our users to get started with Automation for JIRA.
On the technical side we are both proud of the React, Redux, AWS Lambda stack we've developed. The front-end will make it easy to port this add-on to server in the future and the cloud back-end stack will be an incredibly cost-effective way to host this add-on.
What we learned
Working on this add-on taught us a lot about the AWS stack and developing a scalable cloud add-on. We were worried that we could not achieve a fast development speed using this very new serverless Lambda stack. After a few teething problems with syncing incremental Lambda updates however and our standalone React/Redux front-end stack these fears proved to be unfounded.
What's next for Automation for JIRA
We ask for customer feedback directly in the product in a number of places. With our infrastructure adding more integrations is now incredibly simple and we'll be able to respond to these customer suggestions within a couple of days and build a more fully featured product that will hopefully delight customers!
We also want to add more third party integrations to really open up JIRA to other systems in use out there.