Update using-webhooks-with-github-apps.md
This commit is contained in:
committed by
GitHub
parent
e3b8fd40a1
commit
90c3f9b0d1
@@ -27,22 +27,23 @@ When you activate webhooks in the settings for your {% data variables.product.pr
|
||||
|
||||
### Choosing a webhook URL for development and testing
|
||||
|
||||
While you develop and test your app, you can use a webhook payload delivery service like [Smee](https://smee.io/) to capture and forward webhook payloads to your local development environment. Never use Smee for an application in production, because Smee channels are not authenticated or secure. Alternatively, you can use a tool like [ngrok](https://dashboard.ngrok.com/get-started) or [localtunnel](https://localtunnel.github.io/www/) that exposes your local machine to the internet to receive the payloads.
|
||||
While you develop and test your app, you can use a webhook payload delivery service like [Hookdeck](https://hookdeck.com/) to capture and forward webhook payloads to your local development environment. Alternatively, you can use a tool like [ngrok](https://dashboard.ngrok.com/get-started) or [localtunnel](https://localtunnel.github.io/www/) that exposes your local machine to the internet to receive the payloads.
|
||||
|
||||
#### Creating a webhook URL with Smee
|
||||
#### Get a webhook URL with Hookdeck
|
||||
|
||||
You can use Smee to create a unique domain where {% data variables.product.prodname_dotcom %} can send webhook payloads, without exposing your local development to the internet. Smee calls this unique domain a "Webhook Proxy URL." You can use Smee's Webhook Proxy URL as the webhook URL for your {% data variables.product.prodname_github_app %}.
|
||||
You can use Hookdeck to get a unique URL where {% data variables.product.prodname_dotcom %} can send webhook payloads, without exposing your local development to the internet.
|
||||
|
||||
1. To use Smee to create a unique domain, go to https://smee.io and click **Start a new channel**.
|
||||
1. On the Smee channel page, follow the instructions under "Use the CLI" to install and run the Smee client.
|
||||
1. To connect your Smee webhook URL to your {% data variables.product.prodname_github_app %}, enter your unique Smee domain in the "Webhook URL" field of your app settings. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/creating-a-github-app)."
|
||||
1. Go to https://console.hookdeck.com
|
||||
2. Copy the Webhook URL provided by Hookdeck
|
||||
3. To connect your Hookdeck webhook URL to your {% data variables.product.prodname_github_app %}, enter the URL in the "Webhook URL" field of your app settings. For more information, see "[AUTOTITLE](/apps/creating-github-apps/creating-github-apps/creating-a-github-app)."
|
||||
4. (Optional) Select "Add Destination" to forward the Github webhooks to a HTTP URL or Localhost
|
||||
|
||||
### Choosing a webhook URL for production
|
||||
|
||||
For an application in production that receives a low volume of webhook traffic, you can host it on any dynamic application server. The server-side code for handling the webhook can receive the event, deserialize its JSON payload, and decide what action to take, such as storing the data in a database or calling the {% data variables.product.prodname_dotcom %} API.
|
||||
|
||||
To handle a higher volume of webhook traffic for a large app in production, consider using asynchronous webhook handling on a dedicated server. You can achieve this by employing a queue, where the webhook handler pushes data to the queue, and separate processes perform subsequent actions based on the events. Additionally, you can use cloud functions such as [Azure Functions](https://azure.microsoft.com/en-us/products/functions/)
|
||||
or [AWS Lambda](https://aws.amazon.com/lambda/) to help scale the app for handling large volumes of webhook events.
|
||||
or [AWS Lambda](https://aws.amazon.com/lambda/) to help scale the app for handling large volumes of webhook events. [Hookdeck](https://hookdeck.com) allows for production uses with automatic queuing, retries and alerts.
|
||||
|
||||
## Securing your webhooks with a webhook secret
|
||||
|
||||
|
||||
Reference in New Issue
Block a user