فعال‌سازی و غیرفعال‌سازی خودکار گردش کار n8n با API

فعال‌سازی و غیرفعال‌سازی خودکار گردش کار n8n با API

10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۷

دانلود workflow

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

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

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

فعال‌سازی و غیرفعال‌سازی گردش کار به صورت خودکار با API n8n

این گردش کار نشان می‌دهد که چگونه با استفاده از نود داخلی API n8n، یک گردش کار خاص n8n را بر اساس یک برنامه زمان‌بندی شده به صورت خودکار فعال و غیرفعال کنید. این روش برای شیوه‌های DevOps، مدیریت مصرف منابع یا همسو کردن اجرای گردش کار با ساعات کاری ایده‌آل است.

موارد استفاده کلیدی:

  • اتوماسیون ساعات کاری: فعال‌سازی گردش کارها در ابتدای روز کاری (مثلاً ساعت ۸:۰۰ صبح) و غیرفعال‌سازی آن‌ها در پایان روز (مثلاً ساعت ۸:۰۰ شب).
  • مدیریت منابع: غیرفعال کردن موقت گردش کارهای پرمصرف در ساعات اوج مصرف یا دوره‌های نگهداری.
  • عملیات زمان‌بندی شده: اطمینان از اجرای گردش کارها فقط در صورت نیاز، کاهش اجرای غیرضروری و هزینه‌های احتمالی.

پیش‌نیازها:

  • دسترسی به اعتبارنامه‌های API n8n. این قابلیت برای کاربران آزمایشی در دسترس نیست. برای جزئیات به مستندات API n8n مراجعه کنید.

---

تشریح گردش کار

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

1. تریگرهای زمان‌بندی شده: فرآیندهای فعال‌سازی و غیرفعال‌سازی را در زمان‌های از پیش تعیین شده آغاز می‌کنند.

2. شناسایی گردش کار: گردش کار هدف را برای مدیریت مشخص می‌کند.

3. ادغام داده‌ها: رویدادهای تریگر را با شناسه گردش کار برای فراخوانی‌های API ترکیب می‌کند.

4. تعامل با API n8n: دستورات فعال‌سازی یا غیرفعال‌سازی را از طریق API n8n اجرا می‌کند.

5. مستندات و راهنمایی: یادداشت‌های چسبان (Sticky Notes) دستورالعمل‌های ضروری راه‌اندازی و هشدارها را ارائه می‌دهند.

---

۱. تریگرهای زمان‌بندی شده

دو نود Schedule Trigger برای راه‌اندازی گردش کار در زمان‌های مشخص روزانه استفاده می‌شوند.

  • فعال‌سازی در ساعت ۰۸:۰۰ روزانه:

* نوع نود: n8n-nodes-base.scheduleTrigger

* هدف: گردش کار را برای فعال کردن یک گردش کار هدف در ساعت ۸ صبح هر روز راه‌اندازی می‌کند.

پیکربندی: از یک عبارت cron سفارشی استفاده می‌کند: 0 8 (دقیقه ۰، ساعت ۸، هر روز).

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

  • غیرفعال‌سازی در ساعت ۲۰:۰۰ روزانه:

* نوع نود: n8n-nodes-base.scheduleTrigger

* هدف: گردش کار را برای غیرفعال کردن یک گردش کار هدف در ساعت ۸ شب (۲۰:۰۰) هر روز راه‌اندازی می‌کند.

پیکربندی: از یک عبارت cron سفارشی استفاده می‌کند: 0 20 (دقیقه ۰، ساعت ۲۰، هر روز).

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

نکته: اگر نمونه n8n در زمان برنامه‌ریزی شده در دسترس نباشد، رویداد تریگر از دست خواهد رفت.

---

۲. شناسایی گردش کار

یک نود Set برای تعریف شناسه گردش کاری که قصد فعال یا غیرفعال کردن آن را دارید، استفاده می‌شود.

  • شناسه گردش کار (Workflow ID):

* نوع نود: n8n-nodes-base.set

* هدف: workflowID را به عنوان یک متغیر ثابت ذخیره می‌کند.

* پیکربندی: مقداری را به پارامتر workflowID اختصاص می‌دهد (به عنوان مثال، "cGqPi5Uy2u1ShmoO"). این شناسه مثال را با شناسه واقعی گردش کار هدف خود جایگزین کنید. می‌توانید شناسه گردش کار را در URL هنگام مشاهده گردش کار در رابط کاربری n8n پیدا کنید.

* خروجی: workflowID را به نودهای بعدی منتقل می‌کند.

---

۳. ادغام داده‌ها

نودهای Merge برای ترکیب سیگنال‌های تریگر با داده‌های workflowID استفاده می‌شوند و محموله لازم برای فراخوانی‌های API را آماده می‌کنند.

  • ادغام شناسه گردش کار برای فعال‌سازی:

* نوع نود: n8n-nodes-base.merge

* هدف: خروجی تریگر "فعال‌سازی در ساعت ۰۸:۰۰ روزانه" و نود "شناسه گردش کار" را ادغام می‌کند.

* پیکربندی: برای ادغام داده‌های ورودی روی حالت "Combine" تنظیم شده است.

* خروجی: یک شیء داده ترکیبی شامل اطلاعات تریگر و workflowID.

  • ادغام شناسه گردش کار برای غیرفعال‌سازی:

* نوع نود: n8n-nodes-base.merge

* هدف: خروجی تریگر "غیرفعال‌سازی در ساعت ۲۰:۰۰ روزانه" و نود "شناسه گردش کار" را ادغام می‌کند.

* پیکربندی: روی حالت "Combine" تنظیم شده است.

* خروجی: یک شیء داده ترکیبی برای فراخوانی API غیرفعال‌سازی.

---

۴. تعامل با API n8n

نود n8n (نود API داخلی) برای ارسال دستورات به API n8n جهت کنترل وضعیت گردش کار هدف استفاده می‌شود.

  • فعال‌سازی n8n:

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

* هدف: یک درخواست API برای فعال کردن گردش کار مشخص شده ارسال می‌کند.

* پیکربندی:

* عملیات (Operation): activate

* شناسه گردش کار (Workflow ID): به صورت پویا با استفاده از یک عبارت تنظیم می‌شود: ={{ $json.workflowID }}. این شناسه را از داده‌های ادغام شده می‌خواند.

* اعتبارنامه‌ها (Credentials): نیاز به اعتبارنامه‌های API n8n از پیش پیکربندی شده دارد (به عنوان مثال، با استفاده از کلید API). اطمینان حاصل کنید که اعتبارنامه‌های شما به درستی نام‌گذاری شده‌اند (به عنوان مثال، "n8n acc for Gitlab/hub sync of repos").

* ورودی: شیء داده ترکیبی را از نود ادغام فعال‌سازی دریافت می‌کند.

* خروجی: پاسخ API، که معمولاً موفقیت یا شکست را نشان می‌دهد.

  • غیرفعال‌سازی n8n:

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

* هدف: یک درخواست API برای غیرفعال کردن گردش کار مشخص شده ارسال می‌کند.

* پیکربندی:

* عملیات (Operation): deactivate

* شناسه گردش کار (Workflow ID): به صورت پویا با استفاده از یک عبارت تنظیم می‌شود: ={{ $json.workflowID }}.

* اعتبارنامه‌ها (Credentials): از همان اعتبارنامه‌های API n8n نود فعال‌سازی استفاده می‌کند.

* ورودی: شیء داده ترکیبی را از نود ادغام غیرفعال‌سازی دریافت می‌کند.

* خروجی: پاسخ API.

مشکلات احتمالی:

  • خطاهای احراز هویت: اعتبارنامه‌های API نامعتبر یا گم شده.
  • خطاهای مجوز: کلید API استفاده شده مجوز کافی برای مدیریت گردش کارها را ندارد.
  • گردش کار یافت نشد: workflowID ارائه شده نادرست است یا وجود ندارد.
  • خطاهای شبکه/مهلت زمانی (Timeout): مشکلات مربوط به اتصال شبکه یا مهلت زمانی درخواست API.

---

۵. مستندات و راهنمایی (یادداشت‌های چسبان)

چندین نود Sticky Note برای ارائه اطلاعات حیاتی گنجانده شده‌اند:

  • دستورالعمل‌های شناسه گردش کار: کاربران را در مورد نحوه یافتن شناسه گردش کار در URL راهنمایی می‌کند.
  • راه‌اندازی زمان‌بندی: استفاده از فواصل cron سفارشی برای زمان‌بندی را توصیه می‌کند و به مستندات مربوطه پیوند می‌دهد.
  • راه‌اندازی اعتبارنامه‌های API: دستورالعمل‌هایی را برای ایجاد کلید API و پیکربندی اعتبارنامه‌های n8n ارائه می‌دهد.
  • هشدار برای کاربران آزمایشی: به وضوح بیان می‌کند که این گردش کار به دلیل محدودیت‌های API برای حساب‌های آزمایشی کار نخواهد کرد.
  • یادداشت زمان‌بندی عمومی: زمینه‌ای را برای همسو کردن فعالیت گردش کار با نیازهای عملیاتی ارائه می‌دهد.
  • یادآوری فعال‌سازی: یادآوری برای اطمینان از فعال بودن خود این گردش کار برای اجرای زمان‌بندی آن.

---

جدول خلاصه

نام نود (Node Name)نوع نود (Node Type)نقش عملکردی (Functional Role)نود(های) ورودی (Input Node(s))نود(های) خروجی (Output Node(s))اطلاعات کلیدی یادداشت چسبان (Key Sticky Note Information)
Activate at 08:00 Dailyn8n-nodes-base.scheduleTriggerفعال‌سازی تریگر در ساعت ۰۸:۰۰ روزانهNoneWorkflow IDاز بازه زمانی سفارشی (cron) استفاده کنید.
Deactivate at 20:00 Dailyn8n-nodes-base.scheduleTriggerغیرفعال‌سازی تریگر در ساعت ۲۰:۰۰ روزانهNoneWorkflow ID
Workflow IDn8n-nodes-base.setتعریف شناسه گردش کار هدفActivate at 08:00 Daily, Deactivate at 20:00 Daily (از طریق ادغام)Merge in Workflow ID for activation, Merge in Workflow ID for deactivationشناسه را در URL گردش کار پیدا کنید. !مثال شناسه گردش کار
Merge in Workflow ID for activationn8n-nodes-base.mergeترکیب تریگر فعال‌سازی و شناسه گردش کارWorkflow ID, Activate at 08:00 Dailyn8n Activate
Merge in Workflow ID for deactivationn8n-nodes-base.mergeترکیب تریگر غیرفعال‌سازی و شناسه گردش کارWorkflow ID, Deactivate at 20:00 Dailyn8n Deactivate
n8n Activaten8n-nodes-base.n8nفعال‌سازی گردش کار هدف از طریق APIMerge in Workflow ID for activationNoneنیاز به نود n8n و اعتبارنامه API دارد.
n8n Deactivaten8n-nodes-base.n8nغیرفعال‌سازی گردش کار هدف از طریق APIMerge in Workflow ID for deactivationNoneنیاز به نود n8n و اعتبارنامه API دارد.
Sticky Note (ID Instructions)n8n-nodes-base.stickyNoteدستورالعمل: نحوه یافتن شناسه گردش کارNoneNoneشناسه را در URL گردش کار پیدا کنید. !مثال شناسه گردش کار
Sticky Note (Schedule Instructions)n8n-nodes-base.stickyNoteدستورالعمل: راه‌اندازی زمان‌بندیNoneNoneاز بازه زمانی سفارشی (cron) استفاده کنید.
Sticky Note (Credentials Instructions)n8n-nodes-base.stickyNoteدستورالعمل: راه‌اندازی اعتبارنامه APINoneNoneکلید API را ایجاد کنید: https://docs.n8n.io/api/authentication/. نیاز به نود n8n دارد.
Sticky Note (Trial Warning)n8n-nodes-base.stickyNoteهشدار: برای کاربران آزمایشی کار نمی‌کندNoneNoneبرای کاربران آزمایشی کار نخواهد کرد (API در دسترس نیست). به https://docs.n8n.io/api/ مراجعه کنید.
Sticky Note (General Scheduling)n8n-nodes-base.stickyNoteیادداشت کلی در مورد زمان‌بندی فعالیت گردش کارNoneNoneفعالیت گردش کار را با نیازهای عملیاتی هماهنگ کنید.
Sticky Note (Activate This)n8n-nodes-base.stickyNoteیادآوری برای فعال کردن این گردش کارNoneNoneاین گردش کار را برای فعال کردن زمان‌بندی آن فعال کنید.

---

بازسازی گردش کار

برای ساخت این گردش کار از ابتدا:

1. افزودن گره‌های فعال‌ساز زمان‌بندی:

یک گره Schedule Trigger اضافه کنید. عبارت cron آن را روی 0 8 تنظیم کرده و برچسب "فعال‌سازی در ساعت 08:00 روزانه" را به آن بدهید.

یک گره Schedule Trigger دیگر اضافه کنید. عبارت cron آن را روی 0 20 تنظیم کرده و برچسب "غیرفعال‌سازی در ساعت 20:00 روزانه" را به آن بدهید.

2. افزودن گره شناسه گردش کار:

* یک گره Set اضافه کنید. نام آن را "شناسه گردش کار" بگذارید. در پارامترهای آن، یک کلید workflowID اضافه کرده و مقدار آن را به شناسه گردش کاری که می‌خواهید کنترل کنید تنظیم کنید (مثلاً "YOUR_WORKFLOW_ID_HERE").

3. افزودن گره‌های ادغام:

* یک گره Merge اضافه کنید. فعال‌ساز "فعال‌سازی در ساعت 08:00 روزانه" و گره "شناسه گردش کار" را به ورودی‌های آن متصل کنید. حالت را روی "Combine" تنظیم کنید. برچسب آن را "ادغام شناسه گردش کار برای فعال‌سازی" بگذارید.

* یک گره Merge دیگر اضافه کنید. فعال‌ساز "غیرفعال‌سازی در ساعت 20:00 روزانه" و گره "شناسه گردش کار" را به ورودی‌های آن متصل کنید. حالت را روی "Combine" تنظیم کنید. برچسب آن را "ادغام شناسه گردش کار برای غیرفعال‌سازی" بگذارید.

4. افزودن گره‌های API n8n:

* یک گره n8n اضافه کنید. آن را برای عملیات activate پیکربندی کنید. پارامتر "شناسه گردش کار" را روی ={{ $json.workflowID }} تنظیم کنید. اعتبارنامه‌های API n8n خود را انتخاب کنید. برچسب آن را "فعال‌سازی n8n" بگذارید.

* یک گره n8n دیگر اضافه کنید. آن را برای عملیات deactivate پیکربندی کنید. پارامتر "شناسه گردش کار" را روی ={{ $json.workflowID }} تنظیم کنید. از همان اعتبارنامه‌های API n8n استفاده کنید. برچسب آن را "غیرفعال‌سازی n8n" بگذارید.

5. اتصال گره‌ها:

* "فعال‌سازی در ساعت 08:00 روزانه" -> "ادغام شناسه گردش کار برای فعال‌سازی" -> "فعال‌سازی n8n" را متصل کنید.

* "غیرفعال‌سازی در ساعت 20:00 روزانه" -> "ادغام شناسه گردش کار برای غیرفعال‌سازی" -> "غیرفعال‌سازی n8n" را متصل کنید.

6. افزودن یادداشت‌های چسبان:

* گره‌های Sticky Note را اضافه کرده و آن‌ها را با دستورالعمل‌ها و هشدارها همانطور که در بخش ۵ توضیح داده شده است، پر کنید.

7. فعال‌سازی این گردش کار:

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

شما می‌توانید این گردش کار و سایر موارد را در کاتالوگ Axeto پیدا کنید: https://axeto.ai/n8n.

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

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

چگونه می‌توانم گردش کار n8n را با استفاده از API فعال یا غیرفعال کنم؟

شما می‌توانید با استفاده از نود داخلی n8n (API node) و ارسال درخواست‌های مناسب به API، گردش کارهای خود را فعال یا غیرفعال کنید. این گردش کار نمونه‌ای از نحوه انجام این کار را نشان می‌دهد.

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

شما به اعتبارنامه‌های API n8n نیاز دارید. این قابلیت برای کاربران آزمایشی در دسترس نیست. همچنین باید شناسه گردش کار مورد نظر خود را بدانید.

چگونه می‌توانم شناسه گردش کار (Workflow ID) را پیدا کنم؟

شناسه گردش کار را می‌توانید در URL مرورگر خود هنگام مشاهده گردش کار در رابط کاربری n8n پیدا کنید.

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

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

workflowهای مرتبط

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