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

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)
Source: GitHub Blog
ดูแลงานแปลและเรียบเรียงโดย NatapolK

ความคิดเห็น (0)

เข้าสู่ระบบเพื่อร่วมแสดงความเห็น

สมัครสมาชิก

มาเป็นคนแรกที่แสดงความเห็นกันเลยโบร