اتوماسیون گزارش باگ Zendesk در Google Sheets

اتوماسیون گزارش باگ Zendesk در Google Sheets

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

دانلود workflow

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

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

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

جمع‌آوری خودکار گزارش باگ: همگام‌سازی تیکت‌های باگ Zendesk با Google Sheets

این گردش کار (workflow) فرآیند جمع‌آوری گزارش‌های باگ از Zendesk و تجمیع آن‌ها را در یک سند Google Sheets خودکار می‌کند. این ابزار برای تیم‌های پشتیبانی و توسعه که به دنبال بهبود ردیابی باگ‌ها، اولویت‌بندی مسائل بر اساس تأثیر مشتری و ارتقاء همکاری بین تیمی هستند، ایده‌آل است.

دسته‌بندی‌ها: ردیابی باگ، پشتیبانی مشتری، اتوماسیون، همگام‌سازی داده

کاتالوگ Axeto.ai: مشاهده گردش کار

---

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

این گردش کار برای موارد زیر طراحی شده است:

1. اجرای دستی: فرآیند را در صورت نیاز آغاز کنید.

2. واکشی تیکت‌های Zendesk: تمام تیکت‌ها را از نمونه Zendesk خود بازیابی کنید.

3. فیلتر کردن برای باگ‌ها: تیکت‌هایی را که به طور خاص با برچسب "bug" علامت‌گذاری شده‌اند، جدا کنید.

4. غنی‌سازی با داده‌های گزارش‌دهنده: اطلاعات دقیق کاربر گزارش‌دهنده هر باگ را جمع‌آوری کنید.

5. به‌روزرسانی Google Sheet: یک Google Sheet را با داده‌های جمع‌آوری و غنی‌شده تیکت باگ اضافه یا به‌روزرسانی کنید.

---

تشریح گره به گره

۱. اجرای دستی

  • هدف: اجرای گردش کار را به صورت دستی آغاز می‌کند.
  • نوع گره: n8n-nodes-base.manualTrigger
  • پیکربندی: هیچ پارامتر خاصی لازم نیست.
  • اجرا: برای شروع، روی دکمه "Execute Workflow" در رابط کاربری n8n کلیک کنید.
  • خروجی: کنترل را به گره "Fetch All Zendesk Tickets" منتقل می‌کند.
  • نکته: یک یادداشت چسبان (sticky note) پیشنهاد می‌کند که این اجرای دستی پس از انتشار عمده یا در طول جلسات تریاژ مفید است. برای اتوماسیون مداوم، استفاده از یک اجرای زمان‌بندی شده را در نظر بگیرید.

۲. واکشی تمام تیکت‌های Zendesk

  • هدف: تمام تیکت‌ها را از حساب Zendesk شما بازیابی می‌کند.
  • نوع گره: n8n-nodes-base.zendesk
  • عملیات: getAll
  • بازگرداندن همه (Return All): برای اطمینان از واکشی تمام تیکت‌ها بدون محدودیت صفحه‌بندی، روی true تنظیم شده است.
  • اعتبارنامه‌ها (Credentials): به اعتبارنامه‌های API Zendesk پیکربندی شده با دسترسی خواندن به تیکت‌ها نیاز دارد.
  • ورودی: داده‌ها را از اجرای دستی دریافت می‌کند.
  • خروجی: تمام تیکت‌های واکشی شده را به گره "Filter Bug Reports Only" منتقل می‌کند.
  • موارد لبه (Edge Cases):

* محدودیت‌های نرخ API یا خطاهای احراز هویت می‌تواند مانع بازیابی داده‌ها شود.

* تعداد بسیار زیاد تیکت‌ها ممکن است منجر به قطع شدن یا عملکرد کند شود.

  • یادداشت چسبان: "Zendesk Data Source" جزئیات مربوط به داده‌های بازیابی شده و مجوزهای لازم را ارائه می‌دهد.

۳. فیلتر کردن فقط گزارش‌های باگ

  • هدف: تیکت‌های واکشی شده را فیلتر می‌کند تا فقط آن‌هایی را که با برچسب "bug" علامت‌گذاری شده‌اند، شامل شود.
  • نوع گره: n8n-nodes-base.if
  • شرط:

* عبارت (Expression): $json.tags[0] === "bug"

* حساس به حروف بزرگ و کوچک (Case Sensitive): فعال.

  • منطق: این شرط بررسی می‌کند که آیا اولین برچسب در آرایه tags یک تیکت دقیقاً "bug" است یا خیر.
  • ورودی: تمام تیکت‌ها را از گره "Fetch All Zendesk Tickets" دریافت می‌کند.
  • خروجی:

* شاخه True: تیکت‌هایی را که شرط برآورده شده است (یعنی باگ هستند) به گره "Get Bug Reporter Info" منتقل می‌کند.

* شاخه False: تیکت‌هایی که شرط را برآورده نمی‌کنند، حذف می‌شوند.

  • موارد لبه:

* تیکت‌هایی که برچسب ندارند یا آرایه tags خالی دارند ممکن است باعث خطاهای عبارت یا رد شدن شوند.

* تیکت‌هایی که با "bug" برچسب‌گذاری شده‌اند اما اولین برچسب نیستند، حذف خواهند شد.

* ممکن است برای مدیریت تغییرات مانند "Bug"، "bug report" یا چندین برچسب مرتبط با باگ، سفارشی‌سازی لازم باشد.

  • یادداشت چسبان: "Bug Identification" منطق فیلتر را توضیح می‌دهد و ایده‌های سفارشی‌سازی را برای قراردادهای مختلف برچسب‌گذاری پیشنهاد می‌کند.

۴. دریافت اطلاعات گزارش‌دهنده باگ

  • هدف: هر تیکت باگ را با اطلاعات دقیق در مورد گزارش‌دهنده غنی می‌کند.
  • نوع گره: n8n-nodes-base.zendesk
  • منبع (Resource): user
  • عملیات: get
  • شناسه (ID): به طور پویا با استفاده از عبارت {{$json.requester_id}} از داده‌های تیکت باگ ورودی تنظیم می‌شود.
  • اعتبارنامه‌ها: از همان اعتبارنامه‌های API Zendesk که قبلاً پیکربندی شده‌اند استفاده می‌کند.
  • ورودی: تیکت‌های باگ فیلتر شده را از گره "Filter Bug Reports Only" (شاخه True) دریافت می‌کند.
  • خروجی: داده‌های تیکت غنی‌شده (شامل جزئیات گزارش‌دهنده) را به گره "Update Bug Tracking Sheet" منتقل می‌کند.
  • موارد لبه:

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

* محدودیت‌های نرخ API یا مشکلات احراز هویت ممکن است رخ دهد.

* تغییرات در داده‌های کاربر در Zendesk ممکن است بر اطلاعات بازیابی شده تأثیر بگذارد.

  • یادداشت چسبان: "Customer Impact Tracking" بر اهمیت این غنی‌سازی برای تجزیه و تحلیل تأثیر باگ و اولویت‌بندی رفع اشکالات تأکید می‌کند.

۵. به‌روزرسانی برگه ردیابی باگ

  • هدف: ردیف‌ها را در یک Google Sheet با داده‌های تیکت باگ غنی‌شده اضافه یا به‌روزرسانی می‌کند و یک داشبورد مرکزی باگ را حفظ می‌کند.
  • نوع گره: n8n-nodes-base.googleSheets
  • عملیات: appendOrUpdate
  • شناسه سند (Document ID): شناسه Google Sheet هدف خود را مشخص کنید.
  • نام برگه (Sheet Name): نام برگه را مشخص کنید یا از gid=0 برای اولین برگه استفاده کنید.
  • ستون‌های منطبق (Matching Columns): روی "Description" تنظیم شده است تا توضیحات تیکت به عنوان یک کلید منحصر به فرد برای به‌روزرسانی ردیف‌های موجود و جلوگیری از تکراری‌ها استفاده شود.
  • نگاشت ستون (Column Mapping):

* Tag: {{ $('Filter Bug Reports Only').item.json.tags[0] || 'No tags' }}

* email: {{$json.email}} (از داده‌های کاربر گزارش‌دهنده)

* owner: {{$json.name}} (از نام کاربر گزارش‌دهنده)

* Status: {{ $('Filter Bug Reports Only').item.json.status }}

* Ticket No.: {{ $('Filter Bug Reports Only').item.json.id }}

* Description: {{ $('Filter Bug Reports Only').item.json.description }}

  • حالت نگاشت (Mapping Mode): defineBelow (نگاشت ستون صریح).
  • تلاش برای تبدیل انواع (Attempt To Convert Types): برای اطمینان از ذخیره داده‌ها به صورت رشته، روی false تنظیم شده است.
  • اعتبارنامه‌ها: به اعتبارنامه‌های OAuth2 Google Sheets با مجوزهای ویرایش برای صفحه گسترده هدف نیاز دارد.
  • ورودی: داده‌های تیکت باگ غنی‌شده را از گره "Get Bug Reporter Info" دریافت می‌کند.
  • خروجی: این گره نهایی است؛ اجرای آن نشان‌دهنده پایان اجرای گردش کار است.
  • موارد لبه:

* توضیحات یکسان ممکن است منجر به به‌روزرسانی‌های غیرمنتظره یا بازنویسی شود.

* فیلدهای گم شده در داده‌های ورودی می‌تواند منجر به ردیف‌های ناقص شود.

* محدودیت‌های API Google Sheets یا خطاهای مجوز می‌تواند باعث شکست به‌روزرسانی شود.

  • یادداشت چسبان: "Bug Dashboard Update" جزئیات اطلاعات ردیابی شده در برگه و مزایای آن برای تیم را شرح می‌دهد.

---

جدول خلاصه

نام گره (Node Name)نوع گره (Node Type)نقش عملکردی (Functional Role)گره(های) ورودی (Input Node(s))گره(های) خروجی (Output Node(s))یادداشت چسبان (Sticky Note)
Manual TriggermanualTriggerگردش کار را به صورت دستی آغاز می‌کندNoneFetch All Zendesk Ticketsاجرای دستی: پس از انتشار، در طول تریاژ به صورت دستی اجرا کنید؛ برای اتوماسیون، اجرای زمان‌بندی شده را توصیه کنید.
Fetch All Zendesk Ticketszendeskتمام تیکت‌ها را از Zendesk بازیابی می‌کندManual TriggerFilter Bug Reports Onlyمنبع داده Zendesk: اطمینان از داشتن مجوزهای خواندن اعتبارنامه‌های API؛ تیکت‌ها را با فراداده بازیابی می‌کند.
Filter Bug Reports Onlyifتیکت‌ها را فقط برای آن‌هایی که برچسب "bug" دارند فیلتر می‌کندFetch All Zendesk TicketsGet Bug Reporter Infoشناسایی باگ: بر اساس اولین برچسب "bug" فیلتر می‌کند؛ برای برچسب‌های بیشتر قابل سفارشی‌سازی است.
Get Bug Reporter Infozendeskتیکت‌ها را با اطلاعات کاربر گزارش‌دهنده غنی می‌کندFilter Bug Reports Only (True)Update Bug Tracking Sheetردیابی تأثیر مشتری: نام و ایمیل گزارش‌دهنده را برای تجزیه و تحلیل تأثیر و اولویت‌بندی اضافه می‌کند.
Update Bug Tracking SheetgoogleSheetsردیف‌ها را در صفحه گسترده ردیابی باگ به‌روزرسانی/ایجاد می‌کندGet Bug Reporter InfoNoneبه‌روزرسانی داشبورد باگ: توضیحات را به عنوان کلید منحصر به فرد استفاده می‌کند؛ شناسه باگ، وضعیت، جزئیات گزارش‌دهنده و برچسب‌ها را ردیابی می‌کند.

---

بازتولید گردش کار

1. افزودن اجرای دستی:

* نام گره: "Start Workflow"

* نوع: Manual Trigger

2. افزودن گره Zendesk (واکشی تیکت‌ها):

* نام گره: "Fetch All Zendesk Tickets"

* نوع: Zendesk

* عملیات: getAll

* "Return All" را روی true تنظیم کنید.

* اعتبارنامه‌های API Zendesk را پیکربندی کنید.

* اجرای دستی را به این گره متصل کنید.

3. افزودن گره If (فیلتر باگ‌ها):

* نام گره: "Filter Bug Reports Only"

* نوع: If

* شرط:

* عبارت: $json.tags[0] === "bug"

* اطمینان حاصل کنید که "Case Sensitive" فعال است.

* "Fetch All Zendesk Tickets" را به این گره متصل کنید.

4. افزودن گره Zendesk (دریافت اطلاعات گزارش‌دهنده):

* نام گره: "Get Bug Reporter Info"

* نوع: Zendesk

* منبع: User

* عملیات: Get

* شناسه: {{$json.requester_id}}

* خروجی "True" گره "Filter Bug Reports Only" را به این گره متصل کنید.

* از همان اعتبارنامه‌های Zendesk استفاده کنید.

5. افزودن گره Google Sheets (به‌روزرسانی برگه):

* نام گره: "Update Bug Tracking Sheet"

* نوع: Google Sheets

* عملیات: appendOrUpdate

* شناسه سند و نام برگه Google Sheet خود را ارائه دهید.

* ستون‌های منطبق (Matching Columns): Description

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

* اعتبارنامه‌های OAuth2 Google Sheets را پیکربندی کنید.

* "Get Bug Reporter Info" را به این گره متصل کنید.

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

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

این گردش کار n8n چه کاری انجام می‌دهد؟

این گردش کار به طور خودکار تیکت‌های باگ را از Zendesk دریافت کرده، آن‌ها را بر اساس برچسب "bug" فیلتر می‌کند، اطلاعات گزارش‌دهنده را اضافه کرده و در نهایت همه این اطلاعات را در یک Google Sheet ذخیره می‌کند.

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

شما به یک حساب Zendesk با دسترسی به API و یک حساب Google با دسترسی به Google Sheets نیاز دارید. همچنین باید n8n را راه‌اندازی کرده و اعتبارنامه‌های لازم را برای هر دو سرویس پیکربندی کنید.

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

گره "Filter Bug Reports Only" در حال حاضر بر اساس اولین برچسب "bug" فیلتر می‌کند. شما می‌توانید این منطق را در گره "IF" سفارشی‌سازی کنید تا انواع دیگر برچسب‌های مرتبط با باگ (مانند "Bug Report" یا "Issue") را نیز در نظر بگیرد یا از عبارات پیچیده‌تری استفاده نمایید.

آیا این گردش کار می‌تواند به صورت زمان‌بندی شده اجرا شود؟

بله، در حالی که این گردش کار با یک گره "Manual Trigger" شروع می‌شود، شما می‌توانید آن را با یک گره "Cron" جایگزین کنید تا به صورت خودکار و در فواصل زمانی مشخص اجرا شود.

workflowهای مرتبط

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