پاسخ خودکار به سوالات GitHub PR با GPT-4o، Notion و Slack

پاسخ خودکار به سوالات GitHub PR با GPT-4o، Notion و Slack

4 دقیقه مطالعه · منتشر شده ۱۴۰۵/۵/۶

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 10331 · منبع: کاتالوگ Axeto

خودکارسازی پاسخ به سوالات GitHub PR با GPT-4o، Notion و Slack

دسته‌بندی‌ها: مهندسی، چت‌بات هوش مصنوعی

کاتالوگ Axeto.ai: https://axeto.ai/n8n

نمای کلی گردش کار

این گردش کار فرآیند پاسخگویی به سوالات توسعه‌دهندگان که به صورت کامنت در درخواست‌های ادغام (PR) گیت‌هاب مطرح می‌شوند را با استفاده از مدل GPT-4o که بر روی Azure OpenAI میزبانی می‌شود، خودکار می‌کند. این گردش کار برای تیم‌های توسعه‌ای طراحی شده است که به دنبال بهینه‌سازی فرآیند بازبینی کد و همکاری خود با تولید خودکار پاسخ‌های فنی مختصر و آگاه از زمینه به کامنت‌های بازبینی PR که حاوی سوال هستند، می‌باشند. سپس گردش کار این تعاملات را در یک پایگاه داده Notion برای مستندسازی ثبت کرده و پاسخ‌های تولید شده توسط هوش مصنوعی را برای اطلاع‌رسانی در کانال Slack تیم منتشر می‌کند.

گردش کار به بلوک‌های منطقی زیر ساختاربندی شده است:

1. دریافت و اعتبارسنجی کامنت GitHub PR: به رویدادهای کامنت بازبینی PR گوش می‌دهد و محموله وب‌هوک را برای داده‌های لازم اعتبارسنجی می‌کند.

2. تشخیص سوال توسعه‌دهنده: محتوای کامنت را برای شناسایی سوالات توسعه‌دهندگان که نیاز به پاسخ هوش مصنوعی دارند، تجزیه و تحلیل می‌کند.

3. تولید پاسخ هوش مصنوعی: از GPT-4o برای تولید یک پاسخ فنی مختصر به سوال شناسایی شده استفاده می‌کند.

4. استخراج و ذخیره‌سازی فراداده: فراداده‌های مرتبط را از محموله گیت‌هاب استخراج کرده و کامنت و پاسخ هوش مصنوعی را در یک پایگاه داده Notion ذخیره می‌کند.

5. ارتباطات و ثبت خطا: پاسخ هوش مصنوعی و لینک PR را در Slack منتشر کرده و هرگونه خطای پردازشی را در یک Google Sheet ثبت می‌کند.

تحلیل گره به گره (Node Analysis)

۱. دریافت و اعتبارسنجی کامنت GitHub PR

هدف: این بخش با دریافت رویدادهای کامنت بازبینی GitHub و اعتبارسنجی بار داده ورودی برای اطمینان از داشتن یک URL کامنت معتبر، گردش کار را آغاز می‌کند.

گره‌ها (Nodes):

  • GitHub PR Comment Trigger

* نوع: githubTrigger.webhook

* نقش: گردش کار را هنگام وقوع رویداد pull_request_review_comment در یک مخزن GitHub مشخص، راه‌اندازی می‌کند.

* پیکربندی: از احراز هویت OAuth2 برای GitHub استفاده می‌کند. نظرات بازبینی PR را گوش می‌دهد.

* ورودی/خروجی: گره‌های پایین‌دستی را راه‌اندازی می‌کند؛ بار داده وب‌هوک را خروجی می‌دهد.

* مدیریت خطا: خرابی‌های احتمالی وب‌هوک، خطاهای احراز هویت، یا پیکربندی نادرست مخزن/انواع رویداد.

* نکته مهم: داده‌های ضروری رویداد، از جمله متن کامنت، مسیر فایل، شماره PR و نویسنده را ثبت می‌کند.

  • Validate GitHub Webhook Payload

* نوع: n8n-nodes-base.if

* نقش: برای اطمینان از کامل بودن داده‌ها، بررسی می‌کند که بار داده ورودی حاوی یک URL کامنت غیر خالی (body.comment.url) باشد.

* پیکربندی: از یک بررسی رشته‌ای سخت‌گیرانه notEmpty بر روی {{$json.body.comment.url}} استفاده می‌کند.

* ورودی: از GitHub PR Comment Trigger.

* خروجی: داده‌های معتبر را به بخش تشخیص پرسش هدایت می‌کند؛ داده‌های نامعتبر را به ثبت خطا هدایت می‌کند.

* مدیریت خطا: داده‌های وب‌هوک گمشده یا ناقص می‌توانند باعث شکست شرط شوند.

* نکته مهم: با اعتبارسنجی وجود URL کامنت، از پردازش داده‌های ناقص جلوگیری می‌کند.

  • Log Errors in Google Sheets

* نوع: n8n-nodes-base.googleSheets (عملیات Append)

* نقش: هنگام شکست اعتبارسنجی وب‌هوک یا بروز مشکلات دیگر پردازشی، خطاها را ثبت می‌کند.

* پیکربندی: جزئیات خطا (شناسه و پیام) را به یک برگه مشخص در یک سند Google Sheet اضافه می‌کند.

* ورودی: از شاخه ناموفق Validate GitHub Webhook Payload.

* مدیریت خطا: خطاهای API Google Sheets، مشکلات احراز هویت، یا محدودیت نرخ (rate limiting).

* نکته مهم: با ثبت خطاها، دید عملیاتی را فراهم کرده و به عیب‌یابی کمک می‌کند.

---

۲. تشخیص سوال توسعه‌دهنده

هدف: این بخش با جستجوی کلمات کلیدی خاص، تعیین می‌کند که آیا یک کامنت حاوی سوال توسعه‌دهنده است یا خیر. فقط کامنت‌هایی که به عنوان سوال شناسایی می‌شوند، به تولید پاسخ هوش مصنوعی ادامه می‌دهند.

گره‌ها (Nodes):

  • Detect Developer Question in PR Comment

* نوع: n8n-nodes-base.if

* نقش: بررسی می‌کند که آیا متن کامنت PR شامل کلمات کلیدی مانند "how do I" یا "how to

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه به سوالات GitHub PR پاسخ می‌دهد؟

این گردش کار کامنت‌های بازبینی درخواست ادغام (PR) گیت‌هاب را برای شناسایی سوالات تجزیه و تحلیل می‌کند. سپس از مدل GPT-4o برای تولید یک پاسخ فنی مختصر و مرتبط استفاده می‌کند.

چه ابزارهایی در این گردش کار استفاده می‌شوند؟

ابزارهای اصلی مورد استفاده عبارتند از: GitHub برای مدیریت کد، GPT-4o (میزبانی شده در Azure OpenAI) برای تولید پاسخ هوش مصنوعی، Notion برای ثبت و مستندسازی، و Slack برای اطلاع‌رسانی به تیم.

مزایای استفاده از این گردش کار چیست؟

مزایای اصلی شامل خودکارسازی پاسخ به سوالات متداول در بازبینی کد، صرفه‌جویی در زمان توسعه‌دهندگان، بهبود همکاری تیمی، و ایجاد یک پایگاه دانش مستند از طریق Notion است.

آیا این گردش کار برای همه انواع کامنت‌های GitHub مناسب است؟

این گردش کار به طور خاص برای شناسایی و پاسخ به کامنت‌هایی طراحی شده است که حاوی سوالات توسعه‌دهندگان هستند. کامنت‌های دیگر ممکن است پردازش نشوند یا به صورت متفاوتی مدیریت شوند.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.