Skip to content
This repository has been archived by the owner on Dec 8, 2017. It is now read-only.
/ github-dashing Public archive
forked from chillu/github-dashing

Dashboard to monitor the health of github projects based on their contribution statistics, based on the "Dashing" framework

License

Notifications You must be signed in to change notification settings

18F/github-dashing

 
 

Repository files navigation

18F Projects Status Dashboard

Build Status

Dashboard to monitor the health of 18F GitHub repos.

Widgets available at https://project-dashboard.18f.gov/default:

  • Travis CI build status (updates every 2 minutes)
  • Repos whose .about.yml defines them as testable but don't have builds running on a CI service such as Travis or CircleCI (updates once a day)
  • Repos that don't have an .about.yml (updates once a day)

Preview

Widgets available at https://project-dashboard.18f.gov/github_stats:

  • Trend projections for current month on issues opened, issues closed and pull requests

Preview

The dashboard is based on Dashing, a Ruby web application built on the Sinatra framework.

APIs used:

Setup

git clone https://github.com/18F/github-dashing.git && cd github-dashing
script/bootstrap

The project is configured through environment variables, which you can modify in the .env file.

All environment variables are optional, apart from ORG.

GitHub API Access

The dashboard uses the public GitHub API, which doesn't require authentication. Depending on how many repositories you're iterating through, hundreds of API calls might be necessary, which can quickly exhaust the API limitations for unauthenticated use.

In order to authenticate, create a new API Access Token on your github.com account, and add it to the .env configuration:

GITHUB_OAUTH_TOKEN=2b0ff00...................

The dashboard uses the official GitHub API client for Ruby (Octokit), and respects HTTP cache headers where appropriate to avoid making unnecessary API calls, thanks to faraday-http-cache.

Dashing also supports custom API endpoints required for GitHub Enterprise, by setting the OCTOKIT_API_ENDPOINT environment variable.

Usage

Start the dashboard server:

dashing start

Now you can browse the dashboard at http://localhost:3030/default.

Tasks

Once the server is started, the Dashing jobs start querying for their data at a time specified by the first_in option, and then with a frequency specified by the every option. See any job in the jobs directory for an example.

Credits

Portions of this repo are based on Ingo Schommer's work in https://github.com/chillu/github-dashing.

Public domain

Ingo Schommer's original work remains covered under an MIT License.

18F's work on this project is in the worldwide public domain, as are contributions to our project. As stated in CONTRIBUTING:

This project is in the public domain within the United States, and copyright and related rights in the work worldwide are waived through the CC0 1.0 Universal public domain dedication.

All contributions to this project will be released under the CC0 dedication. By submitting a pull request, you are agreeing to comply with this waiver of copyright interest.

About

Dashboard to monitor the health of github projects based on their contribution statistics, based on the "Dashing" framework

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 43.9%
  • CSS 29.3%
  • HTML 13.6%
  • CoffeeScript 13.0%
  • Shell 0.2%