یکپارچگی Discord
اعلانهای لحظهای خطای ابرووا تریس را با webhook در کانالهای Discord بگیرید. پیامهای embed غنی با جزئیات خطا، اطلاعات محیط و لینک داشبورد.
اعلانهای لحظهای خطا را با webhook در کانالهای Discord بگیرید. پیامهای embed غنی با جزئیات خطا، اطلاعات محیط و لینک مستقیم به داشبورد.
- یک سرور Discord که در آن دسترسی admin دارید
- یک کانال برای اعلانهای خطا
- حدود ۵ دقیقه برای راهاندازی
Discord سرویسی بیرون از ایران است و ممکن است از برخی شبکههای داخل ایران در دسترس نباشد. برای راهاندازی و خواندن هشدارها به اتصالی نیاز دارید که به Discord برسد، و پیامها فقط وقتی میرسند که discord.com پاسخ دهد؛ ارسالهای ناموفق در لاگ ارسال یکپارچگی نمایش داده میشوند. اگر این برای تیم شما مشکل است، بهجای آن یا در کنارش از یکپارچگی ایمیل یا Webhook استفاده کنید.
اینکه پروژهی شما از کدام کانالها میتواند استفاده کند، در صفحهی ابرووا تریس ← یکپارچهسازیها در کنسول ابرووا نمایش داده میشود.
ساختن webhook در Discord#
- سرور Discord خود را باز کنید و به کانال مورد نظر بروید
- روی کانال راستکلیک کنید ← Edit Channel
- به زبانهی Integrations بروید
- روی «Create Webhook» یا «New Webhook» کلیک کنید
- در صورت تمایل نام webhook را عوض کنید (مثلاً «AbrovaTrace»)؛ در هر حال پیامها با نام و آواتار AbrovaTrace فرستاده میشوند
- روی «Copy Webhook URL» کلیک کنید
- روی «Save Changes» کلیک کنید
پیکربندی در ابرووا تریس#
- در کنسول ابرووا، ابرووا تریس ← یکپارچهسازیها را باز کنید (یکپارچگیها متعلق به پروژهی انتخابشدهاند)
- روی «افزودن یکپارچهسازی» کلیک کنید و Discord را انتخاب کنید (یا روی کارت Discord «اتصال» را بزنید)
- یک نام وارد کنید و فیلدهای پیکربندی را پر کنید
- روی «ذخیرهٔ کانال» کلیک کنید، یا «ذخیره و ارسال تست» را بزنید تا ذخیره و بررسی شود
| گزینه | نوع | اجباری | توضیح |
|---|---|---|---|
| Name | string | بله | نامی آشنا برای شناسایی (مثلاً #errors) |
| Webhook URL | string | بله | URL مربوط به webhook در Discord. باید روی discord.com باشد (https://discord.com/api/webhooks/...) |
بعد از ذخیره
مدیریت یکپارچگیها (افزودن، ویرایش، روشن و خاموش کردن، حذف، تست) نقش admin یا owner میخواهد؛ همهی نقشها میتوانند آنها و لاگ ارسالشان را ببینند. نقشها و دسترسیها را ببینید.
URL مربوط به webhook بعد از ذخیره دیگر هرگز نمایش داده نمیشود: فرم آن را «تنظیمشده» نشان میدهد و فقط scheme و host آن دیده میشود. دست نزنید تا URL ذخیرهشده بماند، یا جایگزینی را بزنید تا URL تازهای جایگذاری کنید. فقط آدرسهای webhook خود Discord پذیرفته میشوند (discord.com، و discordapp.com، ptb.discord.com یا canary.discord.com).
نمونههای پیکربندی#
- هشدارهای production: نام
#prod-errors، با webhook در کانال production - اعلانهای توسعه: نام
#dev-errors، با webhook در کانال توسعه
پیامها با نام کاربری Abrova Trace فرستاده میشوند.
قالب اعلان#
پیامهای Discord از ابرووا تریس شامل اینهاست:
- عنوان 🚨 New Error: <error message> (اولین باری که خطا دیده میشود فرستاده میشود)
- پروژه، محیط و تعداد رخدادها، با زمان اولین دیده شدن بهعنوان timestamp مربوط به embed
- لینکی روی عنوان که به خطا برمیگردد
تشخیص جهش هم اینجا پیام میگذارد، و قوانین هشدار و مانیتورهای cron هم وقتی این کانال را برایشان انتخاب کنید.
بهترین روشها#
برای خطاهای prod/dev/staging کانالهای جداگانه داشته باشید
با دسترسیهای Discord کنترل کنید چه کسی اعلانهای خطا را میبیند
پیام راهاندازی را در کانال pin کنید تا راحت در دسترس باشد
هر یکپارچگی را به نام کانالش نامگذاری کنید، مثلاً «#prod-errors»
عیبیابی#
پیامی نمیرسد؟
- مطمئن شوید URL مربوط به webhook درست و کامل است
- مطمئن شوید webhook در Discord حذف نشده است
- مطمئن شوید یکپارچگی در ابرووا تریس ← یکپارچهسازیها روشن است
- یکپارچگی را با دکمهی «ارسال تست» تست کنید
- دسترسیهای سرور و کانال را بررسی کنید
- لاگ ارسال یکپارچگی را ببینید: timeout یا خطای اتصال یعنی Discord در دسترس نبوده است
webhook حذف شده یا نامعتبر است؟
- در تنظیمات کانال Discord یک webhook تازه بسازید
- یکپارچگی را در ابرووا تریس ← یکپارچهسازیها ویرایش کنید و روی URL مربوط به webhook «جایگزینی» را بزنید
- URLهای webhook را عمومی به اشتراک نگذارید
پیامها به کانال اشتباه میروند؟
- هر webhook به یک کانال مشخص وصل است
- در کانال درست یک webhook تازه بسازید
- یکپارچگی را در ابرووا تریس ← یکپارچهسازیها ویرایش کنید و روی URL مربوط به webhook «جایگزینی» را بزنید
مشکل محدودیت نرخ (rate limit)؟
- Discord برای webhookها محدودیت نرخ دارد
- از گروهبندی خطاها برای کم کردن تکرار استفاده کنید
- با قوانین نادیدهگیری، خطاهای پرسروصدا را پیش از ارسال اعلان حذف کنید