• This repository has been archived on 10/Feb/2021
  • Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    Scala
  • License
    MIT License
  • Created about 10 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Tool to auto-close old GitHub issues that were abandoned by their reporter

NO CARRIER

Build Status Development Status :: 4 - Beta MIT License

NO CARRIER is a tool to auto-close old GitHub issues and pull requests 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.

Example of the bot in action: Screenshot of the bot closing an issue

Used by

Usage

NO CARRIER is designed to be run as a cron job.

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.

Pull requests

NO CARRIER closes old pull requests according to the same rules it uses to close old issues. This is possible since GitHub treats issues and pull requests as different variations of the same underlying object.

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

More Repositories

1

bootstrap

The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
JavaScript
170,512
star
2

ratchet

Build mobile apps with simple HTML, CSS, and JavaScript components.
CSS
14,615
star
3

bootstrap-sass

Official Sass port of Bootstrap 2 and 3.
SCSS
12,589
star
4

icons

Official open source SVG icon library for Bootstrap.
JavaScript
7,335
star
5

rfs

✩ Automates responsive resizing ✩
CSS
3,318
star
6

bootlint

HTML linter for Bootstrap projects
JavaScript
2,397
star
7

bootstrap-rubygem

Bootstrap rubygem for Rails / Sprockets / Hanami / etc
SCSS
2,014
star
8

bootstrap-npm-starter

Starter template for new building with Bootstrap 4 in npm projects.
HTML
1,232
star
9

bootstrap-expo

Beautiful and inspiring uses of Bootstrap.
SCSS
476
star
10

examples

Functional examples of using Bootstrap in common JS frameworks like Webpack, Parcel, Vite, and more!
HTML
297
star
11

blog

Official blog for Bootstrap.
HTML
227
star
12

bootstrap-server

The node server that powers the bootstrap customize page (no longer maintained).
JavaScript
177
star
13

stylelint-config-twbs-bootstrap

Stylelint config for Bootstrap
JavaScript
139
star
14

release

Bootstrap Release Working Group
114
star
15

rorschach

Bootstrap pull request sanity checker bot
Scala
106
star
16

mq4-hover-shim

A shim for the Media Queries Level 4 `hover` media feature
JavaScript
97
star
17

grunt-bootlint

A Grunt wrapper for Bootlint, the HTML linter for Bootstrap projects
JavaScript
67
star
18

savage

Service to safely run Travis CI tests with heightened permissions on pull requests
Scala
45
star
19

bootstrap-npm

Demo for how to include, customize, and compile Bootstrap's Sass/CSS with npm.
HTML
32
star
20

grunt-css-flip

UNMAINTAINED Grunt plugin for Twitter's css-flip.
JavaScript
24
star
21

gruntworker

Periodically grabs changes, runs build scripts, and pushes built changes back to the Bootstrap git repo
Python
20
star
22

.github

9
star
23

bootlint-server

JavaScript
7
star