Get Zulip notifications when you hg push!
-
Create the channel you'd like to use for Mercurial (hg) notifications.
-
Create a bot for Mercurial (hg). Make sure that you select Incoming webhook as the Bot type.
-
Download and install our Python bindings and example scripts on the system where the Mercurial (hg) integration script will be run from.
-
Edit the
hg/.hgrcconfiguration file for this default Mercurial repository and add the following sections, using the credentials for your Mercurial bot and setting the appropriate path to the integration hook if it installs in a different location on this system:[hooks] changegroup = python:zulip_changegroup.hook [zulip] email = "hg-bot@example.com" api_key = "0123456789abcdefg" stream = "commits" site = https://chat.zulip.org/api -
Add the directory where the
zulip_changegroup.pyscript was installed to the environment variablePYTHONPATH. For example, if you installed the Zulip Python bindings at the system level, it'd be:export PYTHONPATH=/usr/local/share/zulip/integrations/hg:$PYTHONPATH
That’s all it takes for the basic setup! On the next hg push, you’ll
get a Zulip update for the changeset.
More configuration options
The Mercurial integration also supports:
- linking to changelog and revision URLs for your repository’s web UI
- branch whitelists and blacklists
Web repository links
If you’ve set up your repository to be browsable via the web,
add a web_url configuration option to the zulip section of your
default .hg/hgrc to get changelog and revision links in your Zulip
notifications:
[zulip]
email = "hg-bot@example.com"
api_key = "0123456789abcdefg"
stream = "commits"
web_url = "http://hg.example.com:8000/"
site = https://chat.zulip.org/api
Branch whitelists and blacklists
By default, this integration will send Zulip notifications for
changegroup events for all branches. If you’d prefer to only receive
Zulip notifications for specified branches, add a branches
configuration option to the zulip section of your default .hg/hgrc,
containing a comma-separated list of the branches that should produce
notifications:
[zulip]
email = "hg-bot@example.com"
api_key = "0123456789abcdefg"
stream = "commits"
branches = "prod,default"
You can also exclude branches that you don’t want to cause
notifications. To do so, add an ignore_branches configuration option
to the zulip section of your default .hg/hgrc, containing a
comma-separated list of the branches that should be ignored:
[zulip]
email = "hg-bot@example.com"
api_key = "0123456789abcdefg"
stream = "commits"
ignore_branches = "noisy,even-more-noisy"
When team members push new changesets with hg push, you’ll get a
Zulip notification.
You're done! Your Mercurial (hg) notifications may look like this:

Logos are trademarks of their respective owners. None of the integrations on this page are created by, affiliated with, or supported by the companies represented by the logos.