عن المشروع
تستخدم github-watcher ميزة GitHub Actions للتحقق بشكل دوري من طلبات السحب التي تم إنشاؤها حديثاً في مستودعات محددة. وتقوم الأداة بمقارنة التغييرات في ملفات طلب السحب مع أنماط محددة في ملف تكوين YAML. وعند حدوث تطابق، يتم إرسال إشعارات عبر البريد الإلكتروني إلى مجموعات المستلمين التي تم تكوينها من خلال أسرار المستودع (repository secrets).
يتطلب النظام أسراراً لبيانات اعتماد البريد الإلكتروني (كلمة مرور تطبيق Gmail أو مفتاح API الخاص بـ Resend)، وعنوان المرسل، وتعيينات المستلمين. يتم اختيار مزود البريد الإلكتروني تلقائياً بناءً على نطاق المرسل: Gmail للعناوين التي تنتهي بـ gmail.com@ أو googlemail.com@، وResend لغير ذلك.
تعمل ملفات الحالة على تتبع وقت إنشاء آخر طلب سحب تمت معالجته وأرقام طلبات السحب التي تم التنبيه بشأنها لتجنب التكرار. يعمل سير العمل (workflow) كل 30 دقيقة، ويقوم بتحديث الحالة فقط بعد نجاح تسليم البريد الإلكتروني، ويجلب الملفات المتغيرة باستخدام ما يصل إلى ثمانية عمال متزامنين. يتم معالجة طلبات السحب المنشأة حديثاً فقط.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.