มารู้จัก ภาษา JQL กันเถอะ

Tanakorn Triniti
te<h @TDG
Published in
2 min readAug 22, 2019

มาถึงตรงนี้ JQL หรือ คืออะไร พิมพ์ผิดหรือเปล่า SQL ไม่ใช่หรอ… ไม่ผิดครับ JQL ย่อมาจาก Jira Query Language ซึ่งไม่เพียงแต่ใช้ในการค้นหาค่าต่างๆ ใน JIRA แต่ยังรวมถึงการจัดการ config ต่างๆ ได้อีกด้วย

ก่อนอื่น มาเรียนรู้เกี่ยวกับ โครงสร้างของ JQL กันก่อนเลย

เหมือนภาษา query ทั่วๆไป JQL ประกอบด้วย 3 ส่วนหลักคือ

Field + Operator + Value + Keyword

  1. Field คือ ค่าต่างๆ ที่เราต้องการค้นหา ไม่ว่าจะเป็น summary, issuetype, project name…etc.
  2. Operator คือ ส่วนที่สำคัญที่สุดในการ query ของเรา การจะ query ให้มีประสิทธิภาพนั้น ต้องมีความเข้าใจในส่วนนี้ให้ได้มากที่สุด โดย Basic operator จะมี =,!=, <,>, IN,NOT IN,IS, IS NOT… etc.
  3. Value คือ ค่าที่เราต้องการค้นหา
  4. Keyword คือ ค่าที่เมื่อมี condition มากกว่า 1 condition เช่น AND, OR เป็นต้น

ข้างต้นทุกคนน่าจะเคยใช้กันมาแล้ว ต่อจากนี้จะเป็นส่วนที่ advance ขึ้นมาอีกนิดสำหรับ JQL

Keyword

นอกจาก Operators แล้วยังมี Keyword ต่างๆ ที่นำมาประยุกต์ใช้ได้ ดังนี้

  • By + “username”— ใช้เวลาต้องการระบุคนที่ทำ action นั้นๆ
  • After + date — ใช้สำหรับระบุเวลาหลังจากนั้น หรือ หลังจากวันที่นันๆ
  • Before + date — ใช้สำหรับระบุเวลาก่อนหน้านั้น หรือ ก่อนหน้าวันที่นันๆ
  • During + (date1,date2) — ใช้สำหรับระบุเวลา ระหว่าง 2 datetime
  • ON + date — ใช้ระบุเวลา ณ วันนั้นๆ
  • From + old value — ใช้สำหรับระบุค่าก่อนหน้านี้
  • To + new value — ใช้สำหรับระบุค่าปัจจุบัน ส่วนใหญ่ใช้คู่กับ From

Operators

ยังมีอีกหลาย operators ที่เราสามารถใช้ได้ เช่นถ้าเราต้องการจะหาว่า การ์ดใบไหน เคยเป็นสถานะ In Review มาก่อนให้ใช้

status was “In Review” ผลลัพธ์ ที่ได้จะได้ การ์ดที่เคยมีสถานะนี้มาก่อนหน้า

# WAS — ในภาษาพูดคงใช้แทนคำว่าเคย เช่นตัวอย่างด้านบนครับ สามารถใช้คู่กับ Works with keyword : IN,BY,After,Before,ON,During
เช่น Status was "In review" by Trinity before "2019/02/02"

# ~ (Contain) — ใช้สำหรับค้นหาแบบ wide card เช่น summary ~ “APIs” จะได้ผลคือ การ์ดที่มีคำว่า APIs อยู่ใน summary

# CHANGED — ใช้สำหรับการค้นการการเปลี่ยนแปลงค่าใน filed นั้นๆ
Works with keyword : BY,After,Before,ON,During,From,To
เช่น Status changed after -1d ผลลัพธ์ คือจะได้การ์ด ที่มีการเปลี่ยน status มาแล้วไม่เกิน 1 วัน

--

--