First, create the stream you'd like to use for GitHub Webhook notifications, and subscribe all interested parties to this stream. The integration will use the default stream github if no stream is supplied in the hook; you still need to create the stream even if you are using this default.

Next, go to your repository page and click "Settings":

From there, select "Webhooks":

Click "Add webhook".

Authorize yourself and configure your webhook.

In the "Payload URL" field, enter a URL constructed like this:

{{ external_api_uri_subdomain }}/v1/external/github?api_key=abcdefgh&stream=github

where api_key is the API key of your Zulip bot.

Then, set "Content type" to application/json.

Next, select the actions that you want to result in a Zulip notification and click Add Webhook.

Congratulations! You're done!
Your messages will look like this: