Workflow template และฟิลด์กำหนดเอง
เลือก template ตอนสร้าง project — Scrum, Kanban, Delivery pipeline, Sales & Billing, Service desk, Budget planning, Roadmap & Goals — พร้อมฟิลด์กำหนดเอง 10 ชนิด Timeline และการเชื่อมงานข้าม project
ทำไมเป็น template ไม่ใช่บอร์ดแบบใหม่?
บอร์ดยังมี 3 แบบ — Scrum, Kanban และ Delivery pipeline — เพราะต่างกันที่กติกาจริง (sprint, WIP limit, ด่านทดสอบต่อ environment) template คือชุดสำเร็จรูปบนบอร์ดแบบเดิม: บอร์ดฐาน + คอลัมน์พร้อมความหมาย + ชุดฟิลด์ + มุมมองเริ่มต้น (คอลัมน์หรือรายการ) + ประเภท issue ที่ใช้ ทุกแพ็กเกจเลือก template ได้ทุกแบบ เพราะเป็นค่าตั้งของเรา ไม่ใช่การปรับเอง
- หน้า Create project เลือก template แทนการเลือกแบบบอร์ด: การ์ดแต่ละใบมีภาพย่อของคอลัมน์ ฟิลด์เด่น และปุ่ม “ดูตัวอย่าง”
- กลุ่ม Software delivery: Scrum · Kanban · Delivery pipeline (= 3 แบบเดิม พฤติกรรมไม่เปลี่ยน) และกลุ่ม Business: Sales & Billing · Service desk · Budget planning · Roadmap & Goals
- “เริ่มจาก” ยังเลือกได้: ว่าง / นำเข้าจาก Jira / transfer key จากบริษัทอื่น — นำเข้าจาก Jira ใช้กับกลุ่ม Software delivery เท่านั้น
- project เดิมไม่เปลี่ยน และยังไม่มีการเปลี่ยน template ย้อนหลัง; project.md บอกที่มาด้วย template: (อ่านอย่างเดียว)
- template กลุ่ม Business ไม่มีคอลัมน์ Backlog และไม่มีแท็บ Backlog
มี template อะไรบ้าง?
| Template | บอร์ด | คอลัมน์ | ฟิลด์ |
|---|---|---|---|
| Scrum | Scrum | To Do → In Progress → In Review → Test Rejected → Done (+ Backlog) | ไม่มีฟิลด์เพิ่ม |
| Kanban | Kanban | เหมือน Scrum ไม่มี sprint | ไม่มีฟิลด์เพิ่ม |
| Delivery pipeline | pipeline | Testing / Passed ต่อ environment | ไม่มีฟิลด์เพิ่ม |
| Sales & Billing | Kanban | Draft → Sent → Signed → In delivery → Billing → Closed · Lost (เทา) | ดีล: customer · quote_no · amount · sent_at · signed_at · valid_until · payment_terms · owner — งวดเงิน: amount · bill_on · invoiced_at · invoice_no · due_on · paid_at · paid_amount |
| Service desk | Kanban | New → Triage → In progress → Waiting (เหลือง ไม่นับ SLA) → Done | requester · category (Admin · Finance · IT · HR · Other) · urgency (Low · Normal · High · Urgent) · sla_due · channel (LINE · Email · Walk-in · Phone) |
| Budget planning | Kanban มุมมองรายการเป็นค่าเริ่มต้น | Proposed → Approved → Spending → Closed · Rejected (เทา) | planned · actual · remaining (คำนวณ = planned − actual) · owner · quarter (Q1–Q4) · cost_center · vendor |
| Roadmap & Goals | Kanban มุมมอง Timeline เป็นค่าเริ่มต้น | Idea → Planned → In progress → Done · Dropped (เทา ไม่นับสำเร็จ) | quarter (Q1–Q4) · start · end · owner · reach · impact · confidence · effort · score (คำนวณ RICE) · progress (rollup จาก link) · linked (rollup นับ link) |
- Sales & Billing: ใบเสนอราคา/สัญญาเป็นการ์ดดีล งวดเงินอยู่ในการ์ด ป้ายคำนวณจากวันที่ และแจ้งเตือนรอบวางบิล/ครบกำหนด — อ่านคู่มือ Sales & Billing
- Service desk: รับเรื่องธุรการ การเงิน IT หรือ HR แทนผู้ขอ sla_due ตั้งให้อัตโนมัติจาก urgency ตอนสร้าง (Urgent 1 วัน · High 3 · Normal 7 · Low 14 ตั้งค่าได้ใน Project settings) ป้าย “ใกล้ครบ SLA” (≤ 1 วัน) และ “เลย SLA N วัน” เฉพาะงานที่ไม่อยู่ใน Waiting หรือ Done แจ้งเตือน assignee และ requester อย่างละครั้ง ตัวกรองที่บันทึกไว้: Past SLA · Mine · Waiting · New today
- Budget planning: 1 รายการงบ = 1 การ์ด remaining คำนวณให้ ไม่ต้องกรอก ป้าย “เกินงบ” (แดง เมื่อ actual > planned) และ “ใช้แล้ว ≥ 80 %” (เหลือง) มุมมองรายการมีแถวรวมท้ายตาราง Σ planned / Σ actual / Σ remaining ตามตัวกรอง และจัดกลุ่มตาม quarter ได้ เกินงบ → กระดิ่งถึง owner ครั้งเดียว ตัวกรองที่บันทึกไว้: Over budget · ≥ 80 % spent · Not yet approved
- Roadmap & Goals: 1 เป้าหมาย = 1 การ์ด (key result เป็น subtask ไม่บังคับ) ให้คะแนน RICE แล้วเชื่อมเป้าหมายกับงานหรือ Release ของ project อื่น ความคืบหน้าและป้ายตามแผน / เสี่ยง / ล่าช้าคำนวณให้ ดูเป็น Timeline — อ่านหัวข้อ Roadmap & Goals และ Timeline ด้านล่าง
- เงินเก็บเป็นตัวเลขทศนิยม 2 ตำแหน่ง สกุลเงินตั้งต่อ project (ค่าเริ่มต้น THB) วันที่เป็น YYYY-MM-DD
ฟิลด์มีชนิดอะไรบ้าง?
ฟิลด์กำหนดเองนิยามใน project.md (fields:) แต่ละฟิลด์มี id ที่ไม่เปลี่ยน ชื่อ ชนิด ประเภท issue ที่ใช้ได้ (types) จำเป็นหรือไม่ และ options คำอธิบายสั้น ค่าเก็บใน frontmatter ของ issue ที่ fields: โดยใช้ id เป็นคีย์
| ชนิด | ค่า | ตัวอย่าง |
|---|---|---|
text | ข้อความไม่เกิน 500 ตัวอักษร | quote_no, invoice_no |
number | ตัวเลข | จำนวนชิ้น |
money | ตัวเลขทศนิยม 2 ตำแหน่ง ในสกุลเงินของ project | amount, planned, actual |
date | YYYY-MM-DD | signed_at, due_on, sla_due |
person | user id ของสมาชิก (เลือกจาก person picker) | owner, requester |
select | หนึ่งใน options ที่กำหนด | payment_terms, urgency, quarter |
url | ลิงก์ http(s) ไม่เกิน 2,000 ตัวอักษร | ลิงก์เอกสารภายนอก |
customer | ข้อความ + แนะนำชื่อที่เคยใช้ใน project อัตโนมัติ (ยังไม่มีตาราง customer) | customer, vendor |
formula | คำนวณจากฟิลด์ money/number ใน issue เดียวกัน: a − b, a + b, a / b หรือ RICE (reach × impact × confidence ÷ effort ปัดทศนิยม 1 ตำแหน่ง ว่างเมื่อขาดค่าหรือ effort = 0) อ่านอย่างเดียว ไม่เก็บ | remaining = planned − actual, score |
rollup | คำนวณจาก issue หรือ Release ที่เชื่อมอยู่ (from: links ตาม link type ที่เลือก หรือ children = subtask): progress (% ที่เสร็จ) · count · sum · min_date · max_date ของฟิลด์ปลายทาง ลึก 1 ชั้น อ่านอย่างเดียว ไม่เก็บ | progress, linked, delivery_progress |
- ฟิลด์ที่มี types จะใช้ได้กับ issue ประเภทนั้นเท่านั้น เช่น bill_on ใช้กับงวดเงิน (subtask) ของ Sales & Billing
- ฟิลด์ที่ตั้งว่า “จำเป็น” ต้องกรอกตอนสร้าง issue ประเภทที่เกี่ยวข้อง
- ค่าที่ชนิดไม่ตรง ฟิลด์ที่ไม่มีนิยาม หรือการเขียนฟิลด์คำนวณและ rollup ถูกปฏิเสธทั้งในเว็บแอป ผ่าน MCP และตอนเขียนไฟล์ .md ตรง ๆ
- ฟิลด์ rollup ที่มากับ template ใช้ได้ทุกแพ็กเกจ การเพิ่มหรือแก้ rollup เองในหน้า ฟิลด์ เป็น Premium เหมือนฟิลด์อื่น
ฟิลด์แสดงที่ไหน?
- ในหน้า issue ฟิลด์เป็นกลุ่มของตัวเองเหนือคำอธิบาย แต่ละช่องบันทึกทันทีที่เปลี่ยน เหมือนฟิลด์มาตรฐาน
- การ์ดบนบอร์ดแสดงฟิลด์ที่ template ตั้งว่า “แสดงบนการ์ด” ไม่เกิน 2 ฟิลด์ (เช่น customer และ amount บนดีล) พร้อมป้ายที่คำนวณจากวันที่
- มุมมองรายการเพิ่มคอลัมน์ฟิลด์ได้ เรียงตามฟิลด์ได้ และกรองตามฟิลด์ได้ — date: ช่วง / วันนี้ / สัปดาห์นี้ / เลยกำหนด; select และ person: เลือกค่า; money และ number: ≥ และ ≤
- template ที่มีเงินแสดงแถวรวมท้ายตารางตามแถวที่กรองอยู่
ตัวกรองที่บันทึกไว้คืออะไร?
ตัวกรองที่บันทึกไว้คือเงื่อนไขที่มีชื่อ แชร์ให้ทั้ง project และแสดงเป็นชิปพร้อมจำนวนในมุมมองรายการ template กลุ่ม Business มีมาให้ (เช่น Overdue · Bill due · Awaiting signature) ผู้ดูแล project และผู้ดูแลบริษัทบันทึกตัวกรองใหม่จากหน้าต่างตัวกรอง แก้ชื่อ หรือลบได้ทุกแพ็กเกจ ทุกคนใช้ได้
Roadmap & Goals ทำงานอย่างไร?
Roadmap & Goals ตอบคำถามว่า “ไตรมาสนี้ตั้งใจทำอะไร ไปถึงไหนแล้ว และอันไหนล่าช้า” เป้าหมาย (goal) 1 ข้อ = การ์ด 1 ใบบนบอร์ด Kanban ที่มีคอลัมน์ Idea → Planned → In progress → Done และ Dropped (สีเทา ไม่นับเป็นสำเร็จ) key result เป็น subtask ของเป้าหมายได้แต่ไม่บังคับ ความคืบหน้าของเป้าหมายไม่ต้องกรอกเอง — มาจากงานหรือ Release ที่เชื่อมไว้ใน project อื่น (หรือ project เดียวกัน) และป้ายตามแผน / เสี่ยง / ล่าช้าคำนวณจากวันที่กับความคืบหน้าทุกครั้งที่อ่าน
- ฟิลด์: quarter (Q1–Q4 แสดงบนการ์ด) · start และ end (จำเป็น ใช้วาด Timeline) · owner · reach · impact · confidence · effort (ตัวเลข 1–10; confidence ใส่ 0–1 ก็ได้) · score · progress · linked
- score = คะแนน RICE คำนวณสด: reach × impact × confidence ÷ effort ปัดทศนิยม 1 ตำแหน่ง แสดงบนการ์ดและเน้นในลิ้นชักเป้าหมาย ว่างเมื่อยังกรอกไม่ครบหรือ effort = 0
- progress = rollup จากปลายทางที่เชื่อมด้วย relates, blocks หรือ delivers: issue ที่อยู่หมวด done นับ 100 % อื่น ๆ 0 % ส่วน Release นับ % ของ issue ที่ผ่านด่านสุดท้าย (state shipped = 100 %) แล้วเฉลี่ยเท่ากัน linked = จำนวนปลายทางที่เชื่อม
- ป้าย (เฉพาะเป้าหมายที่ยังไม่ done และมีทั้ง start กับ end): ล่าช้า (off_track) = เลย end แล้วแต่ progress < 100 · เสี่ยง (at_risk) = เวลาที่ผ่านไป % − progress % > 25 และยังไม่ถึง end · ตามแผน (on_track) = ที่เหลือ ล่าช้าแจ้งกระดิ่งถึง owner ครั้งเดียว
- ตัวกรองที่บันทึกไว้: Off track · At risk · This quarter (ไตรมาสปัจจุบันตามปฏิทินไทย/Bangkok) · Mine
- ลิ้นชักเป้าหมาย: กลุ่มฟิลด์ (quarter · start · end · owner) กลุ่ม RICE พร้อม score สด สถิติ rollup (progress %, เวลาที่ผ่านไป %, ป้าย) แถบความคืบหน้า และส่วน “สิ่งที่เชื่อม” จัดกลุ่มตาม project
มุมมอง Timeline คืออะไร?
Timeline เป็นมุมมองที่สามข้างคอลัมน์ | รายการ แสดงเมื่อ project มี timeline: { start, end, progress } ใน project.md — template Roadmap & Goals ตั้งมาให้และเปิดเป็นค่าเริ่มต้น ส่วน template อื่นที่มีฟิลด์วันที่ 2 ฟิลด์เปิดได้ที่ตั้งค่า project → ฟิลด์ (Premium)
- แกนเวลาซูมได้ 3 ระดับ: ไตรมาส · เดือน · สัปดาห์ หัวตารางแสดงไตรมาสและเดือน (ปี พ.ศ. ในภาษาไทย ค.ศ. ในภาษาอังกฤษ) เส้น “วันนี้” และปุ่ม วันนี้ เลื่อนกลับมา ระบบจำระดับซูมต่อ project ไว้ในเบราว์เซอร์
- แถวจัดกลุ่มตามคอลัมน์สถานะ พับได้เหมือนมุมมองรายการ ไม่มี Backlog เป้าหมายละ 1 แถว แถบจาก start → end สีตามป้าย: ตามแผน เสี่ยง ล่าช้า เสร็จ (เขียวมะนาว) และ Dropped (เทา) เติมความคืบหน้าในแถบและ % ท้ายแถบ
- ลากขอบแถบ = แก้ start หรือ end ลากทั้งแถบ = เลื่อนทั้งช่วง บันทึกทันทีตอนปล่อยพร้อมปุ่ม เลิกทำ ใน toast คลิกแถบ = เปิดลิ้นชัก
- เป้าหมายที่ยังไม่มี start หรือ end อยู่ในรายการ “ยังไม่กำหนดเวลา” ท้ายตาราง คลิกเพื่อเปิดลิ้นชักและตั้งวัน
- จอแคบกว่า 640px ใช้มุมมองรายการแทน และบอร์ดที่มี ≥ 150 แถวไม่เล่นแอนิเมชันการจัดวาง (เหมือนบอร์ดโหมดหนัก)
เชื่อมงานข้าม project ได้ไหม?
ได้ ลิงก์ของ issue (relates · blocks / blocked by · duplicates · clones) รับ key ของ issue ใน project อื่นของบริษัทเดียวกัน และลิงก์ชนิดใหม่ delivers / delivered_by ชี้ไปที่ Release ของ project อื่นหรือ project เดียวกันด้วย id รูปแบบ KEY/R-n ใช้ได้กับทุก template ไม่ใช่เฉพาะ Roadmap — ดีลใน Sales & Billing เชื่อมกับ Release ของทีมพัฒนาได้ และงานใน Kanban เชื่อมกับเป้าหมายใน Roadmap ได้
- ปุ่ม “เชื่อมกับ…” ในลิ้นชักทุก project: เลือก project (เฉพาะที่คุณเปิดได้ project ปัจจุบันขึ้นก่อน) → พิมพ์ค้นหา issue หรือ Release ของ project นั้น (Release มีป้ายกำกับ) → เลือกชนิดลิงก์ (relates เป็นค่าเริ่มต้น; blocks / blocked by / duplicates / clones สำหรับ issue; delivers สำหรับ Release) ยังพิมพ์ key เองได้
- คนที่สร้างลิงก์ต้องเปิดได้ทั้งสอง project (เป็นสมาชิก อยู่ในทีม หรือเป็นผู้ดูแลบริษัท) ไม่เช่นนั้นระบบปฏิเสธ ลิงก์ย้อนกลับถูกเขียนที่ปลายทางเหมือนเดิม (ลิงก์ delivers ไป Release ไม่มีย้อนกลับ) ไม่เชื่อมข้ามบริษัท
- ส่วน “สิ่งที่เชื่อม” ในลิ้นชักจัดกลุ่มตาม project และแสดงปลายทางสด: issue มี key ชื่อ และชิปสถานะ Release มีชื่อ state และแถบความคืบหน้าเล็ก ปลายทางที่คุณเปิดไม่ได้แสดงเฉพาะ key กับไอคอนล็อก “ไม่มีสิทธิ์”
- ลบ project หรือ Release ปลายทาง → ลิงก์ค้างเป็น key อย่างเดียว ไม่ถูกลบให้และไม่พัง ฟิลด์ rollup ไม่นับปลายทางที่อ่านไม่ได้
- มุมมองรายการและ search_issues กรอง “issue ที่ลิงก์ถึง KEY-n” ได้ด้วย linked_to
ใครแก้ฟิลด์ได้?
- ฟิลด์ที่มากับ template ใช้ได้ทุกแพ็กเกจ รวมป้าย ตัวกรองที่บันทึกไว้ และการแจ้งเตือน
- การเพิ่ม เปลี่ยนชื่อ แก้ options หรือลบฟิลด์นอกเหนือจาก template เป็น Premium ใช้ editor เดียวกับคอลัมน์บอร์ด: ตั้งค่า project → ฟิลด์ แก้เป็น draft แล้ว Save ถ้ามีคนแก้ก่อน ระบบให้โหลดใหม่
- ลบฟิลด์ที่มีค่าอยู่ → ระบบบอกจำนวน issue ที่ได้รับผล แล้วลบคีย์ออกจากไฟล์ .md เบื้องหลังพร้อมความคืบหน้า
- id ของฟิลด์ไม่เปลี่ยน แม้เปลี่ยนชื่อที่แสดง
- AI agent แก้นิยามฟิลด์ไม่ได้ (ทำในเว็บแอปเท่านั้น) และได้ 403 plan_required เมื่อบริษัทไม่ใช่ Premium
AI agent เห็นอะไร?
- get_project คืน template, fields (นิยามพร้อมชนิดและ options) และ saved_filters; get_docs_context อธิบายฟิลด์และคอลัมน์ของ template ให้ agent อ่านก่อนเริ่มงาน
- create_issue และ update_issue รับ fields (merge ทีละคีย์, null = ลบค่า) และตรวจชนิดเหมือนเว็บแอป: 400 unknown_field, invalid_field_value หรือ formula_readonly
- search_issues กรองตาม fields ({ id, op: eq · lt · gt · between · empty, value }) และ flag (ป้ายของ template) เรียงตามฟิลด์ได้; ผลลัพธ์มี computed (ค่าฟิลด์คำนวณ) และ flags
- write_file ที่แก้ไฟล์ issue ตรง ๆ ผ่านการตรวจชุดเดียวกัน
- link_issues รับ key ของ project อื่นในบริษัทเดียวกัน และ type delivers กับ id KEY/R-n สำหรับ Release (403 link_target_forbidden เมื่อ token เปิด project ปลายทางไม่ได้ 404 release_not_found เมื่อไม่มี Release นั้น); get_issue คืน linked[] = ปลายทางสด (key, title, status หรือ state + progress ของ Release, readable: false เมื่อไม่มีสิทธิ์) และ computed (score, progress, linked); search_issues รับ linked_to=KEY-n และ flag on_track / at_risk / off_track; เขียนฟิลด์ rollup → 400 formula_readonly; นิยาม rollup ที่ไม่ถูกต้อง → 422 bad_rollup; get_docs_context เพิ่มบรรทัด “linked projects” เมื่อ project มีลิงก์ข้าม project
- ไม่มี tool ใหม่ — ทุกอย่างทำผ่าน tool เดิม
---
id: SALE-12
type: task # a deal
status: signed
fields:
customer: Siam Logistics Co., Ltd.
quote_no: Q-2026-031
amount: 150000.00
signed_at: 2026-10-03
payment_terms: 50-50
owner: usr_01H...
---search_issues { project: "RM", flag: "off_track" } # which Q4 goals are off track?
get_issue { key: "RM-7" } # → computed.score, computed.progress, linked[]
link_issues { key: "RM-7", type: "delivers", id: "NW/R-3" } # goal delivered by release R-3 of project NW
link_issues { key: "RM-7", type: "relates", id: "APP-120" } # an issue of another project (same company)
search_issues { project: "APP", linked_to: "RM-7" } # everything linked to the goalอะไรยังไม่มาในรอบนี้?
- การเปลี่ยน template ของ project เดิม
- ตาราง customer กลาง — ฟิลด์ customer แนะนำจากชื่อที่เคยใช้ใน project เท่านั้น
- ลิงก์ข้ามบริษัท rollup ซ้อน rollup (ค่า rollup ของปลายทางไม่ถูกดึงต่อ) และเส้นลูกศรแสดง dependency บน Timeline
- ปุ่ม “สร้าง project / Release จากดีลนี้” ใน Sales & Billing