---
title: Claude Code GitHub Actions | RunAPI
description: اضبط Claude Code GitHub Actions بسرّ RunAPI ونموذج وأذونات ومُشغّلات
  وسير عمل أدنى.
url: https://runapi.ai/ar/docs/resources/tool-integrations/claude-code-github-actions.md
canonical: https://runapi.ai/ar/docs/resources/tool-integrations/claude-code-github-actions
locale: ar
---

> نسخة HTML: https://runapi.ai/ar/docs/resources/tool-integrations/claude-code-github-actions
> فهرس الموقع للوكلاء: https://runapi.ai/llms.txt

# Claude Code GitHub Actions

## نظرة عامة

تشغّل `anthropics/claude-code-action` الرسمية Claude Code في سير عمل GitHub Actions. يخزّن هذا الدليل مفتاح RunAPI كسرٍّ في GitHub، ويضبط عنوان Base URL غير الحساس في إعدادات Claude Code، ويختار نموذجًا، ويستجيب لتعليقات `@claude` المصرَّح بها.

## قبل البدء

* تحتاج إلى صلاحيات مسؤول المستودع لتثبيت تطبيق Claude GitHub وإنشاء أسرار Actions وإضافة سير عمل.
* أنشئ مفتاح API قياسياً لـ RunAPI وفق [دليل المصادقة](https://runapi.ai/ar/docs/guides/authentication.md).
* انسخ معرّف نموذج يدعم Anthropic Messages من [كتالوج النماذج](https://runapi.ai/ar/models).
* راجع [إعداد Claude Code لـ GitHub Actions][1] وسياسة سير العمل في مؤسستك.



[1]: https://code.claude.com/docs/en/github-actions

## التثبيت

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

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



[1]: https://github.com/apps/claude

## إعداد 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][1] من GitHub للنطاق على مستوى المستودع والمنظمة.



[1]: https://docs.github.com/en/actions/how-tos/write-workflows/choose-what-workflows-do/use-secrets

### الأذونات

* `contents: write` يتيح للإجراء الالتزام بتغييرات الكود.
* `pull-requests: write` و`issues: write` يتيحان له قراءة المحادثة المُشغِّلة والرد عليها.
* `id-token: write` يدعم مصادقة GitHub App الافتراضية للإجراء.
* `actions: read` يتيح له فحص نتائج سير العمل.

استخدم هذه الأذونات الصريحة بدلاً من `write-all`. أزل الصلاحيات التي لا يحتاجها سير العمل الخاص بك.

### أحداث التشغيل

`issue_comment` يغطي التعليقات في المشكلات ومحادثات طلبات السحب؛
`pull_request_review_comment` يغطي التعليقات على أسطر الفروق. يجب أن يكون
ملف سير العمل موجوداً في الفرع الافتراضي قبل أن يتمكن `issue_comment`
من تشغيله. يتحقق الإجراء أيضاً من مَن بدأ التشغيل؛ استخدم
[السلوك الأمني الرسمي][1] كمرجع أساسي.



[1]: https://code.claude.com/docs/en/github-actions#who-can-trigger-runs

## اختر نموذجاً

استبدل `YOUR_RUNAPI_MODEL_ID` في `claude_args` بالمعرّف الدقيق من [كتالوج النماذج](https://runapi.ai/ar/models). إن إبقاء اختيار النموذج خارج `settings.env` يجعل النموذج المختار للسير الإجرائي مرئياً في إعدادات الإجراء.

## تحقق

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

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

* **لا يبدأ أي سير عمل:** تأكد من أن الملف موجود على الفرع الافتراضي، وأن حدث التعليق متطابق، وأن Actions مُفعَّلة.
* **تم تجاهل المهمة:** تأكد من أن التعليق يحتوي على `@claude` وأن المستخدم يملك صلاحيات الوصول المطلوبة للمستودع.
* **فشل المصادقة:** تأكد من أن سير العمل يشير إلى `secrets.RUNAPI_API_KEY`، ثم استبدل المفتاح عبر [دليل المصادقة](https://runapi.ai/ar/docs/guides/authentication.md) إذا لزم الأمر.
* **لا يستطيع طلب السحب من fork استخدام المفتاح:** تحجب GitHub عمداً الأسرار العادية عن التشغيلات المُطلقة من fork. لا تستبدل السر بقيمة حرفية.
* **النموذج غير متاح:** انسخ المعرّف الدقيق من [كتالوج النماذج](https://runapi.ai/ar/models).
* **لا تُطلق إيداعات Claude سير عمل آخر:** راجع [استكشاف أخطاء رمز GitHub][1] الخاص بالإجراء الرسمي.



[1]: https://code.claude.com/docs/en/github-actions#ci-not-running-on-claudes-commits

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

استخدم [البدء السريع لـ LLM API](https://runapi.ai/ar/docs/guides/llm-api/quickstart.md) للاطلاع على
سلوك البروتوكول و[مرجع Anthropic Messages API](https://runapi.ai/ar/docs/api/anthropic/messages.md) لحقول الطلب. لمزيد من
المشغّلات ومدخلات الإجراءات، استخدم [الأمثلة الرسمية][1] و[مرجع التكوين][2].



[1]: https://github.com/anthropics/claude-code-action/tree/main/examples
[2]: https://github.com/anthropics/claude-code-action/blob/main/docs/usage.md

---

## المزيد من RunAPI

- [الرئيسية](https://runapi.ai/ar/.md)
- [كتالوج النماذج](https://runapi.ai/ar/models.md)
- [الأسعار](https://runapi.ai/ar/pricing.md)
- [مزودو الخدمة](https://runapi.ai/ar/models)
- [التوثيق](https://runapi.ai/ar/docs/guides)
- [حزم SDK](https://runapi.ai/ar/sdk.md)
- [CLI](https://runapi.ai/ar/cli.md)
- [خادم MCP](https://runapi.ai/ar/mcp.md)
- [Claude Code مقابل Cursor](https://runapi.ai/ar/claude-code-vs-cursor.md)
- [إعداد Cursor API](https://runapi.ai/ar/cursor-api-setup.md)
- [RunAPI مقابل OpenRouter](https://runapi.ai/ar/openrouter-alternative.md)
- [المؤسسات](https://runapi.ai/ar/contact.md)
- [اتصل بنا](https://runapi.ai/ar/contact.md)
- [الشروط](https://runapi.ai/ar/terms.md)
- [الخصوصية](https://runapi.ai/ar/privacy.md)
- [فهرس الموقع للوكلاء](https://runapi.ai/llms.txt)

التواصل: contact@runapi.ai

## البيانات المنظمة

```json
[
  {
    "@context": "https://schema.org",
    "inLanguage": "ar",
    "@type": "WebSite",
    "name": "RunAPI",
    "url": "https://runapi.ai/ar",
    "potentialAction": {
      "@type": "SearchAction",
      "target": {
        "@type": "EntryPoint",
        "urlTemplate": "https://runapi.ai/ar/models?q={search_term_string}"
      },
      "query-input": "required name=search_term_string"
    }
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "ar",
    "@type": "Organization",
    "name": "RunAPI",
    "url": "https://runapi.ai/ar",
    "logo": {
      "@type": "ImageObject",
      "url": "https://runapi.ai/aricon.svg"
    },
    "sameAs": [
      "https://github.com/runapi-ai"
    ]
  },
  {
    "@context": "https://schema.org",
    "inLanguage": "ar",
    "@type": "TechArticle",
    "headline": "Claude Code GitHub Actions",
    "description": "اضبط Claude Code GitHub Actions بسرّ RunAPI ونموذج وأذونات ومُشغّلات وسير عمل أدنى.",
    "url": "https://runapi.ai/ar/docs/resources/tool-integrations/claude-code-github-actions",
    "mainEntityOfPage": "https://runapi.ai/ar/docs/resources/tool-integrations/claude-code-github-actions"
  }
]
```
