Inspiration
We had lots of incidents every day @ cashrewards. I began to notice a pattern to the incidents. But in the heat of a serv1 there is no time to look back through incidents to figure out what caused the issue and how we fixed it. Also this meant only people involved in the incident had the history. Once we started a roster, the person on call had no idea about what could be causing an incident, and how to fix it. I started playing with chatgpt, and was learning about embedding. Wow, vector search could change everything, and prompt engineering could make a stressful situation just a little fun.
What it does
When an issue is marked as an incident, the summary, description, comments, people involved, components involved are all indexed by chatgpt using embedding. When a new incident is created, all previous incidents are searched to see if there are any common problems and what the resolution could be. The previous resolution is shown as a field in the current issue to help quickly zero in on the problem and what was done previously to resolve it. The incident UI will help capture the time taken before being resolved which will feed an SLA dashboard, so that we can get an SLA number for each severity type. The incident UI also ensures we capture the right details such as incident resolution (quick fix) + long term fix
How we built it
I built this app as a standalone lambda function previously. So I applied for this competition to rebuild it as a plugin. I applied for this comp while on holidays, and only once I got back from holidays was able to start work on it. The forge platform was so easy to work with I moved the app logic over in 1 weekend. Including building all the Atlassian custom changes needed to integrate it into jira.
Challenges we ran into
There was a little getting used to the forge command and idiosyncrasies. But overall it was a pretty smooth process with good documentation. Storing data was a bit of a challenge as I really need a vectordb to do this properly, but for now jira is used to store the vectors and the vector search is being done in memory which is not that scalable, and will hit some limitations. There were quite a few "bugs" with the platform, or maybe just a bit of complexity around how to store custom fields, or entity properties to be able to store the required data.
Accomplishments that we're proud of
Incident management is not a nice thing to do. As we build more complex systems, with more moving parts, it becomes increasingly harder to reason about our systems. I am proud of the way this tool encapsulates the incident process in jira and the help it can bring any organisation in the same boat.
What we learned
How easy it is to build a forge app. I have been thinking about building this incident tool for a while, but didn't know where to start. This competition has given me the impetus to start, and to see just how easy it is to build something in the marketplace.
What's next for Incidentify
Build out a vector db I can call externally. So that the query can be more efficient. Automatically triage the incident and auto assign the severity level. Adding in the UI to capture key incident details, so that the quick fix and resolution would be able to be captured properly. I also wanted to add some more functionality around a weekly slack message which summarises all the incidents and calls out people who have made the biggest contributions. I would like to extend this beyond just incidents to all jira tickets, most moved to done, most incidents resolved. Etc. ChatGPT has a great way of being able to come up with unique stories that can really showcase what people have done in a funny light-hearted way. Then it can also be used to drive change in the delivery process. So same concept of weekly message, but maybe even a daily message which nags people to move tickets to done. But in a funny light hearted way.

Log in or sign up for Devpost to join the conversation.