> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gorbit.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# موصل GitHub

> الوصول إلى المعرفة من مستودعات GitHub

## كيف يعمل

يلتقط موصل GitHub جميع طلبات السحب والمشاكل في مستودع محدد.

* سيقوم بفهرسة طلبات السحب المفتوحة والمغلقة. هذا يشمل العنوان والملخص.
* سيقوم بفهرسة المشاكل والتعليقات المفتوحة والمغلقة
* يتضمن بعض البيانات الوصفية الأخرى مثل عنوان URL والمنشئ وما إلى ذلك.

## ميزة مزامنة الأذونات

يدعم موصل GitHub مزامنة الأذونات،
مما يضمن أن المستخدمين يمكنهم فقط الوصول إلى المستندات التي لديهم أذونات لعرضها في GitHub. عند التمكين، هذه الميزة:

* تزامن أذونات المستخدم من مستودعات ومؤسسات GitHub
* تضمن أن المستخدمين يرون نتائج البحث فقط للمستودعات التي يمكنهم الوصول إليها
* تحافظ على التحكم في الوصول المتسق بين GitHub و Gorbit

<Note>
  مزامنة الأذونات متاحة فقط على Cloud والإصدار المؤسسي من Gorbit،
  وتتطلب أذونات رمز إضافية تتجاوز تلك اللازمة للفهرسة الأساسية.
</Note>

### ⚠️ متطلب حاسم: الملف الشخصي للبريد الإلكتروني العام

<Info>
  **مهم جدًا:** لكي تعمل مزامنة الأذونات،
  يجب أن يكون لدى المستخدمين عنوان بريدهم الإلكتروني مرئيًا علنًا في ملفهم الشخصي على GitHub. إذا تم تعيين بريد مستخدم على خاص،
  لن يحصلوا على الوصول إلى أي مستندات من خلال Gorbit.
</Info>

<Accordion title="كيفية جعل بريدك الإلكتروني عامًا على GitHub">
  <Steps>
    <Step title="تسجيل الدخول إلى GitHub">
      سجل الدخول إلى حساب GitHub
    </Step>

    <Step title="الوصول إلى إعدادات الملف الشخصي">
      انقر على صورتك الشخصية في الزاوية العلوية اليمنى وحدد **Settings** من القائمة المنسدلة
    </Step>

    <Step title="الانتقال إلى إعدادات البريد الإلكتروني">
      في الشريط الجانبي الأيسر، انقر على **Emails**
    </Step>

    <Step title="تمكين البريد الإلكتروني العام">
      انتقل لأسفل إلى **Keep my email addresses private** و **ألغِ تحديد هذا الخيار**
    </Step>

    <Step title="تكوين الملف الشخصي العام">
      الآن عد إلى الشريط الجانبي الأيسر وانقر على **Public profile**
    </Step>

    <Step title="تعيين البريد الإلكتروني العام">
      انتقل لأسفل إلى قسم **Public email** وحدد عنوان بريدك الإلكتروني من القائمة المنسدلة
    </Step>

    <Step title="حفظ التغييرات">
      انقر على **Update profile** لحفظ التغييرات
    </Step>
  </Steps>
</Accordion>

**لماذا هذا مطلوب؟**

يستخدم Gorbit البريد الإلكتروني العام لمطابقة مستخدمي GitHub مع مستخدمي Gorbit لمزامنة الأذونات. بدون بريد إلكتروني عام،
لا يمكن للنظام تحديد أذونات GitHub التي تنطبق على مستخدم Gorbit.

## الإعداد

### التفويض

يستخدم هذا الموصل رمز وصول GitHub.
تعتمد الأذونات المطلوبة على ما إذا كنت تستخدم ميزة مزامنة الأذونات.

#### الإعداد الأساسي (الفهرسة فقط)

للفهرسة الأساسية بدون مزامنة الأذونات:

<Steps>
  <Step title="مراجعة الدليل التفصيلي">
    [هذا
    الدليل](https://docs.github.com/en/enterprise-server@3.4/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)
    يعرض الخطوات التالية بالتفصيل.
  </Step>

  <Step title="تسجيل الدخول إلى GitHub">
    سجل الدخول إلى GitHub.
  </Step>

  <Step title="الوصول إلى الإعدادات">
    في الزاوية العلوية اليمنى، وسّع ملفك الشخصي وانقر على **Settings**
  </Step>

  <Step title="الانتقال إلى إعدادات المطور">
    في الأسفل، انتقل إلى **Developer settings** -> **Personal access tokens** -> **Tokens (classic)**
  </Step>

  <Step title="توليد رمز جديد">
    انقر على **Generate new token**
  </Step>

  <Step title="منح الأذونات">
    امنح الأذونات التالية:

    * **أذونات المستودع:**
    * `repo` (التحكم الكامل في المستودعات الخاصة) - للوصول إلى طلبات السحب والمشاكل

    <Accordion title="متطلبات رمز الوصول الدقيق">
      إذا كنت تستخدم رمز وصول دقيق بدلاً من رمز كلاسيكي:

      <Steps>
        <Step title="فتح أذونات المستودع">
          في صفحة تكوين الرمز، انتقل إلى **Repository permissions**
        </Step>

        <Step title="إضافة الأذونات">
          انقر على **Add permission**، ثم أضف ما يلي مع **وصول للقراءة**:

          * **Pull requests** - للوصول إلى بيانات طلبات السحب
          * **Metadata** - للبيانات الوصفية للمستودع
          * **Issues** - للوصول إلى المشاكل والتعليقات
          * **Contents** - للوصول إلى محتويات المستودع
        </Step>
      </Steps>
    </Accordion>
  </Step>
</Steps>

#### إعداد مزامنة الأذونات

اختر نوع الرمز الذي تستخدمه:

<Tabs tabs={["رمز وصول دقيق", "رمز كلاسيكي"]}>
  <Tab title="رمز وصول دقيق">
    <Steps>
      <Step title="تحديد المؤسسة (مالك المورد)">
        عند إنشاء رمز وصول GitHub **دقيق** لـ **مزامنة الأذونات**،
        تأكد من تحديد **مؤسسة Resource owner** الصحيحة ( **المؤسسة** على GitHub التي تمتلك
        المستودعات التي تريد إنشاء الموصل لها).
        الرموز الدقيقة المحددة لحساب مستخدم شخصي **لا** تسمح بمنح **أذونات المؤسسة**
        (مثل **Members**)، لذا تتطلب مزامنة الأذونات تحديد مؤسسة كمالك للمورد.
      </Step>

      <Step title="إضافة الأذونات المطلوبة">
        أضف هذه في صفحة تكوين الرمز باستخدام **Repository permissions** -> **Add permission** و
        **Organization permissions** -> **Add permission**:

        <img className="rounded-image" src="https://mintcdn.com/gorbit/klR7erNMN33AvYm0/assets/admins/connectors/github/Permissions.png?fit=max&auto=format&n=klR7erNMN33AvYm0&q=85&s=ed8c9b02774fbd4b1162442dcd0aa2ea" alt="أذونات رمز GitHub الدقيق: أذونات المستودع وأذونات المؤسسة" width="1657" height="939" data-path="assets/admins/connectors/github/Permissions.png" />

        * **أذونات المستودع** (وصول للقراءة): **Administration**، **Issues**، **Metadata**، **Pull requests**
        * **أذونات المؤسسة** (للقراءة فقط): **Administration**، **Members**
      </Step>
    </Steps>
  </Tab>

  <Tab title="رمز كلاسيكي">
    <Steps>
      <Step title="إضافة نطاق قراءة المؤسسة">
        إذا كنت تستخدم رمز وصول شخصي GitHub **كلاسيكي** وتريد **مزامنة الأذونات**،
        يجب عليك أيضًا منح:

        * `read:org`
      </Step>

      <Step title="الإبقاء على نطاقات الفهرسة مفعلة">
        أبقِ إذن الفهرسة الأساسي مفعلاً أيضًا:

        * `repo` (التحكم الكامل في المستودعات الخاصة) - للوصول إلى طلبات السحب والمشاكل
      </Step>
    </Steps>
  </Tab>
</Tabs>

#### تكوين الرمز

<Steps>
  <Step title="تعيين وقت انتهاء الصلاحية">
    عيّن أي وقت انتهاء صلاحية.
    سيحتاج رمز جديد إلى تقديمه لـ Gorbit لمتابعة تحديث فهرس Gorbit بمجرد انتهاء صلاحية هذا الرمز.
  </Step>

  <Step title="التحقق من الأذونات">
    **مهم:** إذا كنت تخطط لاستخدام مزامنة الأذونات،
    تأكد من منح جميع الأذونات أعلاه عند إنشاء الرمز.
  </Step>
</Steps>

### الفهرسة

<Steps>
  <Step title="الانتقال إلى الموصل">
    انتقل إلى لوحة الإدارة وحدد موصل **GitHub**
  </Step>

  <Step title="تكوين الموصل">
    لـ [https://github.com/gorbit-dot-app/gorbit](https://github.com/gorbit-dot-app/gorbit)، سيبدو مثل:
  </Step>
</Steps>

<img className="rounded-image" src="https://mintcdn.com/gorbit/klR7erNMN33AvYm0/assets/admins/connectors/github/GithubCredential.png?fit=max&auto=format&n=klR7erNMN33AvYm0&q=85&s=7ef8752abe04411b88c1b7ab0a83845c" alt="شاشة إدخال بيانات اعتماد موصل GitHub في Gorbit" width="1728" height="867" data-path="assets/admins/connectors/github/GithubCredential.png" />

<img className="rounded-image" src="https://mintcdn.com/gorbit/klR7erNMN33AvYm0/assets/admins/connectors/github/GithubConnector.png?fit=max&auto=format&n=klR7erNMN33AvYm0&q=85&s=b3eb8f3bed76b8daeffbcdd8e050b9dd" alt="مثال تكوين مستودع موصل GitHub في Gorbit" width="1728" height="866" data-path="assets/admins/connectors/github/GithubConnector.png" />
