Claude Code GitHub Actions
اضبط Claude Code GitHub Actions بسرّ RunAPI ونموذج وأذونات ومُشغّلات وسير عمل أدنى.
نظرة عامة
تشغّل anthropics/claude-code-action الرسمية Claude Code في سير عمل GitHub Actions. يخزّن هذا الدليل مفتاح RunAPI كسرٍّ في GitHub، ويضبط عنوان Base URL غير الحساس في إعدادات Claude Code، ويختار نموذجًا، ويستجيب لتعليقات @claude المصرَّح بها.
قبل البدء
- تحتاج إلى صلاحيات مسؤول المستودع لتثبيت تطبيق Claude GitHub وإنشاء أسرار Actions وإضافة سير عمل.
- أنشئ مفتاح API قياسياً لـ RunAPI وفق دليل المصادقة.
- انسخ معرّف نموذج يدعم Anthropic Messages من كتالوج النماذج.
- راجع إعداد Claude Code لـ GitHub Actions وسياسة سير العمل في مؤسستك.
التثبيت
من Claude Code في المستودع الهدف، شغّل /install-github-app واتبع التعليمات لتثبيت تطبيق GitHub. عندما يعرض عليك إنشاء بيانات اعتماد Anthropic، توقف قبل حفظها: يستخدم هذا الدليل مستودع RunAPI أو سر المنظمة بدلاً من ذلك.
للإعداد اليدوي، ثبّت تطبيق Claude GitHub، ثم أضف سير العمل أدناه إلى .github/workflows/claude.yml.
إعداد RunAPI
أنشئ سرّ Actions للمستودع أو المؤسسة باسم
RUNAPI_API_KEY. مرّره فقط عبر مدخل السرّ للإجراء:
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
لا تضع المفتاح في ملف سير العمل أو في JSON الخاص بـ settings للإجراء.
يعالج الإجراء الإعدادات بشكل منفصل؛ ما ينتمي إلى هناك فقط هو Base URL غير الحساس.
يستمع سير العمل التفاعلي الأدنى التالي للمشكلات الجديدة وتعليقات مراجعة طلبات السحب:
name: Claude Code
on:
issue_comment:
types: [created]
pull_request_review_comment:
types: [created]
jobs:
claude:
if: contains(github.event.comment.body, '@claude')
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: write
issues: write
id-token: write
actions: read
steps:
- uses: actions/checkout@v6
with:
fetch-depth: 1
- uses: anthropics/claude-code-action@v1
with:
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}
settings: |
{
"env": {
"ANTHROPIC_BASE_URL": "https://runapi.ai"
}
}
claude_args: "--model YOUR_RUNAPI_MODEL_ID"
الأسرار
لا يمرر GitHub أسرار Actions العادية إلى سير العمل التي تُشغَّل من طلبات سحب الفروع المشتقة أو أحداث Dependabot. إذا كانت عملية تشغيل لا تحتوي على بيانات اعتماد، تحقق من مصدر الحدث قبل تدوير مفتاح RunAPI. استخدم دليل أسرار Actions من GitHub للنطاق على مستوى المستودع والمنظمة.
الأذونات
contents: writeيتيح للإجراء الالتزام بتغييرات الكود.pull-requests: writeوissues: writeيتيحان له قراءة المحادثة المُشغِّلة والرد عليها.id-token: writeيدعم مصادقة GitHub App الافتراضية للإجراء.actions: readيتيح له فحص نتائج سير العمل.
استخدم هذه الأذونات الصريحة بدلاً من write-all. أزل الصلاحيات التي لا يحتاجها سير العمل الخاص بك.
أحداث التشغيل
issue_comment يغطي التعليقات في المشكلات ومحادثات طلبات السحب؛
pull_request_review_comment يغطي التعليقات على أسطر الفروق. يجب أن يكون
ملف سير العمل موجوداً في الفرع الافتراضي قبل أن يتمكن issue_comment
من تشغيله. يتحقق الإجراء أيضاً من مَن بدأ التشغيل؛ استخدم
السلوك الأمني الرسمي كمرجع أساسي.
اختر نموذجاً
استبدل YOUR_RUNAPI_MODEL_ID في claude_args بالمعرّف الدقيق من كتالوج النماذج. إن إبقاء اختيار النموذج خارج settings.env يجعل النموذج المختار للسير الإجرائي مرئياً في إعدادات الإجراء.
تحقق
- تأكد من وجود سر
RUNAPI_API_KEYدون طباعة قيمته. - ادمج سير العمل في الفرع الافتراضي وتأكد من تفعيل Actions.
- من حساب يمتلك صلاحية الكتابة في المستودع، أضف
@claude describe this repository in one sentenceإلى تعليق في إشكالية. - افتح تشغيل سير العمل، وتأكد من نجاح الإجراء، وتحقق من أن Claude يردّ في الإشكالية ذاتها.
استكشاف الأخطاء وإصلاحها
- لا يبدأ أي سير عمل: تأكد من أن الملف موجود على الفرع الافتراضي، وأن حدث التعليق متطابق، وأن Actions مُفعَّلة.
- تم تجاهل المهمة: تأكد من أن التعليق يحتوي على
@claudeوأن المستخدم يملك صلاحيات الوصول المطلوبة للمستودع. - فشل المصادقة: تأكد من أن سير العمل يشير إلى
secrets.RUNAPI_API_KEY، ثم استبدل المفتاح عبر دليل المصادقة إذا لزم الأمر. - لا يستطيع طلب السحب من fork استخدام المفتاح: تحجب GitHub عمداً الأسرار العادية عن التشغيلات المُطلقة من fork. لا تستبدل السر بقيمة حرفية.
- النموذج غير متاح: انسخ المعرّف الدقيق من كتالوج النماذج.
- لا تُطلق إيداعات Claude سير عمل آخر: راجع استكشاف أخطاء رمز GitHub الخاص بالإجراء الرسمي.
الخطوات التالية
استخدم البدء السريع لـ LLM API للاطلاع على سلوك البروتوكول ومرجع Anthropic Messages API لحقول الطلب. لمزيد من المشغّلات ومدخلات الإجراءات، استخدم الأمثلة الرسمية ومرجع التكوين.