Automate Issue replies and organization
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
test Improve code quality, clean up old code, etc Jun 15, 2016
.gitignore Improve installation instructions in README Jun 15, 2016
LICENSE Initial commit Mar 15, 2015


Your personal assistant for automatically organizing and replying to Issues.

Why IssueBot?

  • Does this look familiar?
  • Are you maintaining a project with many issues and finding it difficult to stay organized?
  • Seeing double, or more, because your users will submit duplicate issues without searching first?
  • Wish you had someone else to help manage your Issues with you?

If you find yourself saying Yes, then IssueBot is made for you!

Skip to Step 5. Profit section below for some screenshots and a feature overview!

Skip to Installation section below for instructions on how to run the service yourself!

Getting Started

Step 1. Login with GitHub

Start off by logging into GitHub!


Step 2. Sign in to your GitHub account

If you are not already signed into GitHub you will see the following form.


Step 3. Enter the URL of a GitHub Repository

Once you are authenticated with your GitHub account you will be able to sync a repository.


Simply enter the URL for a repository you wish to sync!


Step 4. Syncing & Training

Be patience while the repository is syncing and training predictive machine learning models.


Step 5. Profit!


Automatically Manage Issues

Using GitHub Webhooks, Issues will be processed automatically.

Automatically Label Issues Find similar / duplicate issues
Example of Issue automatically labelled as bug Example of Issue labelled as question and similar issue suggested
issue-bot-issue-labelling issue-bot-issue-labelling-similarity

Example Results

When you are done syncing you will receive a report. Here are some examples.

Labels Duplicates
Description Predict Issue Labels Find similar/duplicate issues
nodejs/node screen shot 2016-06-14 at 7 00 07 pm issue-bot-duplicates-nodejs


Note: Installation process needs a little love. Below are details for how I get it running on my machine.


node-config handles configuration. Create a local configuration file, that will be ignored by Git:

cp config/default.js config/local.js

GitHub App

Go to and Register a new application. Replace github.client_id (CLIENT_ID) and github.client_secret (CLIENT_SECRET) in config/local.js.

Optional: If you want to run node scripts/get-issues.js you should create a Personal access token at and replace github.token (TOKEN) in config/local.js.


  1. Install PostgreSQL
# Create a database
initdb /usr/local/var/postgres9.5 -E utf8
# Start Postgres with specific database directory
postgres -D /usr/local/var/postgres9.5
  1. Create database with createdb issuemanager
  2. Create database user with:
$ psql issuemanager
issuemanager=# create user issuemanager password 'CHANGE_ME_PASSWORD';
  1. Edit your configuration in config/local.js under key db.
  2. Test database with node scripts/test-db.js

Tunnels to Localhost

Install ngrok and run the following:

ngrok http -subdomain=issue-manager-web 8080
ngrok http -subdomain=issue-manager 8081

Edit config/local.js to have the following corresponding configuration:

"server": {
  "base_url": "",
  "port": 8081
"app": {
  "base_url": ""


Install Python and pip the run the following:

pip install -r requirements.txt


Install dependencies with npm install.

Start Webpack development server with npm run start:webpack.

Finally, start the server with npm run start:server.

Note: npm start is equivalent to running both npm run start:webpack and npm run start:server in parallel.

Go to to view the web application!