I was excited to learn about Forge and wanted to try it out. This was my warmup project, and I thought I would open-source it to help others learn.

What it does

The app adds a panel to Jira issues where you can add, remove and toggle tasks. Basic concurrency is supported: multiple users can edit the checklist without overwriting each others' changes.

How I built it

Built with Forge using vanilla JavaScript. The state of the checklist is stored as JSON in the Issue Property. No external services are used. See the GitHub repository for more details:

Challenges I ran into

I quickly found that the current Forge UI capabilities are very limited. I was going to use the Checkbox component in checklist items, but that component doesn't support an onClick or onChange handler, so I had to resort to using a Button component with an emoji to represent the checked state. There are also scarce layout capabilities: the only way to display several components on one line is to use a Table, which is what I went with. Column width isn't customizable, so there's some wasted white space. I deciced to leave out reodering and editing of tasks because there wasn't an elegant way to implement it with the patform's capabilities.

Accomplishments that I'm proud of

I was able to build and deploy a fully functional app in a very short period of time!

What I learned

I learned how Forge works and the platform's current capabilities. Despite being in early stages and having some limitations, you can already implement a lot of things with it. I'm currently working on a larger app.

What's next for Simple Checklists For Jira

I'm happy to share the app's source code as educational material. I plan on improving it as new features land in Forge. I also plan on recording a series of educational screencasts on building this app from scratch.

Built With

Share this project: