zulip/zerver/lib
Ryan Crisanti fc2aac6baa integration: Update topic & content of grafana webhook.
Sending to a topic based on the number of firing alerts makes no
sense, and leads to conversations and alerts scattered randomly across
topics based on how on fire the alerting is.

Send a separate message for each alert in the Grafana webhook payload,
with the alert's name as its topic; if no alert name can be found,
fall back to the alert's fingerprint.  Also include all alert values
in the body of the message, along with links to the alert generator,
silence, and image, if available.

Co-authored-by: Alex Vandiver <alexmv@zulip.com>
2024-06-12 06:44:14 -07:00
..
markdown api_docs: Convert event names to lowercase in api docs. 2024-06-11 11:17:38 -07:00
upload claim_attachment: Remove the stale 'user_profile' parameter. 2024-05-21 09:24:43 -07:00
url_preview ruff: Fix RUF022 __all__ is not sorted. 2024-03-01 09:30:04 -08:00
webhooks docs: Update Django links to our current version. 2024-05-24 10:18:37 -07:00
__init__.py
addressee.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
alert_words.py models: Extract zerver.models.alert_words. 2023-12-16 22:08:44 -08:00
async_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
attachments.py models: Move some functions to zerver.lib.attachments. 2023-12-16 22:08:44 -08:00
avatar_hash.py utils: Remove make_safe_digest wrapper. 2023-07-19 10:54:05 -07:00
avatar.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
bot_config.py ruff: Fix UP032 Use f-string instead of format call. 2023-08-02 15:58:55 -07:00
bot_lib.py message: Add recipient_users parameter to internal_send_huddle_message. 2024-04-03 12:28:05 -07:00
bot_storage.py ruff: Fix UP032 Use f-string instead of format call. 2024-03-21 08:59:17 -07:00
bulk_create.py streams: Set creator for some initial streams in populate_db. 2024-05-15 11:21:46 -07:00
cache_helpers.py caches: Only take the realm_id, not the Realm, as a cache key function. 2024-03-04 16:35:57 -08:00
cache.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
camo.py typing: Apply trivial none-checks with assertions as necessary. 2022-06-23 19:25:48 -07:00
ccache.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
compatibility.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
context_managers.py context_managers: Open file in write mode in lockfile_nonblocking. 2024-03-06 10:35:02 -08:00
create_user.py user_profile: Remove 'onboarding_steps' field. 2024-05-29 16:12:35 -07:00
data_types.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
db_connections.py db: Split reset_queries into a new module zerver.lib.db_connections. 2024-04-17 16:49:03 -07:00
db.py db: Split reset_queries into a new module zerver.lib.db_connections. 2024-04-17 16:49:03 -07:00
debug.py black: Reformat with Black 23. 2023-02-02 10:40:13 -08:00
default_streams.py streams: Pass stream_weekly_traffic field in stream objects. 2023-08-06 18:06:42 -07:00
dev_ldap_directory.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
digest.py email-digest: Update translated strings for stream to channel rename. 2024-04-24 14:35:05 -07:00
display_recipient.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
domains.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
drafts.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
email_mirror_helpers.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
email_mirror.py settings: Use named_user_group field to access name. 2024-04-26 17:03:09 -07:00
email_notifications.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
email_validation.py email_validation: Merge two implementations of a disposable-email check. 2024-02-27 10:19:23 -08:00
emoji_utils.py emoji: Match emoji sequences in markdown. 2023-08-23 16:18:15 -07:00
emoji.py composebox_typeahead: Convert module to typescript. 2024-05-16 14:53:26 -07:00
event_schema.py realm: Add new group setting for who can create public streams. 2024-06-10 12:24:44 -07:00
events.py settings: Remove create_public_stream_policy. 2024-06-10 12:24:45 -07:00
exceptions.py groups: Pass old setting value for can_mention_group. 2024-05-14 12:17:15 -07:00
export.py presence: Handle PresenceSequence in the export/import system. 2024-06-02 22:08:28 -07:00
external_accounts.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
fix_unreads.py ruff: Fix PERF401 Use a list comprehension to create a transformed list. 2023-08-07 17:23:55 -07:00
generate_test_data.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
github.py ruff: Fix RSE102 Unnecessary parentheses on raised exception. 2023-02-04 16:34:55 -08:00
home.py presence: Backend implementation of the last_update_id API. 2024-06-06 17:25:54 -07:00
html_diff.py html_diff: Fix lxml import. 2023-03-05 14:46:28 -08:00
html_to_text.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
i18n.py i18n: Fix default language for users created via API/LDAP. 2023-10-01 21:10:13 +02:00
import_realm.py presence: Handle PresenceSequence in the export/import system. 2024-06-02 22:08:28 -07:00
initial_password.py initial_password: Add explicit development environment assertion. 2022-03-21 12:05:59 -07:00
integrations.py integration: Update topic & content of grafana webhook. 2024-06-12 06:44:14 -07:00
invites.py invites: Make notify_invites_changed transaction-safe. 2024-05-02 14:23:04 -07:00
logging_util.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
management.py management: Disable Sentry for management commands run interactively. 2024-05-24 10:30:16 -07:00
mdiff.py node_tests: Move to web/tests. 2023-02-23 16:04:17 -08:00
mention.py mention: Use NamedUserGroup objects in mention code. 2024-04-26 17:03:09 -07:00
message_cache.py python: Avoid relying on Collection supertype of QuerySet. 2024-04-16 23:02:16 -07:00
message.py remove_single_newlines: Fix regex to parse list syntax correctly. 2024-05-30 11:32:52 -07:00
migrate.py migration: Make 'rename_indexes_constraints' a lib function. 2023-12-06 18:19:20 -08:00
mobile_auth_otp.py
muted_users.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
name_restrictions.py name_restrictions: Reserve additional subdomains. 2024-02-07 12:10:00 -08:00
narrow_helpers.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
narrow_predicate.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
narrow.py narrow: Fix server error of operand of "id" operator at large values. 2024-06-01 22:38:18 -07:00
notes.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
notification_data.py mention: Use NamedUserGroup objects in mention code. 2024-04-26 17:03:09 -07:00
onboarding_steps.py compose: Show a one-time banner for jump to sent message conversation. 2024-06-05 09:31:17 -07:00
onboarding.py zulip_updates: Send an introductory message before the first update. 2024-05-15 11:19:03 -07:00
outgoing_http.py outgoing_http: Support fractional-second timeouts. 2024-03-15 15:34:12 -07:00
outgoing_webhook.py message: Split MessageDict and friends into its own file. 2024-02-14 12:27:03 -08:00
partial.py partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
per_request_cache.py per-request caches: Add per_request_cache library. 2023-08-11 11:09:34 -07:00
presence.py presence: Return last_update_id=-1 on zephyr mirror realm. 2024-06-07 13:57:40 -07:00
profile.py profile: Strengthen decorator types using ParamSpec. 2022-04-14 12:44:35 -07:00
push_notifications.py push_notifications: Support test notifications from old servers. 2024-06-04 23:07:39 -07:00
pysa.py
query_helpers.py models: Move query_for_ids to zerver.lib.query_helpers. 2023-12-16 22:08:44 -08:00
queue.py rabbitmq: Support non-/ vhosts. 2024-05-31 15:41:19 -07:00
rate_limiter.py codespell: Fix spelling mistakes caught by codespell. 2024-05-31 14:32:33 -07:00
realm_description.py markdown: Refactor out additional properties added to Message. 2021-06-24 18:14:53 -07:00
realm_icon.py settings: Make DEFAULT_LOGO_URI/DEFAULT_AVATAR_URI use staticfiles. 2023-02-14 17:17:06 -05:00
realm_logo.py settings: Make DEFAULT_LOGO_URI/DEFAULT_AVATAR_URI use staticfiles. 2023-02-14 17:17:06 -05:00
recipient_parsing.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
recipient_users.py narrow: Do not create huddles when fetching messages. 2024-04-16 09:57:55 -07:00
redis_utils.py rate_limiter: Extract KEY_PREFIX to redis_utils. 2024-04-19 10:25:34 -07:00
remote_server.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
request.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
response.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
rest.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
retention.py retention: Add .restored_timestamp to ArchiveTransaction. 2024-05-09 10:54:44 -07:00
safe_session_cached_db.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
scheduled_messages.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
scim_filter.py docs: Update Django links to our current version. 2024-05-24 10:18:37 -07:00
scim.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
send_email.py emails: Replace occurrences of uri with url in email templates. 2024-05-24 11:18:35 -07:00
server_initialization.py models: New PresenceSequence model and UserPresence.last_update_id col. 2024-06-02 22:08:28 -07:00
sessions.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
singleton_bmemcached.py requirements: Upgrade Python requirements. 2023-04-03 22:39:21 -07:00
soft_deactivation.py soft_reactivate: Soft reactivate if group mention has < 12 members. 2024-04-24 17:40:37 -07:00
sounds.py actions: Split out zerver.lib.sounds. 2022-04-14 14:26:40 -07:00
sqlalchemy_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
storage.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
stream_color.py streams: Extract stream_color library. 2022-03-14 18:01:36 -07:00
stream_subscription.py python: Avoid relying on Collection supertype of QuerySet. 2024-04-16 23:02:16 -07:00
stream_topic.py message_send: Handle notifications for UNMUTED topic in a muted stream. 2023-03-06 19:15:45 -08:00
stream_traffic.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
streams.py streams: Move enforcement of stripped-stream-names lower. 2024-06-05 10:44:53 -07:00
string_validation.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
subdomains.py python: Consistently use from…import for urllib.parse. 2023-12-05 13:03:07 -08:00
subscription_info.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
templates.py requirements: Upgrade Python requirements. 2023-04-03 22:39:21 -07:00
test_classes.py tests: Add a helper function to create anonymous groups. 2024-05-28 07:24:07 -07:00
test_console_output.py test_console_output: Mark regexes as raw strings. 2024-04-16 14:51:39 -07:00
test_data.source.txt Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
test_fixtures.py ruff: Fix ANN204 missing return type annotation for __init__. 2022-11-16 09:29:11 -08:00
test_helpers.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
test_runner.py partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
tex.py katex: Replace subprocess call with minimal external service. 2024-03-15 15:34:12 -07:00
thumbnail.py docs: Remove some outdated references to thumbnailing.md doc. 2022-07-12 17:44:24 -07:00
timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
timestamp.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
timezone.py ruff: Fix UP033 Use @functools.cache. 2024-04-01 18:32:52 -07:00
topic_sqlalchemy.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
topic.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
transfer.py uploads: Allow uploads to set storage class. 2023-07-19 16:19:34 -07:00
typed_endpoint_validators.py users: Migrate to typed_endpoint. 2024-06-06 16:50:56 -07:00
typed_endpoint.py realm: Migrate "PATCH /realm" endpoint to typed_endpoint. 2024-05-22 17:20:37 -07:00
types.py streams: Add creator field. 2024-04-20 19:03:43 -07:00
url_encoding.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
url_redirects.py help: Move 'channels-and-topics' to 'introduction-to-topics'. 2024-05-07 16:51:48 -07:00
user_agent.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
user_counts.py python: Elide unnecessary list wrappers. 2023-09-13 12:41:23 -07:00
user_groups.py user_groups: Move get_group_setting_value_for_audit_log_data. 2024-06-04 09:55:27 -07:00
user_message.py user_message: Use INSERT ... ON CONFLICT for historical UM creation. 2024-03-26 10:52:37 -07:00
user_status.py api: Add "users/<int:user_id>/status" endpoint. 2024-05-22 18:07:22 -07:00
user_topics.py user_topics: Make bulk_set_user_topic_..._in_database atomic. 2024-05-21 09:24:43 -07:00
users.py realm: Use enums for accessing setting values. 2024-05-22 17:20:37 -07:00
utils.py events: Fix realm_upload_quota_mib value to be in MiB. 2024-04-15 15:08:56 -07:00
validator.py support: Set discounted price instead percentage for customers. 2024-05-16 02:18:43 -07:00
widget.py todo: Require space after colon to separate task title from description. 2024-04-30 12:36:42 -07:00
zcommand.py ruff: Fix UP032 Use f-string instead of format call. 2023-08-02 15:58:55 -07:00
zephyr.py
zulip_update_announcements.py zulip_updates: Fix assertion error while sending update messages. 2024-05-30 10:52:32 -07:00