Inspiration

My goal was to create a valuable tool by integrating LLMs (+ other innovative technologies) with Atlassian Forge to tackle everyday pain points.

What it does

  • Embeds JIRA issues using Instructor-Embeddings.
  • Automatically adds summaries of discussions in issue comments.
  • Transcribes audio from meetings.
  • Matches JIRA users & existing JIRA issues with the transcript.
  • Adds meeting context to existing issues as well as quotes from the transcript.
  • Provides the option to ask follow-up questions about JIRA issues discussed in the transcript.
  • Detects new action points, including the JIRA user to assign.
  • Offers an easy option to create a JIRA issue from an action point.
  • Fetches various board & configuration information (like task types, columns, etc.) - that it dynamically uses in prompts

How I built it

The project utilizes AssemblyAi for generating transcripts. OpenAI (a mix of GPT-3.5-turbo and GPT-4) is used in conjunction with LangChain for various tasks. To achieve meaningful results, a multitude of small steps are taken, such as creating a board description & keywords that are used in future prompts to enhance the quality. The system also generates keywords to highlight when transcribing, based on the board content. Qdrant (vector database) is employed for storing vectors of JIRA issues and transcription chunks. Various prompting techniques and other steps are utilized to produce the final results. For example, user queries are combined with current relevant context to create an improved search query, which then gets used to find key information in small chunks of the transcript.

Atlassian Forge Features used:

  • Modules: Issue-Panel, Project-Page.
  • Custom UI (with Vue.js).
  • Various API endpoints.
  • Storage, Resolvers & invoke (using jira-bridge).

Challenges I ran into

Most challenges were related to fine-tuning the LLMs to produce coherent output. For instance, there was a high "false-positive" rate for action points initially. Matching JIRA accounts to speakers in the transcript also proved to be a complex problem to solve.

Accomplishments that I'm proud of

Though this solution isn't fully complete, it significantly addresses common pain points, such as adding context from meetings and turning action points into tasks. I am particularly proud of the feature that allows users to ask follow-up questions about JIRA issues discussed during a meeting.

What I learned

This was my first time using Atlassian Forge project, so there was a steep learning curve in this regard.

What's next for JiraJuggler

There are numerous features and improvements I have in mind:

  • Integrating other Forge modules for direct modal view access to issues on the board, enabling easy query of tasks & transcripts by any team member.
  • Implementing triggers for automatic syncing of issues & comments, including updating vectors & summaries.
  • Introducing an option to engage in "chat" about JIRA issues in general, given the foundational work has already been laid out.
  • Adhering to security best practices, which were somewhat overlooked during development due to time constraints.
  • Enhancing the speed and performance of the solution.

In the demo video I used the audio from the following video: https://www.youtube.com/watch?v=HKdOnFHB4Sg

Built With

  • coffee
  • instructor-embeddings
  • langchain
  • node.js
  • openai
  • qdrant
Share this project:

Updates