JirAI is an AI chatbot integration that generates Jira issues based on a hierarchical structure that can be configured.
Epics, User Stories, Sub-Tasks, and one new issue type — Features; above the Epic level — are used in the example configurations found in app/src/config
.
Warning
This document is very much a work in progress.
Upon loading the app one is presented with a typical chat prompt. Use this to describe a feature or project from the top-most level, providing instructions for how to break the work down.
Please note responses do take time to process. ChatGPT responds by finding "the next best word" in its completions, so we are waiting in much the same way one does during the scrolling response in its UI.
Please create a feature to update the footer with new links for social media. We should break it down into two epics — one for the UI team to update the footer component and styles, and the other for the backend team to create content-management fields in the CMS. Break each Epic down into user stories and sub-tasks as you see fit.
We need a feature to create one button for each color of the rainbow. This will be driven by a CMS so the backend team needs to design a solution whereby content editors can select the button color they desire while managing content. We should also include the end to end team to validate on launch day and in lower environments pre-launch.
This example iterates on top of the first button prompt. This is another feature of the app; one can revise issue structure and placement with additional instructions to the chatbot which is then reflected in the UI.
- Docker (Jira Data Center, postgresql)
- SvelteKit
pnpm
make
(for docker and installation steps)
- node
pnpm
(npm
will work as well)
- clone the repo:
git clone https://github.com/dgrebb/jirai.git
- change to the project directory:
cd jirai
- rename/copy the
app/src/config/api.config.example.ts
file toapp/src/config/api.config
- note: API secrets and keys should be imported into these files via SvelteKit's
$env/static/private
environment variables if deploying publicly
- note: API secrets and keys should be imported into these files via SvelteKit's
- rename/copy the
app/src/config/jira.config.example.ts
file toapp/src/config/api.config
- note: API secrets and keys should be imported into these files via SvelteKit's
$env/static/private
environment variables if deploying publicly
- note: API secrets and keys should be imported into these files via SvelteKit's
- install frontend dependencies:
make install
- compile the SvelteKit app:
make build
- Detailed configuration for OpenAI API
- Detailed configuration for Jira API
- Detailed configuration docs (custom fields, issue type setup, etc.)
- clone the repo:
git clone https://github.com/dgrebb/jirai.git
- change to the project directory:
cd jirai
- install frontend dependencies:
make install
- build the docker container:
make docker-build
- compile the SvelteKit app:
make build
- start Docker and the SvelteKit app in dev mode:
make dev
- start Docker and the app in production mode with SSL:
make start
Out of scope for the README but I wrote a blog post about it.