mirror of
https://github.com/zulip/zulip.git
synced 2025-11-06 15:03:34 +00:00
The "subdomain" label is redundant, to the extent it's even accurate -- this is really just the URL we want to display, which may or may not involve a subdomain. Similarly "external". The former `external_api_path_subdomain` was never a path -- it's a host, followed by a path, which together form a scheme-relative URL. I'm not quite convinced that value is actually the right thing in 2 of the 3 places we use it, but fixing that can start by giving an accurate name to the thing we have.
35 lines
1.1 KiB
Markdown
35 lines
1.1 KiB
Markdown
Learn how Zulip integrations work with this simple Hello World example!
|
|
|
|
The Hello World webhook will use the `test` stream, which is
|
|
created by default in the Zulip dev environment. If you are running
|
|
Zulip in production, you should make sure that this stream exists.
|
|
|
|
Next, on your {{ settings_html|safe }}, create a Hello World bot.
|
|
Construct the URL for the Hello World bot using the API key and
|
|
stream name:
|
|
|
|
`{{ api_url }}/v1/external/helloworld?api_key=abcdefgh&stream=test`
|
|
|
|
|
|
To trigger a notification using this webhook, use
|
|
`send_webhook_fixture_message` from the Zulip command line:
|
|
|
|
```
|
|
(zulip-venv)vagrant@vagrant-ubuntu-trusty-64:/srv/zulip$
|
|
./manage.py send_webhook_fixture_message \
|
|
> --fixture=zerver/fixtures/helloworld/hello.json \
|
|
> '--url=http://localhost:9991/api/v1/external/helloworld?api_key=<api_key>'
|
|
|
|
```
|
|
|
|
Or, use curl:
|
|
|
|
```
|
|
curl -X POST -H "Content-Type: application/json" -d '{ "featured_title":"Marilyn Monroe", "featured_url":"https://en.wikipedia.org/wiki/Marilyn_Monroe" }' http://localhost:9991/api/v1/external/helloworld\?api_key\=<api_key>
|
|
|
|
```
|
|
|
|
{!congrats.md!}
|
|
|
|

|