บอทตรวจสอบ PR บน GitHub
บอทตรวจสอบ PR บน GitHub — คู่มือเข้าใจง่ายอ้างอิงจากเอกสารอย่างเป็นทางการ
ลองนึกภาพว่ามีเพื่อนร่วมทีมที่ไม่มีวันเหนื่อย คอยรีวิวทุกพูลรีเควสต์ทันทีที่มันเข้ามา—ไม่ต้องพักเบรก ไม่มีคำว่า “เดี๋ยวว่างแล้วค่อยทำ” นั่นแหละคือสิ่งที่คุณสร้างได้ด้วย Hermes Agent
สิ่งที่เราจะสร้าง
บอทที่คอยเฝ้าดูรีพอซิทอรี GitHub ของคุณ และรีวิวพูลรีเควสต์ใหม่โดยอัตโนมัติ เมื่อมีคนเปิด PR บอทจะเข้ามาทันที ตรวจสอบ diff และโพสต์ฟีดแบ็ก—ทั้งหมดผ่าน WeChat คุณจึงเห็นรีวิวได้ในแอปแชทโดยตรง
ขั้นตอนที่ 1: เตรียม WeChat Gateway ให้พร้อม
อย่างแรก เราต้องเชื่อมต่อ Hermes เข้ากับ WeChat ตรงนี้ใช้ iLink Bot ซึ่งช่วยให้คุณรับและส่งข้อความได้โดยไม่ต้องรันเซิร์ฟเวอร์
# ติดตั้ง Hermes Agent
pip install hermes-agent
# ตั้งค่า WeChat adapter
hermes gateway setup
คุณจะเห็นคิวอาร์โค้ด—สแกนด้วย WeChat เพื่อเข้าสู่ระบบ ข้อมูลรับรองจะถูกบันทึกให้อัตโนมัติ
ขั้นตอนที่ 2: ตั้งค่าบอทของคุณ
สร้างไฟล์ config.yaml และเพิ่มการตั้งค่า WeChat ของคุณ:
platforms:
weixin:
extra:
account_id: your-account-id
dm_policy: open
จากนั้นเพิ่มการเชื่อมต่อ GitHub คุณจะต้องมี personal access token จาก GitHub:
integrations:
github:
token: your-github-token
repos:
- your-username/your-repo
ขั้นตอนที่ 3: เขียนตรรกะการรีวิว
สร้างสคริปต์ง่ายๆ ที่จะทำงานเมื่อมี PR ใหม่:
from hermes import Agent
agent = Agent()
@agent.on("github.pull_request.opened")
async def review_pr(event):
pr = event.pull_request
diff = await pr.get_diff()
# เช็คง่ายๆ: flag PR ที่ใหญ่เกินไป
if len(diff.splitlines()) > 500:
await pr.comment("⚠️ PR นี้ค่อนข้างใหญ่ ลองแยกเป็นส่วนๆ ดูไหม")
# เช็คว่ามีเทสต์หรือไม่
if "test" not in diff.lower():
await pr.comment("แจ้งเตือน: ไม่พบการเปลี่ยนแปลงไฟล์เทสต์")
ขั้นตอนที่ 4: เริ่ม Gateway
hermes gateway
แค่นี้เอง! บอทของคุณพร้อมทำงานแล้ว เมื่อมีคนเปิด PR มันจะโพสต์คอมเมนต์ไปที่ PR และส่งการแจ้งเตือนผ่าน WeChat ให้คุณโดยอัตโนมัติ
ทำไมถึงเจ๋ง
- ไม่ต้องใช้ webhooks หรือเซิร์ฟเวอร์—Hermes ใช้ long-polling กับ GitHub จึงไม่ต้องมี endpoint สาธารณะ
- จัดการข้อความอย่างชาญฉลาด—รีวิวยาวๆ อยู่ในบับเบิลเดียว ไม่ถูกตัดแบ่งอย่างน่าอึดอัด
- แสดงสถานะการพิมพ์—คุณเห็น “กำลังพิมพ์…” ใน WeChat ขณะที่บอททำงาน
- มีระบบลองใหม่ในตัว—ข้อผิดพลาดชั่วคราวไม่ทำให้บอทของคุณล่ม
สรุป & ทิปเด็ด
คุณเพิ่งสร้างบอทรีวิว PR ที่ทำงานผ่าน WeChat โดยไม่ต้องมีโครงสร้างพื้นฐานอะไรเลย เริ่มจากง่ายๆ—flag PR ที่ใหญ่เกินไป เช็คว่ามีเทสต์หรือไม่ หรือเตือนเรื่องการอัปเดต changelog
ทิปเด็ด: เริ่มจากเช็คแค่อย่างเดียว (เช่นการตรวจจับเทสต์ด้านบน) รันไปสักอาทิตย์ ดูว่าทีมของคุณต้องการอะไรจริงๆ แล้วค่อยเพิ่มกฎอื่นๆ บอทที่ทำสามอย่างได้ดี ดีกว่าบอทที่พยายามทำทุกอย่างแล้วทำให้ทุกคนรำคาญ
📖 เอกสารทางการ
この記事は Hermes Agent のเอกสารทางการに基づいています:เอกสารทางการ › guides/github-pr-review-agent