This webhook bases on deprecated concept that is GitHub Services
    First, create the stream you'd like to use for GitHub notifications,
    and subscribe all interested parties to this stream. The integration will
    use the default stream commits 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 & Services":

To find the Zulip hook, you have to click on Configure services.

    Select "Zulip" from the list of service hooks. Fill in
    the API key and email address for your bot and check
    the "active" checkbox. Specify
    {{ external_api_uri_subdomain }}/v1/external/github as the "Alternative
    endpoint". You can optionally supply the Zulip stream (the
    default is commits) and restrict Zulip
    notifications to a specified set of branches.
Further configuration is possible. By default, commits traffic (pushes, commit comments), GitHub issues traffic, and pull requests are enabled. You can exclude certain types of traffic via the checkboxes. If you want commit traffic, issue traffic, and pull requests to go to different places, you can use the Commit Stream and Issue Stream overrides; otherwise, it is safe to leave these fields blank and just have it default to the Stream setting.
Click the "Update settings" button to complete the configuration:

    Congratulations! You're done!
 When team members push to
    your repository, you'll get a Zulip notification that looks like this:
