تخطَّ إلى المحتوى
موارد المطورين
موارد المطورين

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 Code في المستودع الهدف، شغّل /install-github-app واتبع التعليمات لتثبيت تطبيق GitHub. عندما يعرض عليك إنشاء بيانات اعتماد Anthropic، توقف قبل حفظها: يستخدم هذا الدليل مستودع RunAPI أو سر المنظمة بدلاً من ذلك.

للإعداد اليدوي، ثبّت تطبيق Claude GitHub، ثم أضف سير العمل أدناه إلى .github/workflows/claude.yml.

إعداد RunAPI

أنشئ سرّ Actions للمستودع أو المؤسسة باسم RUNAPI_API_KEY. مرّره فقط عبر مدخل السرّ للإجراء:

YAML
anthropic_api_key: ${{ secrets.RUNAPI_API_KEY }}

لا تضع المفتاح في ملف سير العمل أو في JSON الخاص بـ settings للإجراء. يعالج الإجراء الإعدادات بشكل منفصل؛ ما ينتمي إلى هناك فقط هو Base URL غير الحساس.

يستمع سير العمل التفاعلي الأدنى التالي للمشكلات الجديدة وتعليقات مراجعة طلبات السحب:

YAML
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 يجعل النموذج المختار للسير الإجرائي مرئياً في إعدادات الإجراء.

تحقق

  1. تأكد من وجود سر RUNAPI_API_KEY دون طباعة قيمته.
  2. ادمج سير العمل في الفرع الافتراضي وتأكد من تفعيل Actions.
  3. من حساب يمتلك صلاحية الكتابة في المستودع، أضف @claude describe this repository in one sentence إلى تعليق في إشكالية.
  4. افتح تشغيل سير العمل، وتأكد من نجاح الإجراء، وتحقق من أن Claude يردّ في الإشكالية ذاتها.

استكشاف الأخطاء وإصلاحها

  • لا يبدأ أي سير عمل: تأكد من أن الملف موجود على الفرع الافتراضي، وأن حدث التعليق متطابق، وأن Actions مُفعَّلة.
  • تم تجاهل المهمة: تأكد من أن التعليق يحتوي على @claude وأن المستخدم يملك صلاحيات الوصول المطلوبة للمستودع.
  • فشل المصادقة: تأكد من أن سير العمل يشير إلى secrets.RUNAPI_API_KEY، ثم استبدل المفتاح عبر دليل المصادقة إذا لزم الأمر.
  • لا يستطيع طلب السحب من fork استخدام المفتاح: تحجب GitHub عمداً الأسرار العادية عن التشغيلات المُطلقة من fork. لا تستبدل السر بقيمة حرفية.
  • النموذج غير متاح: انسخ المعرّف الدقيق من كتالوج النماذج.
  • لا تُطلق إيداعات Claude سير عمل آخر: راجع استكشاف أخطاء رمز GitHub الخاص بالإجراء الرسمي.

الخطوات التالية

استخدم البدء السريع لـ LLM API للاطلاع على سلوك البروتوكول ومرجع Anthropic Messages API لحقول الطلب. لمزيد من المشغّلات ومدخلات الإجراءات، استخدم الأمثلة الرسمية ومرجع التكوين.