GitHub Copilot App สำหรับมือใหม่: เปลี่ยนการคัดกรอง Dependabot Pull Request ให้เป็นระบบอัตโนมัติ

แม้ผมอาจจะดูลำเอียงไปบ้าง แต่ผมมองว่า Dependabot นั้นยอดเยี่ยมมาก เพราะมันช่วยให้โปรเจกต์ของผมทันสมัยและใช้ไลบรารีที่ปลอดภัยอยู่เสมอ ทว่าเมื่อมีช่องโหว่ใหม่ๆ เกิดขึ้นบ่อยครั้ง ปริมาณ pull request (PR) จาก Dependabot ก็เพิ่มขึ้นเป็นเงาตามตัว
บางครั้งการอัปเดตอาจเป็นเพียงการขยับเวอร์ชันย่อย (minor version bump) หรือบางครั้งก็เป็นการอัปเกรดเวอร์ชันหลัก (major version upgrade) ซึ่งนักพัฒนาทุกคนต่างรู้ดีว่าบางครั้งการเปลี่ยนแปลงเหล่านี้อาจส่งผลกระทบจนทำให้ระบบพัง (breaking change) ได้
โจทย์สำคัญคือเราจะคัดกรอง (triage) pull request เหล่านี้ให้มีประสิทธิภาพได้อย่างไร? แม้งานนี้จะไม่ใช่เรื่องยากเป็นพิเศษ แต่ก็ปฏิเสธไม่ได้ว่าเป็นงานที่ซ้ำซากและน่าเบื่อสำหรับเหล่านักพัฒนา
นี่จึงเป็นงานที่เหมาะสมอย่างยิ่งสำหรับ Copilot! ด้วย GitHub Copilot app automations คุณสามารถส่งต่องานรีวิวรอบแรกให้ AI จัดการแทนได้ แทนที่จะต้องไล่เช็คทุกอันด้วยตัวเอง คุณสามารถสร้างระบบอัตโนมัติที่ช่วยรีวิว PR ที่ค้างอยู่ พร้อมจัดกลุ่มตามความเสี่ยง ตรวจสอบสถานะ CI และสรุปผลให้เสร็จสรรพก่อนเริ่มงานในแต่ละวัน
ลองทำตามขั้นตอนด้านล่างนี้เพื่อสร้างระบบคัดกรอง Dependabot อัตโนมัติรายวันกันครับ
ขั้นตอนที่ 1: สร้าง automation ใหม่
เริ่มจากเข้าไปที่ GitHub Copilot app แล้วเลือก สร้าง automation ใหม่ โดยคุณต้องกำหนดค่าพื้นฐาน 2 อย่าง ได้แก่:
- Name: ตั้งชื่อให้สื่อความหมาย เช่น Daily Dependabot Triage
- Trigger: เลือกช่วงเวลาที่ต้องการให้ระบบทำงาน
สำหรับตัวเลือก Trigger มีให้เลือกหลากหลาย ดังนี้:
- Manual (เรียกใช้งานเอง)
- Hourly (ทุกชั่วโมง)
- Daily (ทุกวัน)
- Weekly (ทุกสัปดาห์)
- เมื่อมีการสร้าง issue
สำหรับการบำรุงรักษาทั่วไปอย่าง Dependabot reviews การตั้งตารางเวลาแบบรายวันถือเป็นทางเลือกที่ดีที่สุด เช่น กำหนดให้รันก่อนเริ่มงาน เพื่อให้ข้อมูลสรุปพร้อมใช้งานทันทีที่คุณเริ่มล็อกอินเข้าระบบ นอกจากนี้คุณยังเลือกได้ว่าจะให้ automation รันบนคลาวด์หรือบนเครื่องโลคัลของคุณเอง
ขั้นตอนที่ 2: อธิบายงานด้วยภาษาธรรมชาติ
ขั้นตอนถัดมาคือการบอก Copilot ว่าคุณต้องการให้ทำอะไรบ้างผ่านคำสั่งภาษาธรรมชาติ (Prompt) ตัวอย่างเช่น:
Review the open Dependabot pull requests, group them by risk, identify the safe patch and minor version updates, verify that CI is passing for each pull request, and provide a short summary of the recommended next steps.
``` เนื่องจากเป็นการใช้ภาษาทั่วไป คุณจึงสามารถปรับแต่งคำสั่งให้เข้ากับเวิร์กโฟลว์เฉพาะของทีมคุณได้อย่างอิสระ
## ขั้นตอนที่ 3: เลือก repository
เลือก repository หรือโปรเจกต์ที่ต้องการให้ระบบเข้าไปวิเคราะห์ เมื่อเลือกเสร็จแล้วให้กดสร้าง automation หรือหากต้องการทดสอบระบบทันทีโดยไม่รอตามรอบเวลา ให้เลือกคำสั่ง **Create and Run**
## ขั้นตอนที่ 4: ตรวจสอบผลลัพธ์
เมื่อระบบทำงานเสร็จสิ้น Copilot จะส่งคืนรายงานสรุปผลภาพรวมแทนที่จะเป็นรายการ PR ยาวๆ โดยสิ่งที่ AI จะสรุปให้มีดังนี้:
* รวมกลุ่มการอัปเดต patch ที่ปลอดภัยไว้ด้วยกัน
* แยกการอัปเกรดเวอร์ชัน minor และ major ออกจากกันชัดเจน
* ระบุว่า pull request ตัวไหนที่ผ่านการทดสอบ CI แล้ว
* ไฮไลต์รายการ dependency ที่จำเป็นต้องตรวจสอบเพิ่มเติมเป็นพิเศษ
วิธีนี้จะช่วยให้คุณไม่ต้องเสียเวลาช่วงเช้าไปกับการตัดสินใจย่อยๆ มากมาย แต่สามารถระบุได้ทันทีว่าตัวไหนพร้อม merge และตัวไหนที่ต้องพิจารณาอย่างละเอียด
## ขั้นตอนที่ 5: ทำงานต่อใน Copilot session
หากการอัปเดตบางรายการต้องการการจัดการเพิ่มเติม คุณสามารถกดทำงานต่อได้ทันทีจากผลสรุปของ automation เช่น หากมีการอัปเกรด framework ครั้งใหญ่ คุณสามารถเปิด Copilot session ใหม่จากหน้านั้นเพื่อขอให้ AI ช่วยดำเนินการย้ายระบบ (migration) ให้เสร็จสิ้น โดยที่ AI จะมีบริบทเดิมครบถ้วนโดยที่คุณไม่ต้องอธิบายข้อมูลใหม่
## ตรวจสอบการรัน automation ย้อนหลัง
ทุกการทำงานของระบบจะถูกบันทึกประวัติไว้ ทำให้ง่ายต่อการตรวจสอบว่าระบบรันเมื่อไหร่ ดำเนินการอะไรไปบ้าง และได้ผลลัพธ์อย่างไร การมีประวัติย้อนหลังช่วยให้การทำ automation มีความโปร่งใสและตรวจสอบได้เสมอ ไม่ใช่แค่การทำงานในกล่องดำที่มองไม่เห็นกระบวนการ
## เปลี่ยนงานที่ซ้ำซากให้เป็นงานเบื้องหลัง
การคัดกรอง Dependabot เป็นเพียงตัวอย่างหนึ่งของงานรูทีนที่เหมาะกับการทำ automation เพียงแค่คุณอธิบายเวิร์กโฟลว์ครั้งเดียวและตั้งเวลาไว้ Copilot ก็จะจัดการขั้นตอนน่าเบื่อเหล่านั้นให้โดยอัตโนมัติ
สำหรับผู้ที่เพิ่งเริ่มต้น ให้เริ่มจากงานที่คุณต้องทำเป็นประจำ ปล่อยให้ Copilot รับภาระงานเหล่านั้นไป เพื่อให้คุณมีเวลาโฟกัสกับการตัดสินใจที่สำคัญและต้องใช้ความเชี่ยวชาญของคุณอย่างเต็มที่
**พร้อมจะเปลี่ยนงานประจำให้เป็นระบบอัตโนมัติแล้วหรือยัง?** [สร้าง automation แรกของคุณใน GitHub Copilot app >](https://github.com/features/ai/github-app)ความคิดเห็น (0)
เข้าสู่ระบบเพื่อร่วมแสดงความเห็น
สมัครสมาชิกมาเป็นคนแรกที่แสดงความเห็นกันเลยโบร
