| الملخص | يتيح Discourse Code Review إمكانية مراجعة توقيعات GitHub على Discourse. | |
| رابط المستودع | https://github.com/discourse/discourse-code-review | |
| دليل التثبيت | كيفية تثبيت الإضافات في Discourse |
الميزات
ما هي؟
توفر إضافة Discourse Code Review تكاملاً ثنائي الاتجاه مع مستودعات أكواد GitHub. تتيح لفريقك مراجعة التوقيعات (commits) في مستودع معين بالاستفادة من ميزات Discourse والإضافات مثل الإسناد (assign)، والهمسات (whispers)، والإشعارات، وسير العمل المخصص، وغير ذلك. يصبح كل توقيع في المستودع موضوعاً. تُرسل الردود على الموضوع إلى GitHub. التكامل ثنائي الاتجاه، مما يعني أنه يمكنك التعليق على Discourse ورؤيته في GitHub، أو التعليق في GitHub ورؤيته في Discourse.
توفر سير عمل قوي جداً للفريق الذي يحتاج إلى مراجعة جميع التوقيعات في أي عدد من المستودعات.
تتيح لك التأكد من أن أعضاء الفريق المتعددين على علم بجميع التغييرات المطبقة على المستودعات. يمكنك تحديد التوقيعات للمتابعة، وإسناد أعمال المراجعة، والمزيد.
ملاحظة: عند عرض موضوع يمكن الموافقة عليه، يمكنك استخدام زر y على لوحة المفاتيح للموافقة على التوقيعات بشكل أسرع.
هل يمكنني رؤيته في العمل؟
يستخدم Discourse هذه الإضافة داخلياً لتتبع المستودعات. يمكنك رؤية مثال على جانب Discourse هنا:
على GitHub، يبدو نفس الموضوع هكذا:
التكوين
تعتمد الإضافة على Webhooks من GitHub لاكتشاف المستودعات والتغييرات على المستودعات. للتكوين الحد الأدنى، ستحتاج إلى تعيين الإعداد التالي إلى سلسلة سرية.
code review github webhook secret
بعد تعيينه على مستودع GitHub الخاص بك، اضبط webhook مع:
عنوان الحمولة (Payload URL): https://YOUR_DISCOURSE/code-review/webhook
نوع المحتوى (Content Type): application/json
السرية (Secret): قيمة code review github webhook secret
أنواع الأحداث (Event Types):
- تعليقات التوقيع
- تعليقات القضايا
- طلبات السحب (Pull requests)
- مراجعات طلبات السحب
- تعليقات مراجعات طلبات السحب
- الدفعات (Pushes)
توفر الإضافة الإعدادات الإضافية التالية للموقع:
code review api username : يكون GitHub صارماً جداً في عدد طلبات API المجهولة التي يسمح بها، ويتيح لك هذا الإعداد استخدام مفاتيح حساب مستخدم Discourse لطلبات /comments و /commit. يقلل هذا بشكل كبير من احتمالات الوصول إلى حدود المعدل.
code review catch up commits : عدد التوقيعات التي يجب “مسايرتها” وإنشاء مواضيع لها عند مواجهة مستودع جديد.
code review default parent category: اختر فئة أبوية افتراضية للفئات التي تنشئها الإضافة
code review pending tag: الوسم الذي سيتم تطبيقه على جميع التوقيعات غير المراجعة، pending افتراضياً
code review approved tag: الوسم الذي سيتم تطبيقه على التوقيعات المعتمدة، approved افتراضياً
code_review_followup_tag: الوسم الذي سيتم تطبيقه على توقيعات المتابعة follow-up افتراضياً
code review allow self approval: هل يُسمح للموظفين بالموافقة على توقيعاتهم الخاصة؟
code review default mute new categories: الفئات الجديدة التي تنشئها المراجعة موقوفة (muted) للمستخدمين افتراضياً
code review skip duration minutes: النقر على زر التخطي في توقيع ما سيمنع ظهور ذلك التوقيع مرة أخرى لمدة الدقائق المحددة بهذا الإعداد.
سجل التغييرات (CHANGELOG)
قائمة المهام (TODO)
إضافات
كيف يستخدم Discourse هذه الإضافة
باختصار - صُممت هذه الإضافة لتكملة استخدام فريق Discourse لـ GitHub لمراجعة الأكواد.
المزيد من المعلومات
من @sam:
لا نزال نستخدم طلبات السحب (PRs) باستخدام واجهة GitHub ونحب القيام بطلبات سحب للعديد من التغييرات. لم يتغير أي شيء هنا. GitHub رائع، نحن نحب GitHub. لديهم سير عمل ممتاز للتغييرات التي لم تصل بعد. ومع ذلك…
سير عمل GitHub للتغييرات التي تم التوقيع عليها مباشرة في المستودع سيء.
المراجعة تملأ فجوة لا يمكن ملؤها بـ GitHub اليوم، نود أن يراجع عضو واحد على الأقل في الفريق كل تغيير يتم إجراؤه على مستودعات git التي يملكها Discourse. إذا كنا سنستخدم واجهة GitHub المقدمة، لن يُسمح أبداً لأحد بالقيام بأي شيء سوى طلبات السحب. هذا سيؤخرنا بشكل هائل.
نحتاج إلى القدرة على التواصل بشكل خاص دون أن يعلم العالم كله بشأن تغييرات معينة. على سبيل المثال: يجب أن ننشر هذا التصحيح الرائع إلى
<أدخل اسم الشركة الكبيرة>بأسرع وقت ممكن، هل يمكنك الاهتمام بذلك يا @sam؟نحتاج إلى القدرة على اعتماد التغييرات أو طلب المتابعة، وهذا شيء لا تقدمه واجهة GitHub.
نحتاج إلى القدرة على إسناد توقيعات معينة لمستخدم. لنفترض أن @sam يقوم بتوقيع يحتوي على بعض الأخطاء. من الجيد أننا يمكننا إسناد ذلك التوقيع المحدد إليه مباشرة، ووضعه للمتابعة، ثم تتبع أنه تمت متابعته.
Discourse رائع جداً في مسألة المحادثة بأكملها، والميزات الصغيرة تحدث فرقاً كبيراً، يمكنني رؤية عندما يكون الناس يكتبون. لا أحتاج أبداً إلى تحديث الصفحات حتى تظهر التغييرات. الاقتباس رائع، ورفع الصور رائع، وما إلى ذلك.
Discourse جيد جداً في حالة القراءة، تحصل على ضمانات قوية جداً بأنك قمت بقراءة كل شيء مرة واحدة، مع GitHub لا أعرف أي التوقيعات قرأت وأيها لم أقرؤها. لدينا كفاءة لا تصدق للتعامل مع سيل المعلومات.
والقائمة تطول…
لذا تعمل المراجعة كتكملة لـ GitHub، نحن نستخدم GitHub في الوقت الحالي للتعامل مع التغييرات التي لم تصل بعد. ونستخدم المراجعة للتعامل بشكل صحيح مع التغييرات التي وصلت بالفعل.

