Tool to auto-close old GitHub issues that were abandoned by their reporter
Перейти к файлу
Chris Rebert b8fbeb2154 crontab: add required arguments 2015-08-12 20:44:06 -07:00
project Add build.propertes, declaring sbt.version 0.13.8. 2015-07-30 22:09:20 +01:00
src Fix #5 2015-08-06 18:09:38 -07:00
.gitattributes initial scaffolding 2014-10-31 00:25:59 -07:00
.gitignore initial scaffolding 2014-10-31 00:25:59 -07:00
.travis.yml Travis CI: Set `sudo: false` for faster builds 2015-07-27 20:13:22 -07:00
CHANGELOG.md Add CHANGELOG.md 2015-07-30 14:36:54 -07:00
CONTRIBUTING.md CONTRIBUTING.md: make paths generic with respect to versions 2015-07-30 14:34:17 -07:00
Dockerfile initial Dockerfile draft 2015-08-12 20:31:58 -07:00
LICENSE.txt update copyright year 2015-05-17 22:37:52 -07:00
README.md README: Link to Heroku setup instructions 2015-08-08 23:27:01 -07:00
assembly.sbt sbt: assembly: disable tests due to slowness 2015-07-27 20:36:06 -07:00
build.sbt version 1.0.0 2015-07-28 22:05:30 -07:00
no-carrier.crontab crontab: add required arguments 2015-08-12 20:44:06 -07:00
no-carrier.env.list add stub env var list for Docker 2015-08-12 20:41:57 -07:00

README.md

NO CARRIER

Build Status Development Status :: 4 - Beta MIT License

NO CARRIER is a tool to auto-close old GitHub issues that were abandoned by their reporter, which is to say that we were waiting for a response from the reporter but never got a response in a reasonable amount of time.

Named after the message indicating that your dial-up modem has lost its connection.

Motivation

You're a member of a popular open source project. Cool.

But due to the project's popularity, you get lots of bug reports on the issue tracker, and often these reports are lacking key information that's explicitly mentioned in your bug reporting docs as being required. Or maybe you just need extra information or test results from the bug reporter. So, okay, you post nice reply comments on the issues, asking the reporters for the information or requesting that they do some investigation/tests.

And then you wait for a reply. Unfortunately, for whatever reason, a surprisingly large fraction of folks never end up replying to your questions/requests. So unactionable issues start to pile up. You occasionally review the oldest batch of such issues and close them manually.

By automating the process of closing abandoned issues, the issue tracker is kept clean with less tedium on the part of issue triagers. The abandoned issue expiration policy is also applied more uniformly/fairly, and it's easier to use a canonical template for the closing issue comment that clearly and politely explains the reason for the closure.

Used by

Usage

Java 8+ is required to run NO CARRIER. You can download NO CARRIER's prebuilt assembly JAR from our GitHub Releases page. For instructions on building NO CARRIER yourself from source, see the Contributing docs.

NO CARRIER requires 2 environment variables to be set:

  • $GITHUB_USERNAME - Username of GitHub user for NO CARRIER to login as
  • $GITHUB_PASSWORD - Password of GitHub user for NO CARRIER to login as

NO CARRIER accepts exactly 3 command line arguments. Once you have the JAR, run e.g. java -jar no-carrier.jar <owner/repo> <label> <days>. Here's what each of the arguments is:

  • owner/repo: GitHub repo whose issues will be operated upon (example: twbs/bootstrap for Bootstrap)
  • label: Name of label used on the repo's GitHub issue tracker to indicate that the issue is blocked waiting for a reply from a user (typically the issue's original poster).
  • days: Integer number of days. If at least this number of days elapses after an issue has been labeled without any new comment being posted, NO CARRIER will close the issue and post an explanatory comment.

Heroku

We also have specific instructions for setting up NO CARRIER on Heroku, courtesy of @zxqfox.

License

NO CARRIER is released under the MIT License.

Acknowledgments

We all stand on the shoulders of giants and get by with a little help from our friends. NO CARRIER is written in Scala and built on top of:

See also

  • LMVTFY, NO CARRIER's sister bot who does HTML validation
  • Savage, NO CARRIER's sister bot who runs cross-browser JS tests on Sauce Labs
  • Rorschach, NO CARRIER's sister bot who sanity-checks Bootstrap pull requests
  • @rails-bot, a similar but apparently closed-source bot used by the Rails team