mirror of
https://github.com/zulip/zulip.git
synced 2025-10-23 04:52:12 +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.
1.1 KiB
1.1 KiB
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!}