GitHub Copilot · 16 خطوة

دليل إعداد مراجعة الأكواد في GitHub Copilot خطوة بخطوة

يستطيع Copilot مراجعة كل Pull Request على GitHub: اطلب مراجعة يدويًا، طبّق إصلاحاته المقترحة بنقرة واحدة، ثم اجعلها إلزامية عبر rulesets. ستة عشر خطوة مصوّرة من تسجيل الشاشة الرسمي لـ GitHub.

الخلاصة: أعدّ مراجعة أكواد Copilot بأربع حركات

  • افتح Pull Request ثم انقر Request بجوار Copilot في قائمة Reviewers. عادةً يصل تعليق الملخص والاقتراحات داخل السطور في أقل من 30 ثانية.
  • طبّق الإصلاح بزر Commit suggestion دون الحاجة إلى محرر أكواد. بعد كومِيت Copilot Autofix يعاد تشغيل فحص الكود تلقائيًا ويُغلق التنبيه.
  • لجعلها إلزامية: أنشئ ruleset مع Require a pull request before merging وفعّل خانة Automatically request Copilot code review، فيراجع Copilot كل طلب دمج جديد تلقائيًا.
  • اكتب معايير فريقك في .github/copilot-instructions.md؛ ويُثري ملف AGENTS.md في جذر المستودع وملفات .instructions.md المرتبطة بمسارات محددة ما يفحصه Copilot.

How to automate code reviews and testing with GitHub Copilot

الفيديو:GitHub4:36

فتح

Configuring code review by GitHub Copilot

الوثائق الرسمية:GitHub Docs

فتح

جميع لقطات الشاشة في هذه الصفحة من تسجيل الشاشة الرسمي لـ GitHub (مستودع تجريبي)؛ النص مكتوب بشكل مستقل وتمت مراجعة كل إعداد مقابل وثائق GitHub.

الفيديو المصدر من قناة GitHub الرسمية على يوتيوب، ومُشار إليه بروابط بطوابع زمنية. تعليقات Copilot الظاهرة في اللقطات هي محتوى تجريبي من ذلك التسجيل.

إعداد مراجعة الأكواد في GitHub Copilot خطوة بخطوة

اقرأ مراجعة Copilot على طلب الدمج

  1. 1

    افتح طلب الدمج وابحث عن Copilot في Reviewers

    يظهر Copilot في مربع Reviewers بمجرد فتح Pull Request؛ إما لأنك أضفته يدويًا أو لأن الـ ruleset طلب مراجعته تلقائيًا. وجود سطر "review requested due to automatic review settings" في الخط الزمني يؤكد عمل الأتمتة.

    GitHub pull request conversation page showing Copilot in the Reviewers sidebar and the timeline entry review requested due to automatic review settings on pull request #11
    بمجرد فتح الطلب، انضم Copilot إلى قائمة المراجعة.شاهد عند 0:10
  2. 2

    ابدأ من تعليق Pull Request Overview

    أول تعليق من Copilot هو ملخص: ما يفعله هذا الطلب، والملفات التي راجعها، وعدد التعليقات التي أوجدها. اعتبره فهرسًا لبقية المراجعة.

    Copilot pull request overview comment on GitHub describing the /publishers/search endpoint with a Reviewed Changes table listing two changed files and three generated comments
    يخبرك تعليق الملخص بما قرأه Copilot قبل أن تفتح أول ملاحظة داخل الكود.شاهد عند 0:20
  3. 3

    اقرأ التعليقات داخل السطور مع الإصلاحات المقترحة

    تسقط التعليقات داخل السطور على الأسطر المعنية تحديدًا. هذا المثال يعلّم exec() مع تنسيق السلاسل النصية كخطر حقن كود، ويرفق تحته كتلة اقتراح جاهزة للتطبيق.

    Copilot code review comment on a Python diff flagging exec() with string formatting as a serious code injection vulnerability with a suggested change calling __validate_id(publisher_id) instead
    الخطير أولًا: تنبيه الحقن يأتي مع إصلاح يُطبَّق بنقرة واحدة.شاهد عند 0:32
  4. 4

    راجع ملاحظات الأسلوب وتلميحات الأنواع

    يفرض Copilot أيضًا قواعد مستودعك — هنا يستشهد بإرشادات الترميز ويقترح التعليق النوعي المطلوب إضافته بالضبط. أزرار الإعجاب/عدم الإعجاب تقيّم التعليق وتحسّن المراجعات القادمة.

    Copilot review comment asking for a missing Python return type annotation with the exact code def search_publishers() -> tuple[dict, int] shown on a GitHub pull request diff
    ملاحظات الالتزام بالقواعد تعيد الاقتباس من إرشاداتك أنت.شاهد عند 0:52

أصلح ما ينبّه إليه Copilot وفحص الأكواد

  1. 5

    قارن نتائج Copilot مع فحص الأكواد

    يبلّغ بوت github-advanced-security عن الاستدعاء نفسه لـ exec() كتنبيه CodeQL لحقن الكود. وتحته يضيف Copilot Autofix شرحًا للثغرة وإصلاحًا مقترحًا.

    CodeQL code injection alert on server/routes/publishers.py in a GitHub pull request with a Copilot Autofix comment explaining how to remove the exec call and validate the id directly
    مراجعان على سطر واحد: CodeQL يرفع الإنذار وCopilot Autofix يكتب الوصفة.شاهد عند 1:08
  2. 6

    طبّق التغيير المقترح بنقرة واحدة

    تحمل كل كتلة اقتراح زر Commit suggestion — يدخل الإصلاح كومِيتًا جديدًا على فرع الطلب دون فتح محررك. ويمكنك أيضًا تجميع عدة اقتراحات في كومِيت واحد.

    Suggested change block on a GitHub pull request diff replacing exec(__validate_id(%s) % publisher_id) with a direct __validate_id call above the Commit suggestion button and a Review required merge box
    يكتب Commit suggestion الإصلاح مباشرة على فرع طلب الدمج.شاهد عند 1:23
  3. 7

    شاهد فحص الأكواد يعيد التشغيل تلقائيًا

    بعد تأكيد اقتراح Autofix يظهر شريط "Alert fix successfully applied"، ويكتسب الطلب كومِيتًا ثانيًا، ويعيد CodeQL فحص الفرع — فإن صح الإصلاح أُغلق التنبيه تلقائيًا.

    GitHub banner reading Alert fix successfully applied above pull request #11 which now wants to merge two commits into main from the add-functionality branch
    الإصلاح يعني إعادة الفحص: يتحقق CodeQL من الفرع بعد كومِيت الإصلاح.شاهد عند 1:46
  4. 8

    أنهِ التعليقات المتبقية من تبويب Files

    يعرض تبويب Files changed تعليقات Copilot بجوار الفروقات. افتح Apply suggestion هنا، عدّل رسالة الكومِيت إن شئت ثم أكّد — دون العودة إلى محررك.

    Apply suggestion dialog on the GitHub Files changed tab with the commit message Commit suggestion from @Copilot and a Commit changes button over a Python diff
    تبقى تعليقات المراجعة ملتصقة بالفروقات في تبويب Files، والاقتراحات ضِمنها.شاهد عند 2:02

اجعل المراجعة إلزامية عبر rulesets وتعليمات مخصصة

  1. 9

    أنشئ ruleset يطلب مراجعة Copilot تلقائيًا

    من Settings ← Rulesets ← New ruleset، استهدف الفرع الافتراضي، ووسّع Require a pull request before merging، واضبط Required approvals على 1، وفعّل خانة Automatically request Copilot code review. بعدها يحصل كل طلب دمج جديد على Copilot مراجعًا دون أن يتذكّر أحد النقر على Request.

    GitHub ruleset editor with Require a pull request before merging expanded showing Required approvals set to 1 and the Automatically request Copilot code review checkbox ticked
    الخانة التي تضع Copilot مراجعًا لكل طلب دمج جديد على الفروع المستهدفة.شاهد عند 2:26
  2. 10

    اجعل فحوصات الحالة التي تحرس الدمج إلزامية

    في الـ ruleset نفسه، فعّل Require status checks to pass وأضف مهمتي backend-tests وfrontend-tests من سير عمل GitHub Actions في المستودع. لن يكتمل الدمج قبل رؤية اللون الأخضر.

    GitHub ruleset Require status checks to pass section listing backend-tests and frontend-tests GitHub Actions workflows as required status checks for merging
    مهمتان من Actions المستودع تحرسان الآن كل عملية دمج.شاهد عند 2:32
  3. 11

    امنع الدمج عند وجود تنبيهات أمنية مفتوحة

    في الـ ruleset نفسه، فعّل Require code scanning results وأضف CodeQL مع حدّ: Security alerts: High or higher وAlerts: Errors. أي نتيجة عالية الخطورة تُجمّد الدمج حتى تُعالج.

    GitHub ruleset Require code scanning results setting with the CodeQL tool configured to block on Security alerts High or higher and Errors under Required tools and alert thresholds
    حدّ CodeQL يحدد أي التنبيهات تُجمّد طلب الدمج.شاهد عند 2:42
  4. 12

    امنح Copilot معاييرك كتابةً

    أضف .github/copilot-instructions.md إلى المستودع واشرح فيه التقنيات والقواعد — يقرأ Copilot Review هذا الملف في كل مراجعة ويستشهد بإرشاداتك في تعليقاته.

    GitHub file view of .github/copilot-instructions.md on the main branch opening the Tailspin Toys Crowd Funding Development Guidelines preview with a code standards section
    يقع الملف في مجلد .github وترثه كل مراجعات Copilot.شاهد عند 2:53

راجع طلبات الدمج التي ينشئها Copilot بنفسه

  1. 13

    عامل طلبات دمج Copilot كطلبات زميل في الفريق

    ينشئ Copilot طلبات دمج أيضًا — وكوده يستحق التدقيق ذاته. افتح طلبه، اقرأ الوصف الذي كتبه، وتأكد من اشتراط مراجعة بشرية قبل الدمج.

    Draft pull request #13 authored by Copilot from the copilot/fix-12 branch with a Copilot requested your review banner and a backend changes description on GitHub
    فتح Copilot هذا الطلب من الفرع copilot/fix-12 وطلب مراجعة بشرية.شاهد عند 3:12
  2. 14

    شغّل الفرع في codespace قبل الموافقة

    افتح codespace على فرع Copilot وشغّل التطبيق. فلتر التصنيف بالنجوم الذي بناه Copilot يعمل فعلًا — فجرّبه بدل الاكتفاء بقراءة الفروقات.

    Tailspin Toys web app running in a GitHub codespace with the rating filter set to 4+ Stars and the featured games grid filtered down to highly rated titles
    يرابط codespace فرع Copilot مباشرة — والفلتر مضبوط على 4+ stars.شاهد عند 3:42
  3. 15

    اطلب التعديلات بذكر @copilot في تعليق

    رصدت نقصًا؟ علّق على الطلب واذكر @copilot مع التفاصيل. يدفع Copilot كومِيتات متابعة إلى الطلب نفسه — دون تذمّر من اتساع النطاق.

    GitHub comment box on a Copilot authored pull request with a typed message asking copilot to fill the star display based on the decimal part of a game rating
    تعليق واحد باسم @copilot كفيل لإعادة الوكيل إلى العمل.شاهد عند 3:57
  4. 16

    وافق على تشغيل الـ workflow في طلبات Copilot

    لأسباب أمنية، تبقى Actions في طلبات Copilot بالانتظار حتى يوافق عليها إنسان. اضغط Approve workflows to run ثم انتظر تحوّل backend-tests وfrontend-tests وCodeQL إلى الأخضر قبل الدمج.

    GitHub checks panel on a Copilot pull request showing Run tests backend-tests and frontend-tests pull_request workflows queued as Required and waiting for approval
    «في الانتظار» تعني: في انتظارك أنت. طلبات Copilot تحتاج لمسة بشرية قبل تشغيل Actions.شاهد عند 4:18

مراجعة الأكواد في GitHub Copilot: أسئلة شائعة

أدلة ذات صلة