Front Automation Hub

i วิธีทำงาน

หน้านี้เป็น static page ล้วน ไม่มี backend — จึงrun gcloud และเรียก Jira API ตรงจากเบราว์เซอร์ไม่ได้ (ต้องใช้ personal login ของคุณเอง และ browser ก็ยิง request ตรงไปที่ jira.tdshop.io ไม่ได้เพราะ CORS/credential) วิธีใช้จึงเป็น 3 ขั้นตอน: ดาวน์โหลด script → run บนเครื่องคุณเอง (ใช้ gcloud/Jira token ที่มีอยู่แล้ว) → วางผลลัพธ์กลับมาดูเป็นตารางที่นี่

ตอน run จริง (ไม่ใส่ --dry-run) script จะ assign card ให้เป็นชื่อคนที่ run ด้วยตัวเอง (เฉพาะตอนยังไม่มี assignee — ถ้ามีอยู่แล้วจะไม่ไปแก้) และเปลี่ยน status ให้ตรงกับสถานะ sync จริงอัตโนมัติ: ตั๋วที่ยัง Open และ sync ไม่ครบ จะถูกย้ายไป In Progress พร้อมติด flag ส่วนตั๋วที่ In Progress อยู่แล้วและ sync ครบทุกร้าน จะถูกปิด (Close) พร้อมเอา flag ออกและตั้ง Resolution/Fix Version ให้ตามที่ทีมปิดกันด้วยมืออยู่แล้ว และ script จะเช็คเวอร์ชันตัวเองกับ GitHub ให้ทุกครั้งที่ run — ถ้าเก่าไปจะเตือนให้โหลดใหม่ก่อน

ยังไม่เคยเตรียมเครื่อง หรือรันแล้วเจอ error? ไปที่แท็บ "เตรียมเครื่อง & แก้ปัญหา" ด้านบนก่อนได้เลย

1 ดาวน์โหลด & run script

script จะหา card "RSP Sync" ที่ยังไม่ปิดทั้งหมด เทียบ store list ใน card กับ log FetchRetailPrice ของ GCP แล้ว comment สถานะกลับที่ card (skip อัตโนมัติถ้าผลไม่เปลี่ยนจากครั้งก่อน)

ดาวน์โหลด gcp_jira_check_rsp.py v...

ไฟล์ที่โหลดจะมีเลขเวอร์ชันต่อท้ายชื่อไฟล์ (เช่น gcp_jira_check_rsp_v1.2.0.py) เพื่อให้เห็นชัดว่าไฟล์ไหนใหม่สุด — เปลี่ยนชื่อไฟล์ยังไงก็รันได้เหมือนกัน ไม่กระทบการทำงาน แค่ต้องพิมพ์คำสั่งให้ตรงกับชื่อไฟล์จริงที่ดาวน์โหลดมา (ก็อปคำสั่งด้านล่างนี้ได้เลย จะตรงกับชื่อไฟล์ให้อัตโนมัติ)

เช็คดูก่อน ไม่โพสต์ comment จริง (dry-run):

python3 gcp_jira_check_rsp.py --dry-run

run จริง (โพสต์ comment ขึ้น Jira + assign card ให้ตัวเอง):

python3 gcp_jira_check_rsp.py

ทุกครั้งที่ run script จะเช็คเวอร์ชันตัวเองกับเวอร์ชันล่าสุดบน GitHub ให้เอง — ถ้าเจอว่าเก่าจะเตือนและถามก่อนว่าจะรันต่อไหม ไม่ต้องมาเช็คเองว่าไฟล์เก่าหรือยัง

2 วางผลลัพธ์เพื่อดูเป็นตาราง (ไม่บังคับ)

คัดลอก output ทั้งหมดจาก terminal มาวางที่นี่ เพื่อดูสรุปแบบอ่านง่าย — ข้อมูลนี้ประมวลผลในเบราว์เซอร์ของคุณเท่านั้น ไม่ส่งไปที่ไหน

Prerequisites

ต้องมี 3 อย่างนี้ก่อน script จะรันได้ครับ:

  • เข้า Google Cloud ได้ — เปิด Terminal พิมพ์ gcloud auth login แล้ว login ด้วย account งานของตัวเอง ถ้า login แล้วแต่ยังรันไม่ผ่าน (ขึ้น permission denied) ให้ขอสิทธิ์ Logs Viewer บน project tdshop-prod จาก admin
  • มี Jira token ของตัวเอง — ถ้าคุณใช้ Claude Code + mcp-atlassian อยู่แล้ว ข้ามข้อนี้ไปได้เลย (script ดึงให้อัตโนมัติ) ถ้าไม่ได้ใช้ Claude Code ให้ทำตามการ์ด "ถ้า run แล้ว error" ด้านล่างนี้ก่อน 1 รอบ
  • มี Python 3 — เครื่อง Mac ทุกเครื่องมีติดมาให้อยู่แล้ว ไม่ต้องติดตั้งเพิ่ม

ถ้า run แล้ว error "Jira credentials not found"

ขึ้นครั้งแรกที่ run เพราะยังไม่เคยตั้ง Jira token ของตัวเองไว้บนเครื่องนี้ (ปกติสำหรับคนที่ไม่ได้ใช้ Claude Code) — ทำตามนี้ครั้งเดียวจบ:

  1. เข้า jira.tdshop.io → คลิก avatar มุมขวาบน → Profile → Personal Access Tokens → Create token → copy token ที่ได้ไว้ (โผล่ให้เห็นครั้งเดียว)
  2. เปิด Terminal แล้วรันคำสั่งนี้ (แทนที่ PASTE_TOKEN_HERE ด้วย token ที่ copy มา):
cat > ~/.rsp_sync_check.json << 'EOF' {"jira_url": "https://jira.tdshop.io/", "jira_token": "PASTE_TOKEN_HERE"} EOF

แล้ว run python3 gcp_jira_check_rsp.py --dry-run ใหม่อีกครั้ง (ชื่อไฟล์ให้ดูจากที่ดาวน์โหลดจริงในแท็บ "วิธีใช้งาน") — ควรเห็นบรรทัด Jira credentials from: /Users/<your-username>/.rsp_sync_check.json แล้วตามด้วยรายชื่อ card ที่เจอ