Your personal assistant for automatically organizing and replying to Issues.
- 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!
Start off by logging into GitHub!
If you are not already signed into GitHub you will see the following form.
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!
Be patience while the repository is syncing and training predictive machine learning models.
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 |
When you are done syncing you will receive a report. Here are some examples.
Labels | Duplicates | |
---|---|---|
Description | Predict Issue Labels | Find similar/duplicate issues |
Glavin001/atom-beautify | ||
Facebook/react | ||
nodejs/node |
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
Go to https://github.com/settings/developers 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 https://github.com/settings/tokens and replace github.token
(TOKEN
) in config/local.js
.
- 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
- Create database with
createdb issuemanager
- Create database user with:
$ psql issuemanager
issuemanager=# create user issuemanager password 'CHANGE_ME_PASSWORD';
- Edit your configuration in
config/local.js
under keydb
. - Test database with
node scripts/test-db.js
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": "http://issue-manager.ngrok.io",
"port": 8081
},
"app": {
"base_url": "http://issue-manager-web.ngrok.io"
},
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 http://issue-manager-web.ngrok.io to view the web application!