mirror of https://github.com/zulip/zulip.git
89 lines
2.8 KiB
Markdown
89 lines
2.8 KiB
Markdown
Get Zulip notifications when you `hg push`!
|
||
|
||
{!create-stream.md!}
|
||
|
||
Next, on your {{ settings_html|safe }}, create a Mercurial bot.
|
||
|
||
Then:
|
||
|
||
1. {!download-python-bindings.md!}
|
||
|
||
2. Edit the `hg/.hgrc` configuration 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 = {{ api_url }}
|
||
|
||
3. Add the directory where the `zulip_changegroup.py` script was
|
||
installed to the environment variable `PYTHONPATH`. 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][1],
|
||
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 = {{ api_url }}
|
||
|
||
[1]: https://www.mercurial-scm.org/wiki/QuickStart#Network_support
|
||
|
||
#### 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.
|
||
|
||
{!congrats.md!}
|
||
|
||
![Mercurial bot message](/static/images/integrations/hg/001.png)
|