استخدام موافقات الإصدار
اسمح بإصدار محدد عبر استثناء مع الاحتفاظ بتقييمه الأمني الأصلي. الموافقة لا تعالج النتائج ولا تحوّل التغطية غير المكتملة إلى فحص سليم.
جميع الوثائق فتح موافقات الإصدار
١. قبل البدء
- اختر مساحة عمل مؤسسة في لوحة التحكم. موافقات الإصدار غير متاحة في مساحة العمل الشخصية، وتظل متطلبات المصادقة متعددة العوامل للمؤسسة سارية.
- استخدم أحدث فحص مكتمل من تكامل طلبات السحب في GitHub، مع مستودع ومعرّف commit SHA كامل محفوظين وتقييم BLOCK أو WARN أو INCOMPLETE. لا يمكن طلب استثناء لفحص قيد الانتظار أو التشغيل أو فاشل أو غير مرتبط.
- يمكن للأعضاء طلب الاستثناءات. يجب أن يراجعها مسؤول أو مالك مستقل؛ لا يمكن لمقدّم الطلب أو من أطلق الفحص الموافقة أو الرفض. يمكن للمشاهدين قراءة الطلبات وتصدير السجلات. مفاتيح API لا تسمح بالطلب أو المراجعة أو الإلغاء.
- يمكن للفحص المكتمل بتقييم PASS وتغطية مطلوبة مكتملة اجتياز بوابة التصريح دون استثناء.
٢. طلب استثناء
- افتح تفاصيل الفحص واختر رابط طلب موافقة الإصدار، أو افتح موافقات الإصدار من الشريط الجانبي وأدخل معرّف الفحص.
- اختر بيئة الإنتاج production أو الاختبار staging. وضّح سبب الحاجة إلى الإصدار والضوابط التعويضية التي تحدّ من الخطر، مثل تقييد الوصول إلى حين نشر الإصلاح.
- حدّد موعد انتهاء مستقبليًا لا يتجاوز ٣٠ يومًا ثم أرسل الطلب. يحفظ الطلب الأدلة وسياق السياسة للفحص والـ commit المحددين، ويشمل الفحص كله وليس نتائج مختارة.
- يُسمح بطلب واحد سارٍ قيد الانتظار أو موافق عليه للفحص والبيئة نفسيهما. اطلب من مسؤول أو مالك مستقل مراجعته؛ هذا الإصدار لا يرسل إشعارات للمراجعين.
٣. المراجعة واتخاذ القرار
- افتح موافقات الإصدار في المؤسسة نفسها وحدّث القائمة. تحقّق من الهدف والمستودع ومعرّف commit SHA والبيئة وموعد الانتهاء والتقييم الأصلي والتغطية.
- وسّع قسم الأدلة وراجع النتائج ومبرر العمل والضوابط التعويضية. سجّل سبب القرار واختر الموافقة أو الرفض. تظهر أزرار المراجعة للمراجعين المؤهلين فقط.
- يظهر الطلب الموافق عليه كاستثناء موافق عليه مع بقاء التقييم الأصلي BLOCK أو WARN أو INCOMPLETE ظاهرًا. تسري الموافقة على الإصدار والبيئة المرتبطين بالطلب فقط.
- يمكن للمسؤولين والمالكين إلغاء طلب قيد الانتظار أو موافق عليه مع ذكر السبب. لا يمكن إعادة فتح الطلب المرفوض أو الملغى؛ أنشئ طلبًا جديدًا عند الحاجة.
٤. التحقق من التصريح قبل النشر
- يجب أن يهيّئ مسؤول CI بوابة تصريح الإصدار. الموافقة في لوحة التحكم وحدها لا تغيّر قواعد فروع GitHub ولا تنشر التطبيق.
- تتحقق البوابة من المؤسسة والمستودع ومعرّف commit SHA الكامل والهدف والبيئة بدقة، باستخدام مفتاح API مرتبط بالمؤسسة بصلاحية scan:read. احفظ المفتاح في أسرار CI المحمية. يجب أن يتحقق عميل API من authorized: true؛ نجاح HTTP 200 وحده لا يمنح التصريح.
- بعد انتهاء الفحص أو المراجعة، أعد تشغيل سير العمل المهيّأ لنفس معرّف رأس طلب السحب. قد تنجح حالة Fendix release authorization المستقلة بينما يظل التقييم الأمني BLOCK. اشتراط نجاح فحص التقييم الأصلي الفاشل أيضًا سيستمر في منع الدمج.
- نفّذ تحققًا جديدًا من التصريح مباشرة قبل كل نشر، وتوقف إذا فشل. حالة GitHub الخضراء السابقة نتيجة تاريخية؛ انتهاء الموافقة أو إلغاؤها لا يزيلها تلقائيًا. لا تعِد استخدام نتيجة تصريح مخزنة مؤقتًا.
- عملية الدمج أو squash قد تنتج commit مختلفًا عن رأس طلب السحب المفحوص. يحتاج هذا الـ commit إلى فحص ذي بيانات مصدر مطابقة؛ لا تنتقل إليه موافقة تخص SHA آخر.
٥. فهم الطلب المرفوض أو المتغيّر
- قيد الانتظار: يحتاج إلى مراجعة مستقلة. مرفوض أو ملغى: الاستثناء لا يسمح بالإصدار. منتهي الصلاحية: تجاوز موعد الانتهاء.
- غير سارٍ: تغيّرت الأدلة أو السياسة، أو توجد محاولة فحص أحدث، أو حُذف الفحص الأصلي، أو لم يعد المراجع مؤهلًا. حتى الفحص الأحدث قيد الانتظار أو الفاشل قد يبطل الموافقة السابقة.
- حدّث القائمة لرؤية الحالة الحالية. راجع أحدث فحص وعالج السبب ثم اطلب مراجعة جديدة إذا ظل الاستثناء ضروريًا. تمديد موعد قديم أو الموافقة على commit آخر لا يعيد التصريح.
- إذا لم تظهر المراجعة، تحقّق من المؤسسة المختارة ودورك والمصادقة متعددة العوامل وما إذا كنت قد طلبت الاستثناء أو أطلقت الفحص. إذا تعذّر إنشاء الطلب، تحقّق من مصدر الفحص واكتماله وتقييمه وموعد الانتهاء والطلبات الموجودة.
٦. تصدير سجل القرار
- اختر تصدير السجل من الطلب لتنزيل JSON يتضمن الأدلة المحفوظة والقرار والهويات والأسباب وسجل الأحداث. يمكن للمشاهدين والأدوار الأعلى التصدير؛ تحتاج مفاتيح API إلى reports:read.
- تحتفظ السجلات بلقطة الأدلة بعد حذف الفحص، لكن تصريح الإصدار يصبح غير سارٍ. يؤدي حذف المؤسسة إلى إزالة سجلاتها، لذا صدّرها وفق سياسة الاحتفاظ المعتمدة لديك.
- السجل ليس شهادة امتثال موقّعة. يدعم هذا الإصدار مراجعًا مستقلًا واحدًا وتصدير JSON؛ ولا يشمل سلاسل موافقة متعددة المراحل أو ملفات PDF موقّعة أو إشعارات تلقائية للمراجعين.