How we built it

Initially we had no idea what to build for this hackathon. Probably, main reason for this project - we was really curious about how to use ChatGPT together with Jira.

Our first prototype was "Native Language JQL generator". It was fun, but I wasn't sure how to integrate it seamlessly with Jira. Also I had feeling, that its quite useless for most of the Jira users.

So, I decided to check out the Jira issue tracker and find some popular requests, which I can solve with AI. A lot of requests was relatively easy to implement, but each one had a lot of edge cases.

Handling edge cases requires complex configuration and extensive documentation. Then the idea occurred to me that it would be good to make a plugin that would configure itself based on a native language request from the user.

And after a couple of attempts at doing this, the project quickly turned into a generic “automation engine.”

Challenges we ran into

  • A lot of times I've changed my mind about Chat GPT many times from "oh my god, it's a magic!" to “hmm... after all, it is still far from real intelligence” and back.
  • even after lengthy ChatGPT fine-tuning - in some cases Chat GPT still produces strange results and this happens randomly
  • We parse user requests in a couple steps and forge timeouts was a serious issue, so we added all handling on our backend.

The main problem with automation using native language is that there are no guarantees that everything will work exactly the way you want.

Thats why we added second component - AutomationSchema.

This allows the user to easily control what exactly will be done as part of this automation and accept execution if necessary.

What it does

Users may enter automations requests in native language and chat GPT parse them. Even some fancy requests like

A comment 'some comment' is required when the status of user[zhil] tasks 
transitions to status[QA]. In addition, user[QA_lead] needs to 
oversee these issues.

User may correct automation schema if needed

Sample Schema

Accomplishments that we're proud of

  • I really like interactive AutomationSchemaEditor
  • Native Langue actually works! :)

What we learned

  • forge was greatly improved since previous hackathon, but I still got a couple frustrating issues with it, so I am going to migrate plugin on Connext
  • It was bad idea to use raw text + Textarea for Native Language rules. I plan to rebuild it using editable div and add optimized placeholder for dictionary values - something like JQL editor in Jira. Right now values like user[Andrew Zhilin|12345-12932-21312312-123123] looks pretty weird, but I need to store both display name and accountId in the automation properties

What's next for Native Language Automatization for Jira

  • I realized, that I am not sure, what exactly do users want to automate in Jira. Popular requests like "do not allow to close issue if child issues are not closed" looks trivial. So I was focused on core functionality and going to get some feedback from beta testers.

Beta Testers wanted!

We currently have a very limited automation engine, but we can potentially make life a lot easier for many users with "fine-tuned automations".

If you use Jira for daily work and have ideas for automation OR even if you just want to test our plugin - sign up for beta testing - https://go.lucent.services/go/google-forms/nlja-beta-testers

Built With

Share this project:

Updates