ابرووا
شروع رایگان
☰ فهرست مستندات · وب‌هوک دلخواه

Webhookهای سفارشی

داده‌های خطای ابرووا تریس را با webhookهای سفارشی به هر endpoint مربوط به HTTP بفرستید. با ابزارهای مدیریت حادثه، سیستم‌های داخلی یا هر چیزی که درخواست POST می‌پذیرد یکپارچه شوید.

به‌روزرسانی: ۵ آبان ۱۴۰۵

داده‌های خطا را با webhookهای سفارشی به هر endpoint مربوط به HTTP بفرستید. با ابزارهای مدیریت حادثه، سیستم‌های داخلی یا هر چیزی که درخواست POST می‌پذیرد یکپارچه شوید.

چه چیزهایی لازم دارید.
  • یک endpoint مربوط به HTTP که درخواست POST بپذیرد
  • (اختیاری) یک کلید امضا برای بررسی درخواست‌ها
  • دسترسی owner یا admin به پروژه
داخل ایران کار می‌کند. webhook کانال پیش‌فرض خوبی در ایران است: آن را به سرور خودتان (یا ابزاری داخلی که روی اینترنت عمومی در دسترس است) وصل کنید تا هیچ سرویسی بیرون از کشور درگیر نشود.

این‌که پروژه‌ی شما از کدام کانال‌ها می‌تواند استفاده کند، در صفحه‌ی ابرووا تریس ← یکپارچه‌سازی‌ها در کنسول ابرووا نمایش داده می‌شود.

راه‌اندازی یکپارچگی Webhook#

  1. در کنسول ابرووا، ابرووا تریس ← یکپارچه‌سازی‌ها را باز کنید (یکپارچگی‌ها متعلق به پروژه‌ی انتخاب‌شده‌اند)
  2. روی «افزودن یکپارچه‌سازی» کلیک کنید و Webhook را انتخاب کنید (یا روی کارت Webhook «اتصال» را بزنید)
  3. یک نام وارد کنید و فیلدهای پیکربندی را پر کنید
  4. روی «ذخیرهٔ کانال» کلیک کنید، یا «ذخیره و ارسال تست» را بزنید تا ذخیره و بررسی شود
گزینهنوعاجباریتوضیح
Namestringبلهنامی برای شناسایی (مثلاً «Incident bridge»)
URLstringبلهURL مربوط به endpoint شما. باید با https:// شروع شود و روی اینترنت عمومی در دسترس باشد (مثلاً https://your-server.com/api/abrova-trace-webhook)
Signing secretstringخیربرای امضای هر درخواست، تا سرور شما بتواند آن را بررسی کند

قواعد URL

  • URL باید از https:// استفاده کند و نباید نام کاربری یا رمز عبور داشته باشد.
  • host باید آدرس عمومی باشد. آدرس‌های خصوصی، loopback و دیگر آدرس‌های داخلی (مثلاً localhost، 10.x.x.x، 192.168.x.x) هنگام ذخیره رد می‌شوند و هرگز فراخوانی نمی‌شوند.
  • redirectها دنبال نمی‌شوند: اگر endpoint شما با 3xx پاسخ دهد، ارسال ناموفق حساب می‌شود. URL نهایی را وارد کنید.

بعد از ذخیره

مدیریت یکپارچگی‌ها (افزودن، ویرایش، روشن و خاموش کردن، حذف، تست) نقش admin یا owner می‌خواهد؛ همه‌ی نقش‌ها می‌توانند آن‌ها و لاگ ارسالشان را ببینند. نقش‌ها و دسترسی‌ها را ببینید.

URL و کلید امضا بعد از ذخیره دیگر هرگز نمایش داده نمی‌شوند: فرم آن‌ها را «تنظیم‌شده» نشان می‌دهد (برای URL فقط scheme و host). فیلد را دست نزنید تا مقدار ذخیره‌شده بماند، یا جایگزینی را بزنید تا مقدار تازه‌ای وارد کنید.

اگر URL را به host دیگری تغییر دهید (یا scheme یا port را عوض کنید)، کلید امضا را هم دوباره وارد کنید؛ کلید ذخیره‌شده هرگز خودبه‌خود به مقصد جدیدی فرستاده نمی‌شود. تغییر فقط مسیر روی همان host آن را نگه می‌دارد.

قالب payload#

وقتی خطایی اولین بار دیده می‌شود، ابرووا تریس یک درخواست POST از نوع JSON با این ساختار می‌فرستد:

json
{
"event": "error.new",
"timestamp": "2025-01-18T10:30:00.000Z",
"data": {
  "id": 456,
  "message": "TypeError: Cannot read property 'map' of undefined",
  "project": "My App",
  "environment": "production",
  "count": 1,
  "first_seen": "2025-01-18T10:30:00.000Z",
  "last_seen": "2025-01-18T10:30:00.000Z",
  "stack_trace": "...",
  "url": "https://myapp.com/checkout",
  "user_agent": "Mozilla/5.0 ..."
}
}

قوانین هشدار و مانیتورهای cron که به این webhook وصل‌اند به‌جای آن رویدادهای alert.triggered / alert.resolved می‌فرستند، با data شامل rule_name، rule_type، metric_value، threshold، operator، window_minutes، project و environment.

امضا

وقتی کلید امضا تنظیم شده باشد، هر درخواست این‌ها را دارد:

  • X-AbrovaTrace-Signature: sha256=<hex>: مقدار HMAC-SHA256 بدنه‌ی JSON با کلید شما
  • X-AbrovaTrace-Timestamp: زمان ارسال بر حسب میلی‌ثانیه

بهترین روش‌ها#

امضاها را بررسی کنید

با کلید امضا مطمئن شوید درخواست‌های ورودی از ابرووا تریس آمده‌اند

سریع پاسخ دهید

ظرف ۱۰ ثانیه پاسخ 2xx برگردانید؛ پاسخ کندتر، redirect (3xx) یا هر پاسخ غیر 2xx ناموفق حساب می‌شود

لاگ ارسال را بررسی کنید

ارسال‌های ناموفق دوباره تلاش نمی‌شوند؛ در لاگ ارسال یکپارچگی به‌صورت ناموفق نمایش داده می‌شوند

این صفحه مفید بود؟
گزارش مشکل