ทำเทมเพลตให้กับ Issue/Merge Request ใน GitLab กันหน่อย

aofleejay
aofleejay
Jul 1 · 1 min read

ถ้าเราเป็นเจ้าของโปรเจค เวลามีคนเปิด issue หรือส่ง merge request มา เราอยากให้เขาเขียนรายละเอียดอะไรใส่ลงไปบ้างนะ ?


สำหรับผม เวลามีคนมารีพอร์ตบัค ผมเองก็อยากรู้ว่าบัคที่เขาเจอมีอาการยังไง, ผลลัพธ์ที่ควรจะได้เป็นแบบไหน, สเต็ปในการเล่นต้องทำยังไงบ้างถึงจะเจอบัค, เจอบัคที่เวอร์ชันไหน ใช้อุปกรณ์อะไร ฯลฯ

ถ้าเป็น merge request ก็คงอยากได้รายละเอียดว่าโค้ดที่เขียนมามันทำอะไร, จะทดสอบหรือเล่นมันยังไงได้บ้าง

แล้วเราจะบอกเล่าความต้องการนี้ยังไงดีนะ ?

ใช้เทมเพลตสิ

ในฐานะเจ้าของโปรเจคเราสามารถ สร้างเทมเพลตของ merge request และ issue ใส่ไว้ในโปรเจคได้ด้วยนะ เวลามีคนมาเปิด issue หรือ merge request ก็จะมีตัวเลือกให้ว่าจะใช้เทมเพลตไหนครับ ผมขอยกตัวอย่างเป็น GitLab แล้วกัน

วิธีการก็คือเราจะสร้างไฟล์ markdown ไว้ในโปรเจคของเรา ที่ .gitlab/issue_templates และ .gitlab/merge_request_templates สำหรับ issue และ merge request ตามลำดับ

สมมติว่าผมสร้างไฟล์เทมเพลตสำหรับแจ้งบัคไว้ที่ .gitlab/issue_templates/bug.md โดยมีหัวข้อที่ผมอยากรู้ ดังนี้

## Expected Behavior## Actual Behavior## Steps to Reproduce the Problem
1.
2.
3.
## Specifications
- Version:
- Platform:
- Subsystem:

คราวหน้าเวลามีคนมาเปิด issue ก็จะมีตัวเลือกให้เราเลือกเทมเพลตที่มีในโปรเจคได้ ซึ่งมันก็จะเอา markdown ในเทมเพลตไปวางนี่แหละ เราก็เข้าไปใส่รายละเอียดในแต่ละหัวข้อได้เลย

เลือกเทมเพลตของ Issue และ Merge Request

ภายในโฟลเดอร์ เราสามารถใส่เทมเพลตอื่นๆได้อีกนะครับ ตัวอย่างเช่น bug, question, enhancement เพราะในแต่ละเทมเพลตก็อาจจะต้องการเนื้อหาที่ไม่เหมือนกัน

สรุป

การมีรายละเอียดใน issue และ merge request ผมว่าเป็นเรื่องดีอยู่แล้ว ซึ่งการมีเทมเพลตก็จะช่วยให้ใส่รายละเอียดได้ตรงตามที่เจ้าของโปรเจคอยากได้ คนสร้าง issue ก็ไม่ต้องจำและไม่ต้องเดาเอาเองว่าจะต้องเขียนอะไรบ้าง

สำหรับใครที่อยากได้เทมเพลตก็ใช้ตาม repository นี้ได้นะครับ มีให้เลือกหลายแบบเลย