Inspiration
I have discovered Atlassian tools such as Forge during previous Codegeist challenge. But interested with generative AI, I have decided recently to showcase some use cases of AI benefits on Atlassian JIRA Backlog issues
What it does
It helps Atlassian Jira users to analyze Backlog Issues, by proposing some story points adjustments based on description and/or summary, enable to translate these description/summary as well on demand and display results on Project Page
How we built it
I have studied some code example published by Atlassian team but its code mixes typescript and javascript. I have decided to initiate a new codebase, with OpenAI integration from the Bootstrap example, but coded it in full typescript ts/tsx only in order to develop the use cases of my project
The development has been performed using Forge client (create, deploy, install, logs, variables,...) commands on WSL (Windows Subsystem for Linux) Debian Docker (not Desktop) interacting with Atlassian Developer Cloud JIRA service
The frontend has involved @Atlaskit dependencies ( css, form, label, select, spinner, textfield,...) with @forge/bridge module
The Backend has involved several @forge librairies : events/queue, resolver, api/storage,...
The user has to activate/install the BacklogIssuesHelper Application on his/her Atlassian Jira Project and he can then interact with frontend, clicking on buttons to launch dedicated services such as storypoint suggestion, summary/description dynamic translation,...
Challenges we ran into
librairies npm installation issue > fix by adding special argument
typescript code control constraint on frontend (+backend) > fix by adding special attribute in package.json
WSL (Windows Subsystem for Linux) Forge login problem due long API token interactive specification fails> fix by using environment variables
OpenAI GPT service response is bases on various (see examples below) formulation phrases as a human agent would use. Hence it has been necessary to introduce appropriate Regular Expression to extract the storyPoints value.
xxxx the story point of user story YYY would be (either is ) N.
xxxx the user story XXXX story points would be ( either is) estimated as N.
- Warning : on Test Free Plan, OpenAI exchanges will sometimes fail due to rate limit issue (3 calls per minute, requiring to wait for 20s)
Rate limit reached for gpt-3.5-turbo in organization org-NNNNNNNNNNNN on requests per min. Limit: 3 / min. Please try again in 20s.....
Accomplishments that we're proud of
- Minimum Viable Product (MVP) of a Frontend Application managed thru Forge client commands, activable on Atlassian Jira Project and enabling to assist end users to analyze their Backlog issues,: translate their summaries, suggests storypoints based on summaries/descriptions
What we learned
Atlassian Jira Forge Application Development (@Atlaskit, @forge,...) and Installation with Forge Cli command lines
Optimize integration of potential long run of AI API calls
What's next for BacklogIssueHelper
finalize and enhance OpenAI prompts for better storypoints estimation
take also into account optional user hours estimation for some issues input through the UI
activate paid plan to get better results
enhance Frontend UI
Built With
- forge
- jira
- openai
- typescript
Log in or sign up for Devpost to join the conversation.