Skip to content

plan3/stoneboard

Repository files navigation

Stoneboard - A GitHub milestone visualizer

It iterates through all projects a user has access to, in the configured organisations, and fetches milestones and issues. These are then displayed in a graph visualising the milestone relationships.

Specify milestones dependencies by adding this to a milestone description. For example:

[blah/gh-dashboard-test-three/3 blah/gh-dashboard-test-three/2]

This tells us the milestone has two dependencies; milestone 2 and 3 in the repo “gh-dashboard-test-three” in the organisation “blah”.

example

F#!k it, :squirrel: it

Deploy to Heroku
Deploy to Google Cloud Run

Docker images are built from master and pushed to Github Packages and Docker Hub.

Demo

There are two demo instances available, one on Heroku and one on Google Cloud Run. Both are configured to render the milestones and issues from this repository.

About

Rationale

The underlying reasoning behind this style of task visualisation and planning is partly described in the presentation "Bastardised Kanban" from 2015.

Local development

Prerequisites

You will need Java 8 and Maven 3 installed and "properly" setup (in your path etc).

Setup

Create a file called .env with the variables listed beneath Configuration below.

You can set up a GitHub app for local dev on https://github.com/settings/applications, the callback will be http://127.0.0.1:8080/login/oauth2/code/github.

Start

Assuming that you have the Heroku CLI installed, start the app with:

$ mvn clean package && heroku local:start

Deploy

It's built to run on Heroku with the following configuration:

Configuration

Config variables for local .env and Heroku app:

GITHUB_CLIENT_ID=A-GITHUB-CLIENT-ID
GITHUB_CLIENT_SECRET=A-GITHUB-CLIENT-SECRET
GITHUB_CLIENT_SCOPES=user # set this to user,repo if you need to access private repositories
GITHUB_HOSTNAME=github.com (optional, used for GitHub Enterprise custom domains)
REPOSITORIES=org/repo,org/repo...