Codex: تكامل Codex مع GitHub

آخر تحديث: 2026-08-31

تكامل Codex مع GitHub هو ميزة منظومته الأساسية، مما يتيح سير عمل مؤتمت بالكامل من Issue إلى PR.

📋 المتطلبات المسبقة: فهم عمليات Git و GitHub الأساسية

1. ما ستتعلمه


2. إعداد تكامل GitHub

(1) تفويض Codex

TEXT 📖 للعرض فقط
1. Select "Connect GitHub" in Codex settings
2. Authorize Codex to access your GitHub account
3. Choose authorization scope:
   - Public repos
   - All repos (including private)
   - Selected repos

(2) إعداد CLI

BASH
# GitHub Token
export GITHUB_TOKEN="ghp_xxx"

# Or configure in auth.json
cat >> ~/.codex/auth.json << 'EOF'
{
  "GITHUB_TOKEN": "ghp_xxx"
}
EOF

3. أتمتة Issue ← PR

(1) إنشاء مهمة من Issue

TEXT 📖 للعرض فقط
> Fix Issue #15: White screen after user login

# Codex automatically:
→ Reads Issue #15 description
→ Creates branch fix/issue-15
→ Analyzes root cause
→ Fixes code
→ Runs tests
→ Creates PR #16
→ Links Issue #15
→ Comments "Fixed in #16"

(2) معالجة Issues دفعية

TEXT 📖 للعرض فقط
> Process all Issues labeled "good-first-issue"

# Codex processes each:
→ Issue #12: Fix typo → PR #13
→ Issue #14: Add missing type annotations → PR #15
→ Issue #18: Supplement API documentation → PR #17

▶ مثال 1: سير معالجة Issues لأليس

TEXT 📖 للعرض فقط
# Alice's GitHub workflow
1. Community submits Issue → tagged "bug"
2. Alice in Codex: "Fix all P1 bugs"
3. Codex processes each:
   - Creates fix branch
   - Modifies code
   - Runs tests
   - Creates PR
   - Links Issue
4. Alice reviews PR → Merges
5. Issue auto-closes

Processing efficiency: from 3 Issues/person/day up to 15

4. أتمتة PR

(1) إنشاء PR تلقائي

بعد إكمال Codex لتعديلات الكود، ينشئ PR تلقائيًا:

TEXT 📖 للعرض فقط
PR Title: fix: resolve login white screen issue
Branch: codex/fix-issue-15
Base: main

Changes:
- src/auth/login.ts: Added error boundary handling
- src/components/Login.tsx: Fixed state management bug
- tests/auth.test.ts: Added 3 new test cases

Test Results: ✅ 45/45 passed

(2) قالب وصف PR

عرّف صيغة وصف PR في AGENTS.md:

MARKDOWN
## PR Rules
PR description must include:
- Change description
- Linked Issue
- Test results
- Screenshots (if UI changes)

(3) مراجعة تلقائية

TEXT 📖 للعرض فقط
> Review PR #42

# Codex output:
## Code Review Report

### 🔴 Critical
- src/api.ts:45 - SQL concatenation, injection risk

### 🟡 Medium
- src/utils.ts:23 - Unhandled Promise rejection
- src/auth.ts:67 - Overly permissive CORS configuration

### 🟢 Suggestions
- src/models.ts:12 - Type definition can be simplified
- tests/api.test.ts - Missing edge case tests

### Summary
- 1 critical issue must be fixed before merging
- 2 medium issues recommended to fix
- 2 improvement suggestions

5. إدارة الفروع

(1) تسمية الفروع تلقائيًا

TEXT 📖 للعرض فقط
Codex auto-creates branches with naming convention:
- fix/issue-{number}-{description}
- feature/{description}
- refactor/{description}

(2) استراتيجية الفروع

الاستراتيجية الوصف
من main كل مهمة تنشئ فرعًا جديدًا من main
من develop المهام مبنية على فرع develop
من PR استمر في التعديلات على PR موجود

▶ مثال 2: سير عمل فروع بوب

TEXT 📖 للعرض فقط
# Bob's team uses Git Flow
1. Codex creates feature branch from develop
2. After feature complete, creates PR → develop
3. Code review passes → Merge
4. On release: develop → main

6. تكامل GitHub Actions

YAML
# .github/workflows/codex-pr.yml
name: Codex PR Review

on:
  pull_request:
    types: [opened]

jobs:
  auto-review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - name: Codex Review
        run: |
          npm install -g @openai/codex
          codex --quiet --sandbox readonly \
            "Review this PR, output review report" \
            > review.md
      - name: Comment PR
        uses: actions/github-script@v7
        with:
          script: |
            const fs = require('fs');
            const body = fs.readFileSync('review.md', 'utf8');
            github.rest.issues.createComment({
              issue_number: context.issue.number,
              owner: context.repo.owner,
              repo: context.repo.repo,
              body
            });

❓ أسئلة شائعة

س هل يمكن لـ Codex التعامل مع المستودعات الخاصة؟
ج نعم، لكن تحتاج تفويض Codex للوصول للمستودعات الخاصة. اختر "All repos" أثناء تفويض GitHub OAuth.
س هل يمكن دمج PRs التي أنشأها Codex مباشرة؟
ج غير موصى به. راجع تغييرات الكود أولًا، أكد نجاح الاختبارات، ثم ادمج. عيّن قواعد حماية الفروع تتطلب مراجعة PR.
س كيف أقيّد Codex لقراءة مستودعات معينة فقط؟
ج اختر "Selected repos" أثناء تفويض GitHub OAuth، رخّص فقط للمستودعات الضرورية.
س هل يمكن لـ Codex تشغيل GitHub Actions؟
ج يمكنه تشغيل ومراقبة Actions عبر خادم GitHub MCP، لكن لا يمكنه تعديل ملفات سير العمل مباشرة.
س هل استخدام عدة مطورين لـ Codex على نفس المستودع يسبب تعارضات؟
ج ليس إذا كانوا يعدلون ملفات/فروع مختلفة. يجب أن يستخدم كل شخص فرع ميزات مستقل، تجنب العمليات المتوازية على نفس الفرع.

📖 ملخص


📝 تمارين

  1. أساسي (⭐): اربط مستودع GitHub، اجعل Codex ينشئ PR من Issue.
  2. متوسط (⭐⭐): إعداد GitHub Actions لمراجعة PR تلقائية.
  3. متقدم (⭐⭐⭐): تصميم سير عمل GitHub كامل — Issue ← إصلاح تلقائي ← PR ← مراجعة ← دمج ← إشعار، ارسم مخطط تدفق.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%