Serverless Kanban Board for GitHub Issues
Why waste time and money paying for a Ticket Tracker when you already work in GitHub? Now, you don't have to.
Multiple Repositories in an organization can be shown on a board (from different organizations too!). The repository is shown in gray next to the Issue number.
Just add #123
or orgName/RepoName#123
to the Issue or Pull Request body and linked Issues will show up with the column they are in, both below the Card and in the preview popup.
- cards can be filtered by label, milestone, board column, or user
- filters can be inclusive as well as exclusive
When doing Milestone (or Sprint) planning there is a view to easily move cards into milestones
Cards can be dragged from one column to the next
By using the - [ ]
notation in the body of an Issue or Pull Request, the progress of an Issue is shown in the top-right corner of a Card.
- CI Status shows up as a green ✔️ or a red ❌ on the top-right corner of a card
- Merge conflicts are shown with a yellow
⚠️ and have a diagonal striped background
Why Burnup instead of Burndown?
Shows a burnup chart for a Milestone (ie "Sprint" or "Iteration"). If you use select multiple repositories it will include all of them.
It also skips when nothing was opened or closed that day/month/year (useful to see weekends or holidays).
If an Issue or Pull Request contains an image then it will be shown in the Issue
Sometimes Pull Requests go to a branch other than the main branch. This makes it clear when that happens.
npm start
to start up the dev server and go tohttp://localhost:8080
- JavaScript calls the GitHub API and pulls in the Issues for a given repository.
- Since there is no server to do OAuth, people need to provide a GitHub token which is stored in
localStorage
- Since there is no server to do OAuth, people need to provide a GitHub token which is stored in
- It uses the first repository to get the Issue Labels and Milestones.
- There are special Labels which represent the board columns (in the format
# - Column Title
) - To be a "Good API Citizen" StroopWafel uses eTags provided by GitHub and saves them in
localStorage
(orIndexedDB
)
- create a fork
- run
npm run deploy
- go to
https://${USERNAME}.github.io/StroopWafel/
- make edits in the src directory in
master
- commit your changes
- run
npm run deploy
git pull https://github.com/mathieudutour/StroopWafel.git master
- run
npm run deploy