Some checks failed
Code scanning / CodeQL (push) Failing after 15s
Zulip production suite / Ubuntu 22.04 production build (push) Failing after 26s
Zulip production suite / Debian 12 production install with custom db name and user (push) Has been skipped
Zulip production suite / Ubuntu 22.04 production install and PostgreSQL upgrade with pgroonga (push) Has been skipped
Zulip production suite / Ubuntu 24.04 production install (push) Has been skipped
Zulip production suite / Ubuntu 26.04 production install (push) Has been skipped
Zulip production suite / Debian 13 production install (push) Has been skipped
Zulip production suite / 7.0 Version Upgrade (push) Has been skipped
Zulip production suite / 8.0 Version Upgrade (push) Has been skipped
Zulip production suite / 6.0 Version Upgrade (push) Has been skipped
Zulip production suite / 10.0 Version Upgrade (push) Has been skipped
Zulip production suite / 9.0 Version Upgrade (push) Has been skipped
Zulip production suite / 12.0 Version Upgrade (push) Has been skipped
Zulip production suite / 11.0 Version Upgrade (push) Has been skipped
GitHub Actions Security Analysis with zizmor / zizmor (push) Failing after 3s
Zulip CI / Debian 12 (Python 3.11, backend + documentation) (push) Failing after 26s
Zulip CI / Ubuntu 22.04 (Python 3.10, backend + frontend) (push) Failing after 3s
Zulip CI / Ubuntu 24.04 (Python 3.12, backend) (push) Failing after 25s
Zulip CI / Ubuntu 26.04 (Python 3.14, backend) (push) Failing after 25s
Zulip CI / Debian 13 (Python 3.13, backend) (push) Failing after 28s
Zulip production suite / Required jobs (push) Has been cancelled
Zulip CI / Required jobs (push) Has been cancelled
API Documentation Update Check / check-feature-level-updated (push) Has been cancelled
API Documentation Update Check / notify-if-api-docs-changed (push) Has been cancelled
67 lines
2.0 KiB
Markdown
67 lines
2.0 KiB
Markdown
# Zulip Hubot Integration
|
|
|
|
Use Hubot to execute scripts and commands within Zulip!
|
|
|
|
{start_tabs}
|
|
|
|
1. Follow the [**Getting Started with Hubot**][getting-started] guide
|
|
to create your Hubot. You'll have a new directory from which `bin/hubot`
|
|
starts a vanilla Hubot instance with the shell backend.
|
|
|
|
1. In your Hubot's directory, install the Zulip adapter by running:
|
|
|
|
`npm install --save hubot-zulip`
|
|
|
|
1. {!create-a-generic-bot.md!}
|
|
|
|
1. Hubot uses the following environment variables, set them using the
|
|
information of the bot you created, by running:
|
|
|
|
```
|
|
export HUBOT_ZULIP_SITE="{{ zulip_url }}"
|
|
export HUBOT_ZULIP_BOT="hubot-bot@{{ zulip_url }}"
|
|
export HUBOT_ZULIP_API_KEY="0123456789abcdef0123456789abcdef"
|
|
```
|
|
|
|
1. Run Hubot:
|
|
|
|
`bin/hubot --adapter zulip --name "<bot username>"`
|
|
|
|
!!! tip ""
|
|
|
|
Hubot automatically listens for commands on all public channels. Private
|
|
channels require an invitation. Hubot's access can be
|
|
[configured](#configuration-options).
|
|
|
|
{end_tabs}
|
|
|
|
To test your Hubot installation, send it an @-notification with a
|
|
basic command, e.g., `@Hubot pug me`, which should produce a
|
|
result like this:
|
|
|
|

|
|
|
|
### Configuration options
|
|
|
|
* To make Hubot listen only on the channels that it is subscribed to, run:
|
|
|
|
`export HUBOT_ZULIP_ONLY_SUBSCRIBED_STREAMS`
|
|
|
|
### Related documentation
|
|
|
|
* [GitHub repository for Zulip Hubot adapter][hubot-zulip]
|
|
|
|
* Zulip Integrations using Hubot: [Assembla](/integrations/assembla) |
|
|
[Bonusly](/integrations/bonusly) |
|
|
[Chartbeat](/integrations/chartbeat) |
|
|
[Instagram](/integrations/instagram) |
|
|
[Google Translate](/integrations/google-translate) |
|
|
[MailChimp](/integrations/mailchimp) |
|
|
[YouTube](/integrations/youtube)
|
|
|
|
* [Other Hubot adapters][other-adapters]
|
|
|
|
[hubot-zulip]: https://github.com/zulip/hubot-zulip
|
|
[getting-started]: https://hubot.github.com/docs/#getting-started-with-hubot
|
|
[other-adapters]: https://github.com/search?q=topic%3Ahubot-adapter&type=Repositories
|