If you would like to run your own instance of this plugin, you can do so by forking this repo and deploying it to your own servers or run it locally.
The Probot deployment guide describes this as well.
Create a GitHub App and configure the permissions & events with the following:
Settings:
- GitHub app name - Your app name
- Webhook URL - Your webhook url for listening to events (for local deployments you can use smee.io)
- Webhook secret - Your generated webhook seceret (GitHub app page has instructions on how to create this)
Permissions:
- Checks - Read & Write
- Issues - Read & Write
- Repository metadata - Read Only
- Pull requests - Read Only
- Commit Statuses - Read & Write
- Single File - Read-only
- Path:
.github/mergeable.yml
- Path:
- Repository Contents - Read-Only
- Repository projects - Read-Only
And subscription to the following events:
- Pull request
- Pull request review comment
- Pull request review
- Issues
Make sure to create a private key for the app after it's been registered.
- Clone the forked repository on to your machine
- Globally install smee-client from with npm
npm install -g smee-client
- Go to smee.io and create a new webhook OR use the cli by
running the
smee
command. - Copy
.env.template
to a new file called.env
, and fill it out. - Run
npm run dev
in your local repository - Add a repository for your Github app by going to application settings
- Do a test pull request to check if everything is working
Note: if you wish to use a different config file name beside mergeable.yml
, use CONFIG_PATH
environment variable. Config files uses .github
as base path, see here
This happens when you haven't configured the webhook secret correctly in your
locally running instance. Make sure to set the SECRET_TOKEN
environment variable
in .env
before running npm run dev
.
This may occur when running Mergeable using a GitHub Enterpise instance.
To fix, try making sure you've set the GHE_HOST
variable in .env
to the
hostname of your Enterprise instance. E.g. GHE_HOST=github.your_company.com
.