-
Create a new Github App
-
Give the app the following permssions:
- Repository administration: Read-only
- Checks: Read-only
- Repository contents: Read & write
- Issues: Read & write
- Repository metadata: Read-only
- Pull requests: Read & write
- Repository webhooks: Read-only
- Commit statuses: Read & write
- Organization hooks: Read-only
-
Give the app the following webhook subscriptions
- Commit comment
- Issue comment
- Pull request
- Pull request review
- Push
- Pull request review comment
- Status
-
Generate a private key for the github app
-
Save the private key in a private place, for example
./secrets/github-private-key.pem
Note We will be using the body of the pem:-----BEGIN RSA PRIVATE KEY----- <ONLY THIS PART> -----END RSA PRIVATE KEY-----
-
Add your new app to a repo you want Miro to work on
-
Extract your app's installation id as explained here, we'll call this env var
GITHUB_INSTALLATION_ID
-
In your github app's page, generate some secret key in the
Webhook secret (optional)
option. -
Start a mongodb instance, for example
docker run --name a-mongo -p 27017:27017 -d mongo
-
Start a tunnel (for example ngrok) on port
5000
-
In your App general settings, change the
Webhook URL
tohttps://<your-public-url>/api/webhooks/incoming/github
-
Pull + Run the
soluto-miro
docker image:
docker run \
-e "MONGO_CONNECTION_STRING=<your-mongo-instance-including-port>" \
-e "ASPNETCORE_ENVIRONMENT=Production" \
-e "WEBHOOKS__DISABLEHTTPSCHECK=true" \
-e "WEBHOOKS__GITHUB__SECRETKEY__DEFAULT=<your webhook secret>" \
-e "GITHUB_INSTALLATION_ID=<your-installation-id>" \
-e "GITHUB_PEM_SECRET=<your-pem-without-the-header-and-footer>" \
-p 5000:80 \
soluto-miro
- Create a Pull-request in your repo, and type
miro info
- MONGO_CONNECTION_STRING: Required - Your mongo connection string
- GITHUB_PEM_SECRET: Required -
- GITHUB_INSTALLATION_ID: Required -
- WEBHOOKS__GITHUB__SECRETKEY__DEFAULT: Required
- WEBHOOKS__DISABLEHTTPSCHECK: Required
- API_KEY: Optional - If you'd like to protect the Miro API with a hard-coded api-key
Show developers this Repo's rockin Miro, put this shield at the top of your repo -
[![Miro](https://img.shields.io/badge/Merge--Bot-Miro-green.svg)](https://github.com/Soluto/Miro)