1 คะแนน โดย dohyeon5626 2026-04-06 | 2 ความคิดเห็น | แชร์ทาง WhatsApp

เวลาที่ดูแลโอเพนซอร์สรีโพซิทอรี บางครั้งอาจมีบอตสร้าง Issue หรือ PR แบบสแปมขึ้นมาได้ เพื่อป้องกันเรื่องนี้ ผมเลยลองทำ GitHub Action แบบง่าย ๆ ที่บังคับให้มีการยืนยันผ่าน Cloudflare Turnstile ตอนสร้าง Issue/PR

ลำดับการทำงาน

  1. เมื่อมีคนสร้าง Issue หรือ PR
  2. บอตจะคอมเมนต์อัตโนมัติพร้อมลิงก์สำหรับยืนยัน
  3. เมื่อผู้เขียนกดลิงก์และยืนยันเสร็จ คอมเมนต์จะถูกอัปเดตเป็นข้อความสำเร็จ
  4. หากยืนยันไม่สำเร็จหรือหมดเวลา คอมเมนต์จะถูกอัปเดตเป็นข้อความล้มเหลว และสามารถตั้งค่าให้ปิด Issue/PR อัตโนมัติหรือเพิ่ม label ได้ตามตัวเลือก

ตอนใช้งานสามารถเลือกปรับแต่งตัวเลือกได้ตามต้องการ

  • ตั้งค่าอีเวนต์ของ Issue/PR
  • ตั้งค่าให้ปิดอัตโนมัติเมื่อยืนยันล้มเหลว หรือเพิ่ม label
  • ตั้งค่าให้ข้ามการยืนยันสำหรับผู้ใช้บางราย (allowed-users)
  • ตั้งค่าให้ข้ามได้หากมีระดับสิทธิ์ตั้งแต่ที่กำหนดขึ้นไป (trusted-permission: read / write / admin)
  • ตั้งค่าให้ขอการยืนยันเฉพาะผู้ร่วมพัฒนาใหม่เท่านั้น (first-time-only)
  • สามารถกำหนดบัญชีคอมเมนต์เป็น github-actions[bot] หรือบัญชีบอตแบบกำหนดเองได้

ลิงก์โค้ดมีดังนี้
GitHub Action code: https://github.com/dohyeon5626/bot-check-action
โค้ดหน้าการยืนยัน: https://github.com/dohyeon5626/bot-check-page
โค้ดเซิร์ฟเวอร์สำหรับการยืนยัน: https://github.com/dohyeon5626/serverless-functions/…

นี่เป็นครั้งแรกที่ผมเขียนโพสต์ใน GeekNews! ที่นี่มีนักพัฒนาที่เก่ง ๆ เยอะมาก ถ้าให้ฟีดแบ็กกันได้ก็จะได้เรียนรู้อีกเยอะเลยครับ
นอกจากโปรเจกต์นี้แล้ว รีโพของผมที่ https://github.com/dohyeon5626 ไม่ว่าอันไหนก็ฝาก Issue หรือ PR กันได้ตามสบายเลยครับ ถ้ามีฟีดแบ็กให้จะขอบคุณมากครับ!!

2 ความคิดเห็น

 
asdl328 2026-04-17

เป็นโปรเจ็กต์ที่ดีนะครับ แต่เพราะไม่ได้มีโปรเจ็กต์ใหญ่ ๆ เลยไม่แน่ใจว่าจะมีโอกาสได้ใช้ไหม

 
kelw932 2026-04-17

ดูเหมือนว่าน่าจะช่วยป้องกันการที่บอตมาสร้าง issue/PR แบบง่าย ๆ ในโอเพนซอร์สได้ครับ