سير العمل
فحوصات طلبات السحب
يفحص Scanverra كل طلب سحب، ويعلّق بالمشكلات الحرجة والعالية التي يضيفها، ويضبط فحص الحالة scanverra/repo-scan. المشكلات الموجودة مسبقًا في الفرع الهدف لا تمنع الدمج أبدًا.
الإعداد
- 1
اربط GitHub
من صفحة Repo Scanner، اربط حساب GitHub الذي يملك صلاحية المسؤول على المستودع. - 2
افتح فحوصات طلبات السحب
انقر أيقونة طلب السحب بجوار زر الفحص الخاص بالمستودع. - 3
اختر متى يتم الفحص
فحص طلبات السحب مفعّل افتراضيًا. فعّل فحص عمليات الدفع إلى الفروع لفحص عمليات الدفع إلى الفروع التي تحددها أيضًا، مثلmain, production. ثم انقر تفعيل. - 4
اجعل الفحص إلزاميًا (اختياري)
في GitHub، افتح Settings ثم Branches، وأضف قاعدة للفرع الرئيسي واشترط فحص الحالةscanverra/repo-scan. عندها لا يمكن دمج طلبات السحب التي تضيف مشكلات حرجة أو عالية.
ما الذي يقيسه الفحص
يُقارن كل فحص بأحدث فحص لـالفرع الهدف لطلب السحب. تُطابق النتائج حسب الأداة والقاعدة والملف (لا السطر)، لذا لا يصبح الكود القديم جديدًا عند نقله. تكون الحالة failure فقط عندما يضيف الطلب مشكلات حرجة أو عالية، وerror إن لم يكتمل الفحص. يحتفظ Scanverra بتعليق واحد لكل طلب ويحدّثه مع كل دفع.
### ❌ Scanverra: 2 new critical or high issues Score 72/100 · quality gate passed · compared with the latest scan of `main` | Severity | Issue | | --- | --- | | 🔴 critical | Hardcoded API key (`src/lib/payments.ts:12`) | | 🟠 high | SQL query built from user input (`src/api/orders.ts:48`) | 5 critical or high issues were already on `main` and don't block this PR. Open the full report. From there you can open a fix pull request for the issues Scanverra can fix.
فحوصات طلبات السحب أم GitHub Action؟
كلاهما يستخدم الفاحص نفسه. اختر ما يناسب طريقة عملك.
| فحوصات طلبات السحب | GitHub Action | |
|---|---|---|
| الإعداد | مفتاح تفعيل في Scanverra. دون ملف workflow. | ملف workflow وسر في المستودع. |
| مكان التشغيل | على Scanverra بعد أن يرسل GitHub الـ webhook. | على مشغّل GitHub Actions الخاص بك. |
| المعيار | مشكلات حرجة أو عالية جديدة مقارنة بالفرع الهدف. | fail-on حسب الخطورة، أو fail-on-new لمعيار الكود الجديد نفسه. |
| النتائج | تعليق على الطلب وفحص حالة وتقرير Scanverra. | سجل المهمة وSARIF في code scanning وتقرير Scanverra عند الرفع. |
الـ Action موثّق في CI/CD.
حل المشكلات
لا يظهر شيء على طلب السحب
في GitHub، افتح Settings للمستودع ثم Webhooks، وتحقق من آخر تسليم إلى Scanverra. الرمز 401 يعني أن سر الـ webhook تغيّر: أوقف الفحوصات ثم فعّلها مجددًا.
«لم يسمح GitHub بإضافة webhook إلى هذا المستودع»
الحساب المرتبط ليس مسؤولًا عن المستودع. اربط حسابًا مسؤولًا، أو اطلب من مسؤول تفعيل الفحوصات.
توقفت الفحوصات بعد تغيير الخطة
لا تعمل الفحوصات عبر الـ webhook إلا في الخطط المدفوعة. تبقى إعداداتك محفوظة وتعود للعمل عندما تصبح الخطة نشطة.
تُحسب كل مشكلة على أنها جديدة
لا يوجد فحص سابق للفرع الهدف للمقارنة. افحصه مرة من صفحة Repo Scanner، أو فعّل فحص عمليات الدفع إلى الفروع لـ
main.