npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sprinter-dash

v1.1.3

Published

GitHub Issues Dashboard for multiple repositories.

Downloads

76

Readme

Sprinter Dash

NPM

Sprinter Dash is a web frontend for viewing issues from multiple GitHub issue trackers on one view. It provides views for:

  • recent issues (past 2 days)
  • current issues [default] (past 2 months, open and closed)
  • old issues (created over 6 months ago)
  • stale issues (updated over 2 months ago)

Once issues are loaded on the client, they can be filtered locally by:

  • repository
  • assignee
  • type (PR or issue)
  • state (closed / open)
  • label
  • milestone ("Sprints")

Example image

Authentication with GitHub

You must provide GitHub credentials to run SprinterDash. They can be provided as environment variables: GH_USERNAME, GH_PASSWORD. In this case, they are picked up automatically and used. Or you can specify them in the SprinterDash constructor if attaching to an existing Express application (see below).

Quick Start

For this example to work, simply clone this repo and set the following environment variables: GH_USERNAME, GH_PASSWORD. Then run:

npm install .
node index.js

This will start a server monitoring a couple of default repositories.

Use your own repos

You can specify what repositories to gather issues from with a comma-delimited list of repository slugs. Specified repositories must have GitHub Issues enabled.

node index.js org1/repo1,org1/repo2,org2/repo3

Incorporate into your own Express server

You can create an instance of SprinterDash and attach it to an existing Express application. This is how it is used at http://status.numenta.org/issues.

var SprinterDash = require('sprinter-dash');
var dash = new SprinterDash({
    repos: ['org1/repo1', 'org1/repo2']
  , ghUsername: <GITHUB USERNAME>
  , ghPassword: <GITHUB PASSWORD OR AUTH TOKEN>
});
var app = express();
dash.attach(app, 'dashboard');
app.listen(8080);

SprinterDash will be running on http://localhost:8080/dashboard. The following views are available, where <url-prefix> is dashboard in the above example:

  • /<url-prefix>/issues will display all issues within the past 2 months with a filter bar.
  • /<url-prefix>/issues/:login will display issues assigned to the user specified by :login, as well as issues mentioning the same user.
  • /<url-prefix>/priority will display issues in priority order if you have P1, P2, P3, & P4 labels.

Available Data Routes

When using the attach() function, SprinterDash will set up the following data routes that you can call from your application's front-end:

  • /<url-prefix>/_issues: returns all issues updated within 2 months
  • /<url-prefix>/_recentIssues: returns all issues updated within 2 days
  • /<url-prefix>/_oldIssues: returns all issues over 6 months old
  • /<url-prefix>/_staleIssues: returns all issues updated over 2 months ago

These URLs will return JSON issue data.

Available Template Routes

/<url-prefix>/client/templates/issues.html is the location of the Handlebars template used to render issues client-side. You can re-use this to provide the SprinterDash view in any page of your website (as shown in http://status.numenta.org/).

The <url-prefix> defaults to dash, but can be specified by passing a the urlPrefix parameter to attach() as shown in the example above.

Show Travis-CI build status

If you pass a travisOrg into SprinterDash, Travis-CI builds will be shown when running in the issue table.

var dash = new SprinterDash({
    repos: ['org1/repo1', 'org1/repo2']
  , travisOrg: 'rhyolight' // GitHub org or username
  , ghUsername: <GITHUB USERNAME>
  , ghPassword: <GITHUB PASSWORD OR AUTH TOKEN>
});

Example Travis image