My inspiration for this project came as I was teaching myself more about the Jira platform and how it works. I understood how crucial the software is for IT teams in order to stay on track with their deliverables. I started to think about the importance of staying updated on issues as they change and update throughout the project. That's when the idea of SMS notifications came to me as a great way to receive instant updates in any situation.
What it does
This application allows users to subscribe to SMS notification for a particular issue's fields. A user within the organization must first verify their phone number by entering a confirmation code that is sent to their phone. Then, they are able to visit any issue and select from a list of fields (description, priority, resolution, status) that they wish to subscribe/unsubscribe from. Anytime a change to one of those fields is made, all users subscribed to it will receive a notification detailing what changed, what it previously was, and a link to the updated issue.
Users can easily delete their phone number if they wish to change it or stop receiving updates entirely. The application verifies every phone number constantly to ensure that they are still active within the organization, otherwise it will remove them from all subscriptions.
How I built it
This application was built using Twilio's SMS API in collaboration with Forge. The front-end elements were created with Forge which interacted with the storage API in order to save user phone numbers once they were verified. Event triggers were used to watch issues and to trigger text messages accordingly. The users phone numbers that were subscribed to particular issue field updates, were pulled from the storage API. Then a corresponding update message and phone number was sent to an AWS Lambda function which used the Twilio SMS API to send a text message.
Challenges I ran into
The challenges I experienced while working on this project was in planning the exact structure of the project as this was the first I was building an application for an Atlassian product. It required me to do quite a bit of reading to fully understand all the features and capabilities that are offered to developers.
Accomplishments that I'm proud of
I'm very proud of how well I was able to build my application from the prototypes that I had initially created. The application looked and felt exactly like I had planned it. I'm also proud of how well it performed in my tests and how few bugs were actually present.
What I learned
I was able to learn how simple it actually is to create an effective user interfaces with the developer tools that Atlassian provided. I was also able to learn a lot about serverless functions through using Forge and Lambda.
What's next for SMS Notifications for Jira
In the next version of this application, I plan to add the ability for users to be able to subscribe to notifications from updates of their custom fields. This would further push the capabilities of my application by giving users this freedom. Another possible feature would be the ability for users to receive updates on any comments posted to their subscribed issues. This could lead to users also being able to respond to comments straight from their phone.