Webhookهای سفارشی
دادههای خطای ابرووا تریس را با webhookهای سفارشی به هر endpoint مربوط به HTTP بفرستید. با ابزارهای مدیریت حادثه، سیستمهای داخلی یا هر چیزی که درخواست POST میپذیرد یکپارچه شوید.
دادههای خطا را با webhookهای سفارشی به هر endpoint مربوط به HTTP بفرستید. با ابزارهای مدیریت حادثه، سیستمهای داخلی یا هر چیزی که درخواست POST میپذیرد یکپارچه شوید.
- یک endpoint مربوط به HTTP که درخواست POST بپذیرد
- (اختیاری) یک کلید امضا برای بررسی درخواستها
- دسترسی owner یا admin به پروژه
اینکه پروژهی شما از کدام کانالها میتواند استفاده کند، در صفحهی ابرووا تریس ← یکپارچهسازیها در کنسول ابرووا نمایش داده میشود.
راهاندازی یکپارچگی Webhook#
- در کنسول ابرووا، ابرووا تریس ← یکپارچهسازیها را باز کنید (یکپارچگیها متعلق به پروژهی انتخابشدهاند)
- روی «افزودن یکپارچهسازی» کلیک کنید و Webhook را انتخاب کنید (یا روی کارت Webhook «اتصال» را بزنید)
- یک نام وارد کنید و فیلدهای پیکربندی را پر کنید
- روی «ذخیرهٔ کانال» کلیک کنید، یا «ذخیره و ارسال تست» را بزنید تا ذخیره و بررسی شود
| گزینه | نوع | اجباری | توضیح |
|---|---|---|---|
| Name | string | بله | نامی برای شناسایی (مثلاً «Incident bridge») |
| URL | string | بله | URL مربوط به endpoint شما. باید با https:// شروع شود و روی اینترنت عمومی در دسترس باشد (مثلاً https://your-server.com/api/abrova-trace-webhook) |
| Signing secret | string | خیر | برای امضای هر درخواست، تا سرور شما بتواند آن را بررسی کند |
قواعد 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 با این ساختار میفرستد:
{
"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 ناموفق حساب میشود
ارسالهای ناموفق دوباره تلاش نمیشوند؛ در لاگ ارسال یکپارچگی بهصورت ناموفق نمایش داده میشوند