webhooks/sentry: Improve message formatting and punctuation.

This commit is contained in:
Eeshan Garg
2019-04-17 18:39:05 -02:30
committed by Tim Abbott
parent 424061a07a
commit f86e445fe6
2 changed files with 22 additions and 4 deletions

View File

@@ -8,7 +8,14 @@ class SentryHookTests(WebhookTestCase):
def test_error_issue_message(self) -> None:
expected_topic = u"zulip"
expected_message = u"New ERROR [issue](https://sentry.io/zulip/zulip/issues/156699934/): This is an example python exception."
expected_message = """
New [issue](https://sentry.io/zulip/zulip/issues/156699934/) (level: ERROR):
``` quote
This is an example python exception
```
""".strip()
self.send_and_test_stream_message(
'exception_message',
expected_topic,

View File

@@ -9,13 +9,24 @@ from zerver.lib.response import json_success
from zerver.lib.webhooks.common import check_send_webhook_message
from zerver.models import UserProfile
MESSAGE_TEMPLATE = """
New [issue]({url}) (level: {level}):
``` quote
{message}
```
""".strip()
@api_key_only_webhook_view('Sentry')
@has_request_variables
def api_sentry_webhook(request: HttpRequest, user_profile: UserProfile,
payload: Dict[str, Any] = REQ(argument_type='body')) -> HttpResponse:
subject = "{}".format(payload.get('project_name'))
body = "New {} [issue]({}): {}.".format(payload['level'].upper(),
payload.get('url'),
payload.get('message'))
body = MESSAGE_TEMPLATE.format(
level=payload['level'].upper(),
url=payload.get('url'),
message=payload.get('message')
)
check_send_webhook_message(request, user_profile, subject, body)
return json_success()