Skip to content
SEO Optimizer is live, Audit on page SEO and AI-search readiness. Try it free

سير العمل

فحوصات طلبات السحب

يفحص Scanverra كل طلب سحب، ويعلّق بالمشكلات الحرجة والعالية التي يضيفها، ويضبط فحص الحالة scanverra/repo-scan. المشكلات الموجودة مسبقًا في الفرع الهدف لا تمنع الدمج أبدًا.

يتطلب خطة مدفوعة وحساب GitHub مرتبطًا وصلاحية المسؤول على المستودع، لأن Scanverra يضيف إليه webhook.

الإعداد

  1. 1

    اربط GitHub

    من صفحة Repo Scanner، اربط حساب GitHub الذي يملك صلاحية المسؤول على المستودع.
  2. 2

    افتح فحوصات طلبات السحب

    انقر أيقونة طلب السحب بجوار زر الفحص الخاص بالمستودع.
  3. 3

    اختر متى يتم الفحص

    فحص طلبات السحب مفعّل افتراضيًا. فعّل فحص عمليات الدفع إلى الفروع لفحص عمليات الدفع إلى الفروع التي تحددها أيضًا، مثل main, production. ثم انقر تفعيل.
  4. 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.