Why waste time and money paying for a Ticket Tracker when you already work in GitHub? Now, you don't have to.
- Features
- Multiple Repositories
- Linked Issues and Pull Requests
- Real-Time Collaboration
- Filtering
- Milestone Planning
- Moving Cards
- Task Lists
- CI Status and Merge Conflict
- Burnup Chart
- Issue Images
- Pull Request to non-default branch
- Batch-Edit Labels in Multiple Repositories
- Review Filtering
- Add and Remove Reactions
- Examples
- Development
- TODO List
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.
By clicking the ✏️ icon next to the card title, multiple people can edit the Issue Body at once (ie in a meeting), and when editing is done, one person clicks Save to GitHub.
Features:
- send anyone the link to edit
- real-time preview of Markdown
- references to Issues show with their state and board column
- Sequence, State, Gantt, and other diagrams are supported (using mermaid)
- 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.
If you need to rename a column or remove a duplicate label you can get to this page from the Settings dropdown next to the filter link.
Reviews can be filtered by pull request author, review author and meta-review author.
You can add or remove your own reactions directly on gh-board.
Just specify a GitHub repository in the URL and off you go!
- openstax/tutor-js
- openstax/tutor-js + tutor-server (multiple repositories)
- huboard/huboard
- jquery/jquery
- Or wildcards! (must be logged in) using
http://philschatz.com/gh-board/#/r/openstax:tutor-js|*
npm start
to start up the dev server and go tohttp://localhost:8080
npm run build
to generate the JS and CSS files in./dist
- 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"
gh-board
uses eTags provided by GitHub and saves them inlocalStorage
(orIndexedDB
)
- create a fork
- switch to the
gh-pages
branch - make a commit and push it to
gh-pages
(to trigger GitHub to start hosting the files) - go to
https://${USERNAME}.github.io/gh-board/
- make edits in the src directory in
master
- commit your changes
- run
npm run deploy
git pull https://github.com/philschatz/gh-board.git master
- run
npm run deploy
- combine Issue and the Pull Requests that fixes it
- handle dragging in multiple repos:
- auto-create the label in the new repo (confirm first)
- add checkbox for selecting multiple repos in dashboard
- select between Issue-centric and PullRequest-centric view
- support milestone (sprint) planning by making each milestone a column
- show labels unique to each repository
- linked Issues & PR's should include the title
- collaboratively edit Milestones and any GitHub file by going to
/p-file/:repoOwner/:repoName/:branch/path-to-file
- add a list view in addition to a board
- Sort by Due At, Updated At, and ascending/descending
- add a way to add labels/milestones to an Issue (autocreate the label/milestone in the repo)
- cache issues-updated-since requests and CI status requests in Session Storage instead of IndexedDB so they can be cleared easier
- add effort labels XS, S, M, L, XL
- add GitHub search