❤️ AZDIGI chính thức cập nhật hệ thống blog mới hoàn chỉnh. Tuy nhiên có thể một số bài viết bị sai lệch hình ảnh, hãy ấn nút Báo cáo bài viết ở cuối bài để AZDIGI cập nhật trong thời gian nhanh nhất. Chân thành cám ơn.

GitHub không chỉ là nơi lưu code. Đó là nơi quản lý issues, review pull requests, chạy CI/CD, viết documentation, release phần mềm, và cộng tác với team. Vấn đề là mỗi tác vụ đòi hỏi bạn mở browser, navigate đến đúng repo, đúng tab, đọc context, rồi mới hành động. Lặp đi lặp lại hàng chục lần mỗi ngày.

Bài viết này hướng dẫn tích hợp OpenClaw với GitHub để quản lý toàn bộ workflow phát triển phần mềm qua chat. Không chỉ code review và CI/CD, mà bao gồm quản lý issues, pull requests, releases, documentation, và cả project management. Đây là bài chi tiết nhất trong serie, dành cho developer và team lead muốn tối ưu hoá workflow.

OpenClaw tích hợp GitHub: quản lý toàn bộ workflow phát triển phần mềm

Tổng quan kiến trúc

OpenClaw kết nối với GitHub qua hai đường:

GitHub CLI (gh): Bot sử dụng lệnh gh để tương tác trực tiếp với GitHub API. Tạo issue, review PR, merge, release — tất cả qua command line. Đây là cách chính vì linh hoạt và không cần expose webhook.

GitHub Webhooks: GitHub gửi event đến OpenClaw khi có hoạt động mới (PR opened, issue created, CI failed…). Bot nhận event, phân tích, và hành động tự động. Cách này yêu cầu OpenClaw có endpoint public (qua Tailscale serve hoặc reverse proxy).

Bạn có thể dùng một trong hai hoặc cả hai. Bài này hướng dẫn cả hai cách.

Bước 1: Cài đặt và xác thực GitHub CLI

Trên VPS chạy OpenClaw:

# Cài GitHub CLI
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
sudo apt update && sudo apt install gh -y
# Xác thực bằng Personal Access Token (PAT)
# Tạo PAT tại: GitHub → Settings → Developer settings → Personal access tokens → Tokens (classic)
# Cần scopes: repo, workflow, read:org
echo "YOUR_GITHUB_PAT" | gh auth login --with-token

Xác nhận đã login thành công:

gh auth status
# ✓ Logged in to github.com as your-username

Bước 2: Tạo skill GitHub

Tạo skill tại ~/.openclaw/workspace/skills/github/SKILL.md:

---
name: github
description: Quản lý GitHub repositories. Dùng khi người dùng yêu cầu về issues, pull requests, code review, CI/CD, releases, branches, commits, hoặc bất kỳ tác vụ GitHub nào.
metadata: {"openclaw": {"requires": {"bins": ["gh"]}}}
---

# GitHub Manager

Sử dụng GitHub CLI (gh) để tương tác với GitHub. Đọc references/repos.md để biết danh sách repos và conventions.

## Lệnh phổ biến

### Issues ```bash # Liệt kê issues mở gh issue list -R owner/repo

# Tạo issue mới gh issue create -R owner/repo --title "..." --body "..." --label "bug"

# Xem chi tiết issue gh issue view 123 -R owner/repo

# Đóng issue với comment gh issue close 123 -R owner/repo --comment "Fixed in #456"

# Tìm issues theo label gh issue list -R owner/repo --label "bug" --state open ```

### Pull Requests ```bash # Liệt kê PRs mở gh pr list -R owner/repo

# Xem diff của PR gh pr diff 456 -R owner/repo

# Review PR (approve/comment/request-changes) gh pr review 456 -R owner/repo --approve --body "LGTM" gh pr review 456 -R owner/repo --request-changes --body "Cần sửa..."

# Merge PR gh pr merge 456 -R owner/repo --squash --delete-branch

# Tạo PR gh pr create -R owner/repo --title "..." --body "..." --base main ```

### CI/CD (Actions) ```bash # Xem runs gần nhất gh run list -R owner/repo --limit 10

# Xem chi tiết run gh run view RUN_ID -R owner/repo

# Xem log của run thất bại gh run view RUN_ID -R owner/repo --log-failed

# Re-run workflow gh run rerun RUN_ID -R owner/repo ```

### Releases ```bash # Liệt kê releases gh release list -R owner/repo

# Tạo release gh release create v1.2.3 -R owner/repo --title "v1.2.3" --notes "..."

# Tạo release với auto-generated notes gh release create v1.2.3 -R owner/repo --generate-notes ```

### Repository ```bash # Clone repo gh repo clone owner/repo

# Xem repo info gh repo view owner/repo

# Tìm repos gh search repos "keyword" --owner=org-name ```

## Quy tắc - Luôn dùng flag -R owner/repo để chỉ định repo - Khi review code, đọc diff trước, phân tích kỹ, rồi mới comment - Khi tạo release notes, đọc commits từ tag trước đến nay - KHÔNG merge PR mà chưa được approve (trừ khi user yêu cầu rõ ràng) - KHÔNG force push hoặc delete branches quan trọng (main, develop)

Tạo file references/repos.md ghi thông tin repositories:

### Repositories

#### my-company/web-app (Production) - Stack: Next.js, TypeScript, PostgreSQL - Branch strategy: main → production, develop → staging - CI: GitHub Actions (.github/workflows/ci.yml) - Deploy: push to main triggers auto-deploy - Code style: ESLint + Prettier, phải pass CI trước khi merge - Reviewers mặc định: @senior-dev, @tech-lead

#### my-company/api-service - Stack: Go, gRPC, Redis - Branch strategy: trunk-based (main only) - CI: test + lint + build Docker image - Code style: golangci-lint

#### my-company/mobile-app - Stack: React Native, TypeScript - Branch strategy: main + release branches - CI: test + build APK/IPA

### Conventions - Commit format: conventional commits (feat:, fix:, chore:, docs:) - PR title: cùng format conventional commits - Issue labels: bug, feature, enhancement, documentation, urgent

Quản lý Issues qua chat

Issues là cách phổ biến nhất để track công việc trên GitHub. Với OpenClaw, bạn quản lý issues mà không cần mở browser:

Tạo issue từ ý tưởng:

“Tạo issue cho web-app: trang product detail load chậm trên mobile, cần optimize ảnh và lazy load”

Bot tạo issue với title rõ ràng, body chi tiết (bao gồm mô tả vấn đề, steps to reproduce nếu có, expected behavior), gán label “performance”, và assign cho người phù hợp dựa trên repos.md.

Triage issues hàng ngày:

“Xem tất cả issues mới chưa label trong web-app, gợi ý label và priority cho từng issue”

Bot liệt kê issues, đọc nội dung, đề xuất label (bug/feature/enhancement) và priority. Bạn confirm và bot gán tự động.

Tổng hợp progress:

“Tổng hợp issues tuần này cho web-app: bao nhiêu mở mới, bao nhiêu đóng, top 5 issues cần xử lý”

Bot query GitHub API, tính toán và trả về báo cáo ngắn gọn. Cấu hình cron job để nhận báo cáo tự động mỗi thứ Hai:

openclaw cron add "Tổng hợp issues tuần qua cho tất cả repos trong references/repos.md: issues mở mới, issues đóng, issues tồn đọng lâu nhất. Format báo cáo ngắn gọn." \
  --cron "0 9 * * 1" --channel telegram

Code Review bằng AI

Đây là use case mạnh nhất. Bot đọc diff của PR, phân tích code, và đưa ra nhận xét chi tiết:

“Review PR #456 trong web-app”

Bot thực hiện:

1. Chạy gh pr view 456 để đọc title, description, author, labels.

2. Chạy gh pr diff 456 để lấy toàn bộ thay đổi code.

3. Phân tích diff: logic có đúng không, code style có tuân thủ convention không, có potential bugs không, có security concerns không, test coverage đủ chưa.

4. Trả về nhận xét chi tiết theo từng file, kèm gợi ý cải thiện.

5. Nếu bạn đồng ý, bot approve hoặc request changes trực tiếp trên GitHub.

Ví dụ output:

📋 PR #456: "Add product image optimization"

✅ Ưu điểm: - Logic resize ảnh clean, dùng sharp library đúng cách - Có error handling cho trường hợp file không hợp lệ - Test coverage đủ cho happy path

⚠️ Cần xem lại: - src/utils/image.ts:45 — Biến `MAX_SIZE` hardcode 1MB, nên đưa vào config - src/api/products.ts:112 — Thiếu rate limit cho upload endpoint - Chưa có test cho edge case: file quá lớn, format không hỗ trợ

🔒 Security: - Upload endpoint không validate file type phía server (chỉ check extension) - Đề xuất: thêm magic bytes check

Recommend: Request changes (2 issues cần fix trước khi merge)

Auto-review cho mọi PR:

Kết hợp webhook: mỗi khi có PR mới, GitHub gửi event → OpenClaw tự review → gửi kết quả qua Telegram và comment trên PR. Team nhận AI review trước khi human reviewer bắt đầu, tiết kiệm thời gian.

CI/CD Monitoring và Debug

CI fail lúc 11 giờ đêm, log dài 500 dòng. Bình thường bạn phải mở GitHub Actions, scroll tìm dòng lỗi. Với OpenClaw:

“CI web-app vừa fail, check xem lỗi gì”

Bot chạy gh run list tìm run fail gần nhất, gh run view --log-failed lấy log lỗi, phân tích nguyên nhân, và đề xuất fix:

🔴 CI Run #1234 FAILED (PR #457, branch: feature/payment)

Lỗi: Test "processPayment should handle timeout" failed File: src/__tests__/payment.test.ts:89 Expected: "TIMEOUT_ERROR" Received: "NETWORK_ERROR"

Nguyên nhân: PR #457 thay đổi error handling trong payment service, nhưng chưa update test tương ứng. Error type đổi từ generic NETWORK_ERROR sang specific TIMEOUT_ERROR.

Fix đề xuất: Update assertion ở line 89 từ "NETWORK_ERROR" → "TIMEOUT_ERROR"

Cấu hình webhook tự động alert khi CI fail:

Trên GitHub repo → Settings → Webhooks → Add webhook:

Payload URL: https://your-domain/hooks/agent
Content type: application/json
Secret: your-webhook-secret
Events: Workflow runs

Trong OpenClaw, cấu hình webhook handler sẽ nhận event, kiểm tra nếu workflow failed thì tự động phân tích log và gửi báo cáo qua Telegram.

Quản lý Pull Requests

Ngoài review, bot giúp quản lý lifecycle của PR:

Tạo PR từ chat:

“Tạo PR từ branch feature/payment vào main cho web-app, title theo conventional commits”

Bot chạy gh pr create, tự viết description dựa trên commits trong branch, list files changed, và tag reviewers theo repos.md.

Merge khi ready:

“Merge PR #456 squash, xoá branch”

Bot kiểm tra: CI pass chưa? Có approval chưa? Có conflict không? Nếu tất cả OK, merge. Nếu chưa, bot thông báo thiếu gì.

Stale PR cleanup:

openclaw cron add "Liệt kê PR trong web-app đã mở hơn 7 ngày chưa merge. Ping author nhắc review." \
  --cron "0 10 * * 3" --channel telegram

Release Management

Viết release notes là công việc nhàm chán nhất. Bot tự động hoá hoàn toàn:

“Tạo release v2.1.0 cho web-app, tổng hợp thay đổi từ v2.0.0”

Bot thực hiện:

1. Lấy danh sách commits từ v2.0.0 đến HEAD: gh api repos/owner/repo/compare/v2.0.0...main

2. Phân loại commits theo conventional commits: features, fixes, breaking changes, docs.

3. Viết release notes tiếng Việt hoặc tiếng Anh (tuỳ bạn chọn), format rõ ràng.

4. Tạo release trên GitHub với gh release create.

Ví dụ release notes bot tạo:

## v2.1.0 (2026-03-13)

### ✨ Features - Product image optimization with auto-resize (#456) - Add payment timeout handling (#457) - Dark mode support for dashboard (#461)

### 🐛 Bug Fixes - Fix cart total calculation with discount (#458) - Fix mobile navigation overlap (#460)

### 📚 Documentation - Update API docs for payment endpoints (#459)

### Breaking Changes - None

**Full Changelog**: v2.0.0...v2.1.0

Branch và Repository Management

Quản lý branches cho team:

“Liệt kê branches đã merge nhưng chưa xoá trong web-app” — Bot tìm stale branches, bạn confirm xoá.

“Tạo branch hotfix/payment-bug từ main cho web-app” — Bot tạo branch qua API.

“So sánh develop với main, có gì khác?” — Bot lấy diff giữa hai branches, tóm tắt thay đổi.

Quản lý nhiều repos:

“Tất cả repos của company đang dùng Node version mấy?” — Bot check package.json hoặc .nvmrc trong mỗi repo, tổng hợp.

“Repo nào chưa có CI/CD?” — Bot kiểm tra .github/workflows trong tất cả repos, báo cáo repo nào thiếu.

Documentation Assistant

Bot giúp duy trì documentation luôn cập nhật:

“Đọc code file src/api/products.ts trong web-app, tạo API documentation format OpenAPI”

Bot clone hoặc fetch file content qua gh api, phân tích code, tạo documentation. Bạn review rồi bot commit thẳng vào repo.

“README của api-service chưa cập nhật phần environment variables, update giúp”

Bot đọc README hiện tại, đọc code để tìm env vars được sử dụng, update README và tạo PR.

Cron job kiểm tra docs hàng tháng:

openclaw cron add "Kiểm tra README.md của tất cả repos. Xem có thông tin lỗi thời không (dead links, outdated commands, deprecated dependencies). Báo cáo cần update gì." \
  --cron "0 10 1 * *" --channel telegram

Commit Analysis và Code Intelligence

Bot phân tích hoạt động code của team:

“Tuần này ai commit nhiều nhất trong web-app? Commit về feature hay fix bug?”

Bot query commit history, phân tích và trả về: “Tuần này: 23 commits. @alice: 10 (6 features, 4 fixes). @bob: 8 (3 features, 5 fixes). @charlie: 5 (docs updates).”

“File nào trong web-app thay đổi nhiều nhất tháng này?” — Bot phân tích change frequency, chỉ ra hotspots có thể cần refactor.

“Commit history cho file src/api/payment.ts, tóm tắt evolution” — Bot đọc git log cho file, tóm tắt thay đổi theo thời gian, giúp hiểu context khi debug.

Security và Dependency Management

Bot giúp track security:

“Check Dependabot alerts cho web-app” — Bot liệt kê security vulnerabilities, severity, và đề xuất update.

“Dependencies nào outdated trong api-service?” — Bot đọc go.mod hoặc package.json, so sánh với latest versions.

Cron job security scan hàng tuần:

openclaw cron add "Kiểm tra Dependabot alerts và security advisories cho tất cả repos. Tổng hợp vulnerabilities theo severity (critical/high/medium/low). Cảnh báo nếu có critical." \
  --cron "0 9 * * 1" --channel telegram

Cấu hình GitHub Webhooks (nâng cao)

Để bot phản ứng real-time với events trên GitHub, cấu hình webhook:

Trên GitHub repo → Settings → Webhooks → Add webhook. Chọn events: Push, Pull requests, Issues, Workflow runs, Releases.

Payload URL: https://your-domain/hooks/agent với header Authorization: Bearer your-token.

Trong AGENTS.md, thêm rules xử lý events:

## GitHub Webhook Rules
- PR opened → tự động review code, comment trên PR, gửi summary qua Telegram
- PR merged to main → gửi notification qua Telegram
- Issue created với label "urgent" → gửi Telegram ngay
- CI/CD failed → phân tích log, gửi Telegram kèm nguyên nhân và đề xuất fix
- Release published → gửi announcement qua Telegram
- Push to main với > 5 files changed → cảnh báo "large push, review needed"

Workflow mẫu: Từ issue đến release

Dưới đây là workflow hoàn chỉnh quản lý bằng OpenClaw:

Bước 1: “Tạo issue: user báo không checkout được khi dùng coupon code” → Bot tạo issue #500, label “bug”, assign @alice.

Bước 2: Alice fix xong, push code. “Review PR #501 cho issue #500” → Bot review diff, comment chi tiết.

Bước 3: “Approve và merge PR #501” → Bot approve, squash merge, xoá branch, auto-close issue #500.

Bước 4: CI pass. “Tạo release v2.1.1 hotfix” → Bot tạo release với notes tự động.

Bước 5: Bot gửi Telegram: “🚀 web-app v2.1.1 released — Fix: checkout with coupon code (#500)”.

Toàn bộ workflow trên thực hiện qua Telegram, không mở GitHub website một lần nào.

Kết luận

GitHub integration biến OpenClaw thành trung tâm điều phối phát triển phần mềm. Từ triage issues, review code, debug CI, đến release management — tất cả qua chat. Đặc biệt hữu ích cho team lead và solo developers muốn quản lý nhiều repos mà không muốn sống trên browser.

Bắt đầu từ cài gh CLI và tạo skill cơ bản. Sau đó mở rộng dần: thêm webhook cho real-time events, cron jobs cho báo cáo định kỳ, và rules trong AGENTS.md cho automation thông minh.

Gợi ý hạ tầng để bạn chạy dev workflow mượt hơn

Nếu bạn muốn đưa workflow kiểu OpenClaw + GitHub ra môi trường chạy ổn định hơn thay vì chỉ test local, một VPS riêng sẽ tiện hơn khá nhiều: từ chạy agent nền, webhook, GitHub Actions self-hosted runner cho tới các job build hoặc script tự động. Với nhu cầu dev/test phổ biến, bạn có thể xem Pro VPS từ 99.000đ/tháng để có một máy Linux gọn nhẹ, dễ dựng nhanh.

Nếu ưu tiên tốc độ đọc ghi và băng thông cho CI/CD hoặc môi trường code luôn phản hồi nhanh, X-Platinum VPS là lựa chọn đáng cân nhắc nhờ NVMe và network 1Gbps. Còn khi bạn cần một hạ tầng mạnh và ổn định hơn để chạy nhiều workflow hoặc agent song song, có thể tham khảo AMD Cloud Server.

  • Pro VPS — phù hợp dev/test, self-hosted runner, automation cơ bản
  • X-Platinum VPS — hợp với workload cần NVMe và băng thông cao
  • AMD Cloud Server — dành cho nhu cầu chạy nhiều tác vụ ổn định hơn

Tất cả bài trong serie:

Chia sẻ:
Bài viết đã được kiểm duyệt bởi AZDIGI Team

Về tác giả

Thạch Phạm

Thạch Phạm

Đồng sáng lập và Giám đốc điều hành của AZDIGI. Có hơn 15 năm kinh nghiệm trong phổ biến kiến thức liên quan đến WordPress tại thachpham.com, phát triển website và phát triển hệ thống.

Hơn 10 năm phục vụ 80.000+ khách hàng

Bắt đầu dự án web của bạn với AZDIGI