ในฐานะส่วนหนึ่งของโครงการผู้ออกหลักทรัพย์ มีการเตรียมบอทสำหรับ GitHub ซึ่งจะแก้งานในการกลั่นกรองโดยอัตโนมัติ ระบบติดตามบน GitHub ใน GitHub คุณสามารถค้นหาที่เก็บที่มีหน้าที่เพียงอย่างเดียวคือประสานผู้คนผ่านระบบปัญหา
ในบางคน เมื่อออกจากปัญหาคุณจะได้รับแจ้งให้กรอกแบบฟอร์มแล้วฉันก็เห็นมีผู้ดูแลตรวจสอบความถูกต้องของการกรอกแบบฟอร์มและโพสต์แท็ก ตามที่ระบุในแบบฟอร์ม (ผู้ใช้ที่มีสิทธิพิเศษสามารถแขวนแท็กได้หากไม่ได้ระบุไว้ในเทมเพลต) ตัวอย่างของชุมชนดังกล่าวคือชุมชน Open Source Ideas
ผู้ดูแลไม่ได้มาในทันที ดังนั้น, มีการเตรียมการดำเนินการของ GitHub ในข่าวเพื่อตรวจสอบความถูกต้องของแบบฟอร์มและดำเนินการ
บอทเขียนด้วย Pythonแต่ยังคงต้องรันผ่าน node.js เนื่องจาก GitHub มีการดำเนินการ 2 ประเภทเท่านั้น: node.js และ docker และสำหรับนักเทียบท่าก่อนอื่นคอนเทนเนอร์เดียวกันกับ node.js จะถูกโหลดและโหลดลงในคอนเทนเนอร์อื่นที่ มันยาว
เมื่อพิจารณาว่า python3 และทุกสิ่งที่คุณต้องการอยู่ในคอนเทนเนอร์ที่มี node.js จึงมีเหตุผลเพียงแค่โหลดการอ้างอิงลงในนั้นเนื่องจากมีขนาดเล็ก
นี่คือการดำเนินการ GitHub ที่มี 3 ฟังก์ชันที่เชื่อมต่อสำหรับการจัดการปัญหา
ตรวจสอบว่าปัญหาที่เข้ามาตรงกับเทมเพลตหรือไม่:
ส่วนต่างๆไม่มีบรรทัดจากเทมเพลตเริ่มต้น (โดยปกติจะแสดงเมื่อผู้ใช้ไม่ใส่ใจที่จะทำส่วนให้เสร็จสมบูรณ์)
ส่วนที่มีช่องทำเครื่องหมายที่จะตั้งเป็นป้ายกำกับจะมีเฉพาะช่องทำเครื่องหมายที่มีอยู่ในเทมเพลตดั้งเดิมเท่านั้น
แต่ละส่วนมีช่องจำนวนเท่าใดในช่วง [min, max]
ตั้งค่าป้ายกำกับตามช่องทำเครื่องหมาย
ปิดปัญหาโดยอัตโนมัติหากผู้เขียนไม่ได้แก้ไขปัญหาที่เน้นโดย linter ภายในช่วงเวลาหนึ่ง
การใช้บุคคลเฉพาะในการกำหนดป้ายกำกับเป็นภาระเนื่องจากเป็นการดีที่สุดที่จะอนุญาตให้ผู้ใช้ทำ "บริการตนเอง" ผู้ใช้สามารถกำหนดป้ายกำกับบางส่วนให้กับปัญหาของชุดย่อยที่ถูก จำกัด ซึ่งสามารถทำได้ผ่านส่วนขยาย Markdown และช่องทำเครื่องหมาย
ด้วยนั่นเอง เมื่อผู้ใช้ตรวจสอบช่องทำเครื่องหมาย หรือปุ่มตัวเลือก บอทจะตั้งค่าป้ายกำกับตามนั้น
จากลักษณะที่โดดเด่น ของบอทนี้ที่เตรียมไว้มีดังต่อไปนี้:
- การดำเนินการถูกควบคุมโดยการตั้งค่า YAML และแม่แบบ Markdown;
- บล็อกจะถูกเพิ่มลงในเทมเพลต Markdown แต่ละแบบ ที่อธิบายเงื่อนไขสำหรับการกรอกแบบฟอร์มที่ถูกต้องและการดำเนินการที่ต้องการ
- มีการเพิ่มไฟล์การกำหนดค่าที่มีการตั้งค่าส่วนกลาง
- แบบฟอร์มประกอบด้วยส่วนต่างๆ
- มี 2 ประเภทของส่วน:
ข้อความฟรี: การดำเนินการสามารถตรวจสอบได้ว่าผู้ใช้ใส่ใจที่จะทำบางสิ่งให้เสร็จสมบูรณ์ ความหมายของข้อความไม่ได้รับการตรวจสอบโดยอัตโนมัติ
ในช่องทำเครื่องหมาย n จำนวนแฟล็กที่สามารถร้องขอและ / หรือเสร็จสิ้นเพื่อให้ 0 {= m1 {= n {= m2 {= จำนวนแฟล็กทั้งหมดในส่วน - การดำเนินการตรวจสอบว่ากล่องตรงกับกล่องในเทมเพลต. หากตั้งค่าแฟล็กอย่างถูกต้องการดำเนินการอาจค้างบนแท็กปัญหา resp ช่องทำเครื่องหมาย
- หากกรอกแบบฟอร์มไม่ถูกต้องการดำเนินการจะแนะนำวิธีการกรอกอย่างถูกต้องให้กับผู้ใช้และเพิ่มแท็กพิเศษ
- หากแบบฟอร์มไม่ได้รับการแก้ไขภายในระยะเวลาหนึ่งการดำเนินการอาจปิดปัญหาได้ การแบนผู้ใช้โดยอัตโนมัติการนำออกและการย้ายตำแหน่งของปัญหายังไม่ได้รับการดำเนินการเนื่องจากไม่มี API อย่างเป็นทางการสำหรับการดำเนินการที่จำเป็นและปัญหาเกี่ยวกับสถานะการจัดเก็บ
- หากปัญหาได้รับการแก้ไขการดำเนินการจะลบเครื่องหมายออก
- แน่นอนว่าการตอบสนองต่อเทมเพลตการดำเนินการนั้นสามารถปรับแต่งได้
ในที่สุด หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมคุณสามารถตรวจสอบรายละเอียดได้โดยไปที่ ลิงค์ต่อไปนี้