Create reports for open GitHub pull requests for organizations and users.
You can install with NPM:
$ npm install -g pull-report
pull-report can retrieve all open pull requests for 1+
GitHub organizations
and optionally filter by a user list.
$ pull-report --help
Usage: pull-report.js [options]
Options:
-h, --help output usage information
-V, --version output the version number
-o, --org <orgs> List of 1+ organizations
-u, --user [users] List of 0+ users
-H, --host <name> GitHub Enterprise API host URL
-s, --state <state> State of issues (default: open)
-i, --insecure Allow unauthorized TLS (for proxies)
-t, --tmpl <path> Handlebars template path
--html Display report as HTML
--gh-user <username> GitHub user name
--gh-pass <password> GitHub pass
--pr-url Add pull request URL to output
org: You must enter 1+ organization names.
pull-report reads your "~/.gitconfig" file looking for an entry like:
[github]
user = MY_USERNAME
password = MY_PASSWORD
You can alternately specify / override values on the command line:
$ pull-report \
--org FormidableLabs \
--gh-user MY_USERNAME \
--gh-pass MY_PASSWORD
Pull report has experimental support for GitHub Enterprise repositories. However, there are a few things to note:
- Brittle Implementation: We hack up the host and route paths internally in the underlying node-github library. The underlying library could change how its internals work and our hack would be broken.
- Disables TLS Cert Matching: Pull report has an
--insecureoption to disable theNODE_TLS_REJECT_UNAUTHORIZEDenvironment variable to avoid anUNABLE_TO_VERIFY_LEAF_SIGNATUREerror when hitting GitHub enterprise through a VPN or proxy. Do not use the flag if you can't otherwise verify you are going through a safe transport mechanism (i.e., in other programs that do verify).
To retrieve reports from GitHub Enterprise, set the --host flag to the
host name of your GitHub Enterprise host.
Get all of the open pull requests for one organization:
$ pull-report --org FormidableLabs
* FormidableLabs:
* work-for-us: (1)
* joe-user / jane-user - 1: Added GUI to job posting API
* chai-jq: (1)
* jane-user / joe-user - 8: fix DOC anchor links
Get open pull requests for multiple organizations:
$ pull-report --org FormidableLabs,ORG2
Get PRs for multiple orgs, filtered to a user list:
$ pull-report \
--org FormidableLabs,ORG2 \
--user ryan-roemer,USER2,USER3,USER4,USER5
Get PRs for a GitHub enterprise organization:
$ pull-report \
--host custom-gh-enterprise.example.com \
--org ORG1
Pull report uses Handlebars.js templates for rendering reports. The built-in templates available are:
- text.hbs: Default pure text template. Used if no other option or templates specified.
- html.hbs: HTML output templates. Used if the
--htmloption is provided. The provided HTML template has some preliminary classes for user styling (in another HTML document) and a few random Pure CSS classes that are currently being used in another project. (We'll look to shore this up in future releases.)
Custom templates can be specified using the command option:
--tmpl /PATH/TO/TEMPLATE.hbs.
There is a bit of inefficiency in the current underlying use of the GitHub API. But, any issues should be relatively easy to fix and enhance.
pull-reportretrieves at most 100 pull requests for any repo.
Copyright 2013-2014 Formidable Labs, Inc. Released under the MIT License.