إعداد مشغّلات خط الأنابيب
المشغّل هو ما يبدأ خط أنابيب. كل مشغّل عقدة على اللوحة، يُفلت من قسم المشغّلات في مكتبة العقد. تحديد تلك العقدة يفتح لوحة إعداداتها على اليمين. لا قائمة مشغّلات دائمة، ولا علامة تبويب للمشغّلات، ولا شاشة للمشغّلات.
فتح لوحة إعدادات المشغّل
قسم بعنوان “فتح لوحة إعدادات المشغّل”- انتقل إلى الإعدادات ← مساحة العمل ← قوالب خطوط الأنابيب.
- انقر أيقونة القلم في صف القالب لفتح المحرّر.
- حدّد عقدة مشغّل على اللوحة. تظهر اللوحة اليمنى بإعدادات ذلك المشغّل. إن لم يُحدَّد شيء، تبقى اللوحة اليمنى مخفية.
إضافة مشغّل
قسم بعنوان “إضافة مشغّل”يسرد قسم المشغّلات في مكتبة العقد كل نوع بداية في عقدة مستقلة: يدوي،
وجدولة، وويب هوك، وبطاقة لكل حدث نطاق. ابحث عن merged أو ticket أو اسم
النوع (PrMerged) واسحب البطاقة إلى اللوحة. يعرض القالب الجديد أيضًا بطاقة
شبحية إضافة مشغّل عند نقطة الدخول، وتختار من القائمة القابلة للبحث نفسها.
يُدرَج المشغّل فورًا. تبدأ المشغّلات التلقائية الجديدة معطّلة، حتى لا يطلق الإفلات تشغيلًا قبل أن تضبط المشغّل. فعّل مفتاح ممكّن في لوحة الإعدادات، أو احذفه بأيقونة سلة المهملات.
السماح بالتشغيل اليدوي
قسم بعنوان “السماح بالتشغيل اليدوي”أفلت تشغيل يدوي (أو اختره من البطاقة الشبحية) وفعّل ممكّن في لوحة
إعداداته. هذا ما يُظهر القالب في صفحة «تشغيل خط أنابيب». ليست هذه حالة خاصة: يكتب
المفتاح صف مشغّل عادي نوع حدثه manual. يُحفَظ فورًا، ولا شيء يحتاج إلى حفظ.
المفتاح نفسه خلف تشغيل يدوي في ترويسة المحرّر، إلى جانب المدخلات المعلنة للقالب.
عند حدث
قسم بعنوان “عند حدث”هذه الأحداث تبدأ تشغيلًا:
| تسمية المنتقي | الحدث |
|---|---|
| فُتح PR خارجي | ExternalPrDetected |
| نُشر PR | PullRequestPublished |
| تغيّرت حالة PR | PullRequestStatusChanged |
| دُمج PR | PrMerged |
| استلام رسالة | MessageReceived |
| تم إنشاء تذكرة | TicketCreated |
| تغيرت حالة التذكرة | TicketStatusChanged |
| إسناد تذكرة | TicketAssigned |
| اكتملت تذكرة | TicketCompleted |
| فشلت تذكرة | TicketFailed |
| أُلغيت تذكرة | TicketCancelled |
| تم تجاوز عتبة الميزانية | BudgetThresholdCrossed |
| أُضيف مستودع | RepoAdded |
| توقف تسجيل الاجتماع | MeetingRecordingStopped |
| تم تحديث المهارة | SkillUpdated |
| تم حذف المساحة | SpaceDeleted |
SpaceDeleted هو ما يستمع إليه خط الأنابيب المضمّن لتنظيف أشجار العمل: يحمل
معرّف المساحة المحذوفة، فيحرر التشغيل أشجار عمل تلك المساحة وحدها بدل أن يمسح
مساحة العمل كلها.
لمفاتيح الحمولة التي يحملها كل حدث، انظر مرجع أحداث النطاق.
تصفية مشغّل الحدث
قسم بعنوان “تصفية مشغّل الحدث”حدّد عقدة تغيّرت حالة PR. شرائح الحالة في لوحة الإعدادات هي المرشح الوحيد
الذي تنشئه الواجهة. انقر أيًا من merged أو closed أو approved أو
opened أو reopened، فينطلق المشغّل فقط حين تطابق قيمة status في الحدث
إحدى هذه القيم. ترك الشرائح كلها غير محددة يعني أنه لا مرشح.
لا يوجد حقل حر لمرشح JSON. مفتاح المرشح الذي لا تحمله حمولة الحدث لا يطابق أبدًا، فلا تكتب مرشحًا بيدك مقابل مفتاح لم تتأكد منه في مرجع أحداث النطاق.
وفق جدول
قسم بعنوان “وفق جدول”حدّد عقدة جدولة لتعديل موعد انطلاقها. تُحفَظ حقول لوحة الإعدادات عند مغادرتها:
| الحقل | الوصف |
|---|---|
| الجدولة (cron أو every:seconds) | تعبير cron من خمسة حقول مثل 0 9 * * 1، أو فاصل مثل every:86400. الرقم وحده يُحوَّل إلى every:<n>. |
| المنطقة الزمنية (اختياري) | منطقة IANA مثل Europe/Paris. الافتراضي UTC. |
| عند التشغيلات الفائتة | معاملة الإطلاقات التي فاتت أثناء توقف الخادم: تشغيل مرة واحدة يجمع كل الخانات الفائتة في إطلاق واحد عند إعادة الإقلاع (الافتراضي)، وتخطي يستأنف عند الخانة المستقبلية التالية. |
لا يفصّل سطر الملخص على بطاقة اللوحة الفاصل إلا لصيغة every:<seconds>،
ويظهر تعبير cron مجرد «جدولة».
عبر ويب هوك
قسم بعنوان “عبر ويب هوك”إفلات ويب هوك يولّد رمزًا عشوائيًا. حدّد العقدة لنسخ المسار
POST /webhooks/<token> من لوحة الإعدادات.
الرمز هو سر HMAC في الوقت نفسه: يجب أن يحمل الطلب
X-Hub-Signature-256: sha256=<hex>، والقيمة السداسية هي
HMAC-SHA256(body, token).
التسليم الذي يفشل التحقق يُرفض ويُسجَّل ولا يُعاد تسليمه. تُتجاهل المكررات
بمفتاح إزالة التكرار.
كل بداية عقدة مستقلة في المخطط. سحب سلك من جدولة يربط الجدولة وحدها، ويستطيع تشغيل يدوي أن يسلك مسارًا مختلفًا (عقدة شرط مثلًا) قبل أن يلتحق بالعمل نفسه. يدخل التشغيل من البداية التي تطابق نوع حدثه، ويتخطى المخططات الفرعية التي تخص البدايات الأخرى.
كيف يصل المشغّل إلى التشغيل
قسم بعنوان “كيف يصل المشغّل إلى التشغيل”المشغّل المفعّل الذي يطابق نوع حدثه ومرشحه معًا يبدأ تشغيلًا، وتُمرَّر حمولة
الحدث على أنها حمولة المشغّل في التشغيل، وهي ما يُستبدل به {{key}} في مطالبة
الخطوة أو سكربتها. الأحداث التي تحمل مفتاحًا طبيعيًا تُزال تكراراتها، فإطلاق
الحدث نفسه مرتين لا يبدأ تشغيلين.
يُرفض القالب المعطّل حتى حين يطابق مشغّله. من القوالب المضمّنة الثلاثة عشر، ثمانية تأتي معطّلة، فتنطلق مشغّلاتها المبذورة في فراغ إلى أن تفعّل القالب.
أنماط مفيدة
قسم بعنوان “أنماط مفيدة”- بوابة للمسار اليدوي فقط. مرّر تشغيل يدوي عبر عقدة شرط، وجدولة مباشرة إلى العمل. كل بداية تملك أسلاكها.
- مراجعة كل طلب سحب جديد. حدث نُشر PR على قالب
pr_review. - تنظيف بعد الدمج. حدث تغيّرت حالة PR، مُصفّى إلى
merged/closed/approved. قالبpr_merged_cleanupالمضمّن يستمع أصلًا بهذه الطريقة، إضافة إلى اكتمال التذكرة وإلغائها، وSpaceDeleted، وجدولة يومية تُفعَّل قسرًا عند كل إعادة بذر لأنها تجمع المخلفات. - مسح ليلي. جدولة
0 2 * * *مع منطقة زمنية، على قالب تكون عقدته الأولى سكربت Bash. - الاستجابة لنظام خارجي. مشغّل ويب هوك، يوقّع النظام المستدعي جسم طلبه كما سبق.