Test webhook.
(request)
| 271 | @require_http_methods(["POST"]) |
| 272 | @authenticate_secondarily |
| 273 | def test_slack_webhook(request): |
| 274 | """Test webhook.""" |
| 275 | try: |
| 276 | body = json.loads(request.body) |
| 277 | except (TypeError, json.decoder.JSONDecodeError): |
| 278 | return JsonResponse({"error": "Cannot parse request body"}, status=400) |
| 279 | |
| 280 | webhook = body.get("webhook") |
| 281 | |
| 282 | if not webhook: |
| 283 | return JsonResponse({"error": "no webhook URL"}) |
| 284 | message = {"text": "_Greetings_ from PostHog!"} |
| 285 | try: |
| 286 | response = requests.post(webhook, verify=False, json=message) |
| 287 | |
| 288 | if response.ok: |
| 289 | return JsonResponse({"success": True}) |
| 290 | else: |
| 291 | return JsonResponse({"error": response.text}) |
| 292 | except: |
| 293 | return JsonResponse({"error": "invalid webhook URL"}) |