Files
probot/docs/development.md
2017-04-08 08:51:31 -05:00

1.8 KiB

Development

To run a plugin locally, you'll need to create a GitHub Integration and configure it to deliver webhooks to your local machine.

  1. Make sure you have a recent version of Node.js installed
  2. Install ngrok ($ brew cask install ngrok on a mac), which will expose the local server to the internet so GitHub can send webhooks
  3. Run $ ngrok http 3000 to start ngrok, which should output something like Forwarding https://4397efc6.ngrok.io -> localhost:3000
  4. Create a new GitHub Integration with:
    • Callback URL and Webhook URL: The full ngrok url above. For example: https://4397efc6.ngrok.io/
    • Webhook Secret: development
    • Permissions & events needed will depend on how you use the bot, but for development it may be easiest to enable everything.
  5. Download the private key and move it to the project directory
  6. Edit .env and set INTEGRATION_ID to the ID of the integration you just created.
  7. With ngrok still running, open another terminal and run $ npm start to start the server on http://localhost:3000

You'll need to create a test repository and install your Integration by clicking the "Install" button on the settings page.

Whenever you com back to work on the app after you've already had it running once, then you need to:

  1. Run $ npm start
  2. Run $ ngrok http 3000 in another terminal window
  3. ngrok will use a different URL every time it is restarted, so you will have to go into the settings for your Integration and update all the URLs.

Debugging

  1. Always run $ npm install and restart the server if package.json has changed.
  2. To turn on verbose logging, start server by running: $ LOG_LEVEL=trace npm start