Add a linkifier

POST https://chat.zulip.org/api/v1/realm/filters

Configure linkifiers, regular expression patterns that are automatically linkified when they appear in messages and topics.

Usage examples

#!/usr/bin/env python3

import zulip

# Pass the path to your zuliprc file here.
client = zulip.Client(config_file="~/zuliprc")

# Add a filter to automatically linkify #<number> to the corresponding
# issue in Zulip's server repository.
request = {
    "pattern": "#(?P<id>[0-9]+)",
    "url_template": "https://github.com/zulip/zulip/issues/{id}",
}
result = client.call_endpoint("/realm/filters", method="POST", request=request)
print(result)

curl -sSX POST https://chat.zulip.org/api/v1/realm/filters \
    -u BOT_EMAIL_ADDRESS:BOT_API_KEY \
    --data-urlencode 'pattern=#(?P<id>[0-9]+)' \
    --data-urlencode 'url_template=https://github.com/zulip/zulip/issues/{id}'

Parameters

pattern string required

Example: "#(?P<id>[0-9]+)"

The Python regular expression that should trigger the linkifier.


url_template string required

Example: "https://github.com/zulip/zulip/issues/{id}"

The RFC 6570 compliant URL template used for the link. If you used named groups in pattern, you can insert their content here with {name_of_group}.

Changes: New in Zulip 7.0 (feature level 176). This replaced the url_format_string parameter, which was a format string in which named groups' content could be inserted with %(name_of_group)s.


Response

Return values

  • id: integer

    The numeric ID assigned to this filter.

Example response(s)

Changes: As of Zulip 7.0 (feature level 167), if any parameters sent in the request are not supported by this endpoint, a successful JSON response will include an ignored_parameters_unsupported array.

A typical successful JSON response may look like:

{
    "id": 42,
    "msg": "",
    "result": "success"
}