المساهمة في توثيق واجهة برمجة تطبيقات Discourse

:bookmark: هذا دليل للمساهمة في توثيق واجهة برمجة التطبيقات (API) الرسمية لـ Discourse.

:person_raising_hand: مستوى المستخدم المطلوب: مطور

:gear: مطلوب الوصول إلى وحدة التحكم (Console)

هل ترغب في المساهمة في توثيق واجهة برمجة التطبيقات الرسمية على https://docs.discourse.org؟ سيشرح لك هذا الدليل كيفية القيام بذلك خطوة بخطوة.

ملخص

سيرشدك هذا التوثيق خلال الخطوات التالية:

  • إعداد المتطلبات الأساسية.
  • استنساخ مستودع توثيق واجهة برمجة التطبيقات لـ Discourse.
  • تعديل ملفات التوثيق الخاصة بواجهة برمجة التطبيقات.
  • عرض التغييرات محليًا.
  • إنشاء طلب سحب (Pull Request).

المتطلبات الأساسية

يجب أن يكون لديك تثبيت لتطوير Discourse. إذا لم يكن لديك واحد، فاتبع الدليل المناسب لبيئتك في هذه المواضيع.

استنساخ مستودع توثيق واجهة برمجة التطبيقات لـ Discourse

بافتراض أن تثبيت تطوير Discourse الخاص بك موجود داخل مجلد المنزل ~/، تابع الخطوات التالية لاستنساخ المستودع:

  1. من مجلد المنزل الخاص بك، استنسخ المستودع من https://github.com/discourse/discourse_api_docs:

    git clone https://github.com/discourse/discourse_api_docs
    
  2. يجب أن يكون لديك الآن مجلدا discourse و discourse_api_docs جنبًا إلى جنب:

    ~/discourse/
    ~/discourse_api_docs/
    

تعديل ملفات توثيق واجهة برمجة التطبيقات

يجب عليك تعديل التوثيق مباشرة من ~/discourse/spec/requests/api/.

يمكن أيضًا المساهمة في توثيق واجهة برمجة التطبيقات للإضافات (Plugins) عبر ملفات المواصفات (spec files) الموجودة في plugins/*/spec/requests/api/.

بعد تعديل ملفات التوثيق، قم بتشغيل الأمر التالي من ~/discourse/:

bin/rake rswag:specs:swaggerize && cp openapi/openapi.yaml ~/discourse_api_docs/openapi.yml

سيتم إنشاء التوثيق باستخدام rswag ونسخه إلى ~/discourse_api_docs/.

ثم، قم بتحويل ملف YAML إلى JSON من ~/discourse_api_docs/:

npm install
node tojson.js

عرض التغييرات محليًا

لعرض التوثيق المحدّث الخاص بك، اتبع الخطوات التالية:

  1. من ~/discourse_api_docs/، قم بتشغيل:

    npm install
    node server.js
    
  2. تصفح إلى http://localhost:3001 لرؤية التوثيق المحدث.

إنشاء طلب سحب (Pull Request)

بمجرد التأكد من أن كل شيء يبدو جيدًا، قم بإنشاء طلب سحب من مستودع discourse/discourse (ليس مستودع توثيق واجهة برمجة التطبيقات لـ Discourse).

:bulb: يتم تحديث مستودع discourse_api_docs تلقائيًا يوميًا عبر سير عمل GitHub Actions يعيد إنشاء مواصفات OpenAPI من أحدث مواصفات نواة Discourse. لا تحتاج إلى تقديم طلب سحب (PR) منفصل إلى ذلك المستودع.

مشكلات شائعة وحلولها

الإبلاغ عن الأخطاء في توثيق واجهة برمجة التطبيقات لـ Discourse

إذا واجهت مشاكل أو أخطاء في توثيق واجهة برمجة التطبيقات لـ Discourse، يرجى الإبلاغ عنها في منتدى Discourse Meta - يمكنك اتباع دليل الإبلاغ عن الأخطاء لمساعدتك في القيام بذلك بفعالية.

موارد إضافية

15 إعجابًا

كيفية الإبلاغ عن الأخطاء في وثائق واجهة برمجة تطبيقات discourse

مستودع Github لوثائق واجهة برمجة التطبيقات لا يحتوي على علامة تبويب المشكلات مفعلة

مرحباً وأهلاً بك @srinivas.chilukuri :slight_smile:
يمكنك الإبلاغ عنها هنا. :+1: ما هي المشكلة؟

إعجابَين (2)

مرجع: وثائق واجهة برمجة تطبيقات Discourse للحصول على مجموعة

الإجراءات: المجموعات/ الحصول على مجموعة

  • في المسار في الوثائق، يتم عرضه كـ id، وعند الاستعلام، المسار غير موجود
  • عند هندسة عكسية لنفس الاستعلام عبر واجهة مستخدم Discourse، يكون معلم المسار هو name للمجموعة، ويعمل نفس الشيء عبر مفتاح API

إعجابَين (2)

تم تقسيم 3 مشاركات إلى موضوع جديد: Document basic-info api endpoint