pastamaker is a Github App to automatically manage Pull Requests "branch update" and "merge" when this one have 2 reviewer approvals
It's currently used by gnocchixyz projects, the app name is 'pastamaker'.
You should obviously replace https://<app-name>.herokuapp.com by the url where you host the application.
- Homepage URL: https://<app-name>.herokuapp.com
- User authorization callback URL: https://<app-name>.herokuapp.com/auth
- Setup URL: None
- Webhook URL: https://<app-name>.herokuapp.com/event
- Webhook secret: <webhook_secret>
- Generate the private key: # Click on the button #
Pick the ID on the right, you will need it later.
Commit statuses - ReadWrite [x] Status Pull requests - ReadWrite [x] Pull request [x] Pull request review [x] Pull request review comment Repository contents - ReadWrite No webook
heroku apps:create <app-name>
heroku addons:create redistogo:nano
heroku addons:create scheduler:standard
heroku config:set -a <app-name> \
PASTAMAKER_INTEGRATION_ID=XXXX \
PASTAMAKER_WEBHOOK_SECRET="<webhook_secret>" \
PASTAMAKER_PRIVATE_KEY="$(cat <path to the private key>)" \
PASTAMAKER_BASE_URL="https://<app-name>.herokuapp.com" \
PASTAMAKER_WEBHACK_USERNAME="<app-name>-bot" \
PASTAMAKER_WEBHACK_PASSWORD="<password>"
git push -f heroku master
heroku ps:scale worker=1
heroku addons:open scheduler:standard
# trigger refresh manually or to configure the scheduler
heroku run python pastamaker/refresher.py
Pastamaker offers a dashboard that you can access using a Web browser. Just point to the URL where your WSGI service runs.
{
'required_pull_request_reviews': {
"dismiss_stale_reviews": True,
"require_core_owner_reviews": True,
},
'required_status_checks': {
'strict': True,
'contexts': ['continuous-integration/travis-ci'],
},
'enforce_admins': {
"enabled": True
}
}