โหมดเอเจนต์ของ GitHub Copilot เป็นวงจร: มันแก้ไขไฟล์ รันคำสั่งเทอร์มินัล อ่านเอาต์พุต และตัดสินใจว่าจะทำอะไรต่อไป แล้วทำไมการทดสอบ API ของคุณถึงไม่อยู่ในวงจรนั้นล่ะ? พวกมันอยู่ใน Apidog หลัง GUI และจะทำงานเมื่อมีคนจำได้ว่าต้องคลิก Copilot ไม่เคยแตะต้องพวกมันเลย
วิธีแก้ไขคือไฟล์คอนฟิกเดียว Apidog CLI เป็นแพ็คเกจ npm ชื่อ apidog-cli ที่ใช้รันสถานการณ์การทดสอบที่คุณสร้างใน Apidog ได้โดยตรงจากเทอร์มินัล เมื่อติดตั้ง CLI แล้วและ Copilot รู้ว่ามันมีอยู่ โหมดเอเจนต์จะรันสถานการณ์ Apidog ในลักษณะเดียวกับการรันการทดสอบหน่วยของคุณ: ออกคำสั่ง, อ่านรหัสออก (exit code), และแก้ไขโค้ดหากมันแสดงผลเป็นสีแดง
หากคุณยังไม่ได้ติดตั้ง CLI ให้ทำสิ่งนั้นก่อน วิธีติดตั้ง Apidog CLI ด้วย AI coding agent จะอธิบายขั้นตอนการติดตั้ง npm, การเข้าสู่ระบบ, และการรันครั้งแรก โดยมีเอเจนต์เป็นผู้พิมพ์ บทความนี้สมมติว่า apidog --version แสดงตัวเลขและบัญชี Apidog ของคุณได้รับการยืนยันสิทธิ์แล้ว
Copilot ที่พูดถึงนี้คืออะไร
Copilot มีหลายผลิตภัณฑ์ และชื่อของมันทับซ้อนกันในลักษณะที่อาจทำให้สับสน บทความนี้กล่าวถึงส่วนที่สามารถรันคำสั่งเชลล์ได้
หลักๆ คือ agent mode ใน VS Code คุณเปิดมุมมอง Copilot Chat เปลี่ยนโหมดดรอปดาวน์เป็น Agent แล้วมันจะสามารถแก้ไขหลายไฟล์ รันคำสั่งเทอร์มินัล และทำซ้ำจนกว่างานจะเสร็จสิ้น เมื่อมันต้องการรันคำสั่ง มันจะแสดงคำสั่งให้คุณเห็นและขอการยืนยันก่อนที่จะดำเนินการ ขั้นตอนการยืนยันนั้นคือจุดที่ apidog run เข้ามามีบทบาท
มีสองส่วนที่เกี่ยวข้องที่ควรกล่าวถึงเพื่อให้คุณทราบว่าคุณกำลังใช้ส่วนไหนอยู่ Copilot coding agent จะทำงานแบบอะซิงโครนัสใน GitHub Actions หลังจากที่คุณมอบหมายงานให้มัน มันจะสร้าง pull request แทนที่จะทำงานในเอดิเตอร์ของคุณ Copilot CLI เป็นไคลเอ็นต์เทอร์มินัลแยกต่างหาก ทั้งสองอย่างสามารถรันคำสั่งได้ แต่บทความนี้มุ่งเป้าไปที่ agent mode ใน VS Code เนื่องจากเป็นที่ที่คุณนั่งเขียนโค้ดและเป็นที่ที่วงจรแก้ไข-ทดสอบ-แก้ไขมีความรัดกุมที่สุด การตั้งค่าด้านล่างนี้ยังใช้งานได้กับ coding agent ซึ่งอ่านไฟล์คำสั่งเดียวกัน สำหรับภาพรวมที่กว้างขึ้นของสิ่งที่เปลี่ยนแปลงไปเมื่อ Copilot กลายเป็น agentic โปรดดูที่ GitHub Copilot’s new coding agent
ความแตกต่างนี้สำคัญเพราะ Copilot มีวิธีของตัวเองในการเรียนรู้กฎของโปรเจกต์ และกลไกนั้นจะเปลี่ยนคำสั่ง "รันการทดสอบของฉัน" ที่ทำครั้งเดียวให้กลายเป็นสิ่งที่ Copilot หยิบมาใช้เองได้ กลไกนั้นคือไฟล์คำสั่งที่กำหนดเอง
ขั้นตอนที่ 1: เพิ่มกฎ Apidog ลงในไฟล์คำสั่งของ Copilot
Copilot อ่านคำสั่งที่กำหนดเองของรีโพซิโทรีจากไฟล์เดียว: .github/copilot-instructions.md ที่รูทของรีโพของคุณ โหมดเอเจนต์, Copilot Chat, การตรวจโค้ด, และ coding agent ล้วนโหลดไฟล์นี้โดยอัตโนมัติ ตาม เอกสาร GitHub เกี่ยวกับคำสั่งที่กำหนดเองของรีโพซิโทรี ลองนึกภาพว่าเป็น CLAUDE.md สำหรับ Claude Code หรือ AGENTS.md สำหรับ Codex: ไฟล์ Markdown ธรรมดาที่ประกอบด้วยคำสั่งโปรเจกต์ที่ Copilot จะดึงเข้าสู่บริบทก่อนที่จะเริ่มทำงาน
สร้างไฟล์และเพิ่มบล็อก Apidog สั้นๆ:
## การทดสอบ API ด้วย Apidog CLI
เมื่อคุณเปลี่ยนปลายทาง API ให้ตรวจสอบด้วย Apidog CLI ก่อน
ที่จะประกาศว่างานเสร็จสมบูรณ์ รัน:
apidog run -t 812345 -e 671234 -r cli
- `apidog run` จะออกด้วยรหัส 0 เมื่อทุกการยืนยันผ่าน และไม่ใช่ 0 เมื่อมีข้อผิดพลาด
ถือว่าการออกที่ไม่ใช่ 0 คือการทดสอบที่ล้มเหลว แม้ว่าข้อความสรุปจะดูดีก็ตาม
- เครื่องได้รับการยืนยันสิทธิ์แล้วผ่าน `apidog login` ห้ามเพิ่ม
แฟล็ก `--access-token` และห้ามใส่โทเค็นในไฟล์นี้เด็ดขาด
- หากคุณพบข้อผิดพลาด "unknown option" ให้รัน `apidog run --help` และใช้
แฟล็กจริง อย่าเดาสุ่ม
แทนที่ค่า -t และ -e ด้วย Scenario และ Environment ID จริงของคุณจากขั้นตอนถัดไป
เขียนมันลงในไฟล์คำสั่งแทนที่จะกล่าวถึงในแชท เพราะ Scenario ID ที่พิมพ์ลงในแชทจะหายไปเมื่อเซสชันสิ้นสุดลง ID ที่อยู่ใน .github/copilot-instructions.md จะอยู่ตรงนั้นสำหรับเพื่อนร่วมทีมทุกคน ทุกเซสชันในโหมดเอเจนต์ และทุก pull request ที่ coding agent เปิดนับจากนี้ หากคุณต้องการให้กฎนี้ใช้กับไฟล์บางไฟล์เท่านั้น GitHub ก็รองรับคำสั่งเฉพาะพาธใน .github/instructions/NAME.instructions.md ด้วย แต่ไฟล์เดียวที่ครอบคลุมทั้งรีโพก็เพียงพอสำหรับที่นี่
ขั้นตอนที่ 2: รับคำสั่งจาก Apidog
คุณไม่จำเป็นต้องเขียนคำสั่ง apidog run ด้วยตัวเอง Apidog สร้างให้คุณ
เปิดสถานการณ์การทดสอบใน Apidog ไปที่แท็บ CI/CD แล้วคัดลอกคำสั่ง มันจะออกมาในรูปแบบที่สมบูรณ์พร้อมกับ Scenario ID (-t), Environment ID (-e) ที่ถูกต้อง และแฟล็ก reporter:
apidog run -t 812345 -e 671234 -r cli
วาง ID เหล่านั้นลงในบล็อกในไฟล์ .github/copilot-instructions.md ของคุณ ID เหล่านี้คือแหล่งข้อมูลที่แท้จริง; เมื่อ Copilot และไฟล์คำสั่งของคุณไม่ตรงกัน แท็บ CI/CD จะเป็นฝ่ายถูก สำหรับชุดของแฟล็กและรีพอร์ตเตอร์ทั้งหมด โปรดดูที่ เอกสารอ้างอิงคำสั่ง apidog run
ขั้นตอนที่ 3: ให้โหมดเอเจนต์รันการทดสอบ
เปิดมุมมอง Copilot Chat ใน VS Code และเปลี่ยนโหมดดรอปดาวน์เป็น Agent เนื่องจากโหมดเอเจนต์โหลดไฟล์ .github/copilot-instructions.md เมื่อเริ่มต้น มันจึงรู้แล้วว่ามี CLI อยู่ ทำการเปลี่ยนแปลงที่เกี่ยวข้องกับ API ของคุณ หรือถามโดยตรง:
รันสถานการณ์การทดสอบ Apidog API และบอกผลลัพธ์ให้ฉันทราบ
Copilot จะออกคำสั่ง apidog run จากไฟล์คำสั่งของคุณ โหมดเอเจนต์จะไม่รันคำสั่งเทอร์มินัลอย่างเงียบๆ; มันจะแสดงคำสั่งให้คุณเห็นและขอให้คุณยืนยันก่อนดำเนินการ เพื่อให้คุณเห็นอย่างชัดเจนว่ากำลังจะรันอะไรอยู่ อนุมัติมัน จากนั้น reporter -r cli จะพิมพ์ผลลัพธ์ทีละขั้นตอนและสรุปในเทอร์มินัลแบบรวม ที่ซึ่งคุณจะเห็นแต่ละคำขอและการยืนยันที่เกิดขึ้น
คุณต้องการเห็นสองสิ่ง: การทำงานของคำสั่ง และ Copilot รายงานผลสรุปและรหัสออก (exit code) หากคุณอนุมัติคำสั่งหนึ่งครั้ง VS Code จะจดจำตัวเลือกของคุณสำหรับคำสั่งนั้นในพื้นที่ทำงาน ดังนั้นการเรียกใช้ apidog run ในภายหลังจะทำงานโดยไม่ต้องแจ้งเตือนซ้ำ สถานการณ์การทดสอบแบบอ่านอย่างเดียวกับ staging เป็นคำสั่งที่ปลอดภัยและเหมาะสมที่จะอนุญาตในพื้นที่ทำงาน
ขั้นตอนที่ 4: อ่านรายงานภายใน Copilot
เมื่อการรันล้มเหลว (เป็นสีแดง) รายงานจะมีคำตอบ ด้วย -r cli Copilot จะได้รับรายละเอียดที่อ่านง่ายในเทอร์มินัล: แต่ละคำขอ แต่ละการยืนยัน และว่าอันไหนล้มเหลวพร้อมค่าที่คาดหวังเทียบกับค่าจริง การยืนยันที่ล้มเหลวจะระบุฟิลด์หรือรหัสสถานะที่แน่นอน ซึ่งโดยปกติแล้วเพียงพอสำหรับ Copilot ที่จะหาวิธีแก้ไขในการวนซ้ำครั้งต่อไป
สำหรับรายงานที่คุณสามารถเปิดในเบราว์เซอร์หรือส่งให้เพื่อนร่วมทีม ให้เพิ่ม HTML reporter:
apidog run -t 812345 -e 671234 -r cli,html
HTML reporter จะเขียนไฟล์ที่สมบูรณ์ในตัวเองไปยัง ./apidog-reports เก็บ cli ไว้ในรายการเพื่อให้ Copilot ยังคงได้รับเอาต์พุตแบบอินไลน์ที่อ่านเพื่อตัดสินใจขั้นตอนต่อไป สำหรับทุกรูปแบบของ reporter รวมถึงเอาต์พุต JUnit ที่แดชบอร์ด CI แยกวิเคราะห์ โปรดดูที่ คู่มือ Apidog CLI ฉบับสมบูรณ์ และ วิธีอ่านรายงานการทดสอบ Apidog CLI
Copilot ทดสอบภายในวงจรของตัวเอง
ประเด็นคือจะเกิดอะไรขึ้นเมื่อคุณหยุดถามและ Copilot รันสถานการณ์ด้วยตัวมันเองเพราะไฟล์คำสั่งบอกให้ทำ
ลองจินตนาการถึงโหมดเอเจนต์ที่กำลังแก้ไขแฮนด์เลอร์ที่สร้างการตอบกลับการชำระเงิน วงจรของมันจะเปลี่ยนไป มันแก้ไขโค้ด จากนั้น แทนที่จะประกาศชัยชนะ มันจะรันสถานการณ์ Apidog ของคุณกับ staging, อ่านรหัสออก (exit code) และดำเนินการตามนั้น หากเป็นสีเขียว มันจะดำเนินการต่อไป หากเป็นสีแดง มันจะเปิดรายงาน, อ่านว่าการยืนยันใดล้มเหลว (รหัสสถานะ, ฟิลด์ที่หายไป, ค่าผิด), ลองแก้ไข, และรันใหม่ การทดสอบ API กลายเป็นส่วนหนึ่งของวงจรแก้ไข-ทดสอบ-แก้ไขเดียวกันที่ Copilot ใช้รันการทดสอบหน่วยของคุณอยู่แล้ว คุณเขียนคำสั่งเดียวและ Copilot ก็รวมคำสั่งนั้นเข้ากับวิธีการทำงานเดิมของมัน
นี่คือโมเดล delegate-then-verify ที่ทำให้เวิร์กโฟลว์ของเอเจนต์ปลอดภัย Copilot รันคำสั่งและอ่านผลลัพธ์; คุณยังคงสร้างสถานการณ์ด้วยภาพใน Apidog และตรวจสอบว่าเอเจนต์อ่านรหัสออก (exit codes) อย่างซื่อสัตย์ สำหรับรูปแบบที่กว้างขึ้น โปรดดูที่ วิธีใช้ AI agents สำหรับการทดสอบ API และ Apidog AI test harness
ยืนยันว่า Copilot กำลังรัน CLI จริงๆ
เอเจนต์มักจะรายงานความสำเร็จที่ไม่ได้มาด้วยน้ำพักน้ำแรง และ Copilot ก็เช่นกัน มีสามการตรวจสอบ เรียงตามความถี่ที่พวกมันตรวจพบปัญหา
ประการแรก ยืนยันว่าคำสั่งได้ทำงานจริงๆ โหมดเอเจนต์จะแสดงคำสั่งที่รันและเอาต์พุตของมันแบบอินไลน์ในเทอร์มินัล มองหาบรรทัด apidog run ... และผลลัพธ์ภายใต้บรรทัดนั้น หาก Copilot บอกว่ารันการทดสอบแล้ว แต่คุณไม่เห็นคำสั่ง มันสรุปบางสิ่งที่มันไม่เคยทำไป ให้ขอให้มันรันใหม่และแสดงเอาต์พุตดิบ
ประการที่สอง ยืนยันรหัสออก (exit code) ซึ่งเป็นสิ่งสำคัญ:
รหัสออกของคำสั่ง apidog run นั้นคืออะไร?
apidog run จะออกด้วยรหัส 0 เมื่อทุกการยืนยันผ่าน และไม่ใช่ศูนย์เมื่อมีสิ่งใดล้มเหลว พฤติกรรมเดียวนั้นทำให้ Copilot หรือ pipeline สามารถถือว่าการรันเป็นด่านที่ชัดเจน เมื่อคำพูดของ Copilot บอกว่า “การทดสอบผ่าน” แต่รหัสออกไม่ใช่ศูนย์ รหัสออกคือสิ่งที่ถูกต้อง
ประการที่สาม ยืนยันว่ามันใช้สถานการณ์จริง หากการรันล้มเหลวด้วยข้อความ “scenario not found” Copilot อาจสร้างหรือจำ ID ผิด ตรวจสอบค่า -t และ -e อีกครั้งกับไฟล์คำสั่งของคุณและคำสั่งที่ Apidog สร้างในแท็บ CI/CD ID จาก Apidog คือความจริง
ทางเลือก: เชื่อมต่อ Apidog MCP server
การรัน apidog run จากไฟล์คำสั่งของคุณครอบคลุมสิ่งที่คุณต้องการส่วนใหญ่ หากต้องการไปอีกขั้น ให้เชื่อมต่อ Apidog MCP server
โหมดเอเจนต์ใน VS Code จะอ่าน MCP servers จากไฟล์ .vscode/mcp.json ในพื้นที่ทำงานที่รูทของรีโพของคุณ ตาม เอกสาร GitHub เกี่ยวกับการขยาย Copilot ด้วย MCP Apidog MCP server จะเปิดเผยข้อกำหนด API ของคุณผ่าน MCP เพื่อให้ Copilot สามารถอ่านสคีมาของคุณขณะที่มันเขียนโค้ด ไม่ใช่แค่หลังจากนั้น การแบ่งงานชัดเจน: CLI รันการทดสอบ และ MCP ป้อนข้อมูลสเปคให้เอเจนต์
หากคุณรัน Copilot coding agent ใน GitHub Actions แทน การกำหนดค่า MCP ของมันจะอยู่ในที่อื่น คุณเพิ่มเป็น JSON ใต้ Settings ของ repository ในส่วน Copilot ใต้ Cloud agent โดยมี secrets ใดๆ ที่เก็บไว้เป็น Actions secrets ที่มีคำนำหน้า COPILOT_MCP_ ไฟล์ .vscode/mcp.json มีไว้สำหรับโหมดเอเจนต์ในเอดิเตอร์ของคุณ
เมื่อ Copilot ทำผิดพลาด
ความล้มเหลวบางอย่างมักปรากฏขึ้นบ่อยครั้งในระหว่างการตั้งค่า
มันไม่สนใจไฟล์คำสั่ง หาก Copilot รันคำสั่งทั่วไปหรือไม่รันเลย ไฟล์อาจไม่ถูกโหลด ยืนยันว่ามันชื่อว่า .github/copilot-instructions.md อย่างถูกต้อง อยู่ในไดเรกทอรี .github ที่รูทของรีโพของคุณ และคำสั่งที่กำหนดเองนั้นเปิดใช้งานในการตั้งค่า VS Code ของคุณ หากพาธผิด Copilot จะไม่อ่านไฟล์นั้นเลย
มันส่ง access token ไปอยู่ดี หาก Copilot พยายามเพิ่ม --access-token มันกำลังเดาจากตัวอย่างสาธารณะ บล็อกนั้นได้บอกมันแล้วว่าไม่ต้องทำเช่นนั้น เนื่องจากเครื่องได้รับการยืนยันสิทธิ์ผ่าน apidog login ให้เน้นย้ำบรรทัดนั้น และห้ามใส่โทเค็นจริงในไฟล์คำสั่งเด็ดขาด สำหรับโมเดลการยืนยันสิทธิ์ โปรดดูที่ การยืนยันสิทธิ์ Apidog CLI
มันสร้างแฟล็กขึ้นมาเอง ข้อผิดพลาด “unknown option” หมายความว่า Copilot เดาแฟล็กที่เวอร์ชันของคุณไม่มี บอกให้มันรัน apidog run --help และคัดลอกแฟล็กที่แน่นอนจากตรงนั้น ซึ่งจะถูกต้องเสมอสำหรับเวอร์ชันที่คุณติดตั้ง
มันรายงานว่าผ่านในการรันที่ล้มเหลว นี่คือข้อผิดพลาดที่แพงที่สุด และเป็นเหตุผลที่กฎเกี่ยวกับรหัสออก (exit code) อยู่ในทั้งไฟล์คำสั่งของคุณและขั้นตอนการยืนยันของคุณ เมื่อผลสรุปและรหัสออกไม่ตรงกัน รหัสออกจะเป็นฝ่ายที่ถูกต้อง
จากเอเจนต์ประจำวันสู่วงจรที่ผ่านการทดสอบ
นั่นคือการตั้งค่า ติดตั้ง apidog-cli เพียงครั้งเดียวตาม คู่มือการติดตั้ง เพิ่มบล็อก Apidog สั้นๆ ลงในไฟล์ .github/copilot-instructions.md ของรีโพของคุณ และ Copilot ก็จะรู้วิธีรันการทดสอบ API ของคุณและอ่านผลลัพธ์ภายในวงจรเดียวกันกับที่มันใช้แก้ไขโค้ดอยู่แล้ว ปลายทางที่เสียจะถูกตรวจจับได้ในขณะที่ Copilot กำลังทำงานกับการเปลี่ยนแปลง ไม่ใช่หลังจากที่ส่งมอบไปแล้ว
การทดสอบที่อยู่หลัง GUI จะทำงานเมื่อมนุษย์คลิก; คำสั่งบรรทัดเดียวจะทำงานเมื่อใดก็ตามที่ Copilot ตัดสินใจ คุณยังคงสร้างสถานการณ์ด้วยภาพใน Apidog และเอเจนต์ของคุณจะรันมันในที่ที่คุณไม่ได้ดูอยู่ ดาวน์โหลด Apidog สร้างสถานการณ์หนึ่งอัน ใส่คำสั่ง apidog run ของมันลงใน .github/copilot-instructions.md และดู Copilot หยิบมันขึ้นมาใช้ในการเปลี่ยนแปลงครั้งต่อไป เมื่อคุณพร้อมที่จะรันคำสั่งเดียวกันใน pipeline โดยไม่มี Copilot อยู่ Apidog CLI ใน GitHub Actions จะครอบคลุมถึง secrets, reporters, และการควบคุมด้วยรหัสออก (exit-code gating)
