CLI

การเขียนสคริปต์

ควบคุม CLI จากเชลล์สคริปต์ CI และเอเจนต์เขียนโค้ด ด้วยผลลัพธ์ JSON exit code ที่คงที่ และไม่มีพรอมต์

CLI ถูกสร้างมาให้ควบคุมได้จากเชลล์สคริปต์ งาน CI และเอเจนต์เขียนโค้ด ข้อมูลไปที่ stdout ทุกอย่างที่เหลือไปที่ stderr exit code คงที่ และทุกพรอมต์ปิดได้

ผลลัพธ์

ผลลัพธ์เป็นข้อความเมื่อ stdout เป็นเทอร์มินัล และเป็น JSON เมื่อถูก pipe หรือ redirect บังคับรูปแบบด้วย --output json หรือ --output text ตัวแปร POLYLANE_OUTPUT หรือไฟล์กำหนดค่า ตามลำดับความสำคัญนั้น stdout มีเฉพาะข้อมูล ไม่ว่าจะเป็น JSON แถวตาราง หรือโทเค็นที่สตรีม จึง pipe ได้อย่างปลอดภัย stderr มี spinner ความคืบหน้า คำใบ้ และข้อผิดพลาด และในโหมด JSON ข้อผิดพลาดมาถึงเป็นอ็อบเจกต์ที่มี code, message และ hint โดย code ตรงกับ exit code

flag สำหรับสคริปต์

Flagคำอธิบาย
--output jsonบังคับ JSON ไม่ว่าสถานะเทอร์มินัลจะเป็นอย่างไร
--quietระงับ spinner และความคืบหน้า stdout ยังคงเป็นข้อมูลล้วน
--non-interactiveล้มเหลวทันทีเมื่อขาดอินพุตแทนการถาม
--yesข้ามการยืนยันบนคำสั่งที่ทำลายข้อมูล
--dry-runแสดงสิ่งที่จะเกิดขึ้นโดยไม่เปลี่ยนแปลงอะไร
--fullคืนอ็อบเจกต์เต็มบนคำสั่ง list แทนการเลือกฟิลด์แบบย่อ
--api-key <key>แทนที่คีย์ API ที่เก็บไว้สำหรับการเรียกครั้งเดียว
--workspace <id>แทนที่ workspace เริ่มต้นสำหรับการเรียกครั้งเดียว

เมื่อใช้ --non-interactive polylane cloud disconnect จะปฏิเสธการรันเว้นแต่คุณส่ง --yes ด้วย ขณะที่การยืนยันอื่นๆ เช่น polylane memory delete จะถูกข้าม ดังนั้นให้ส่ง --yes อย่างชัดเจนเพื่อให้เจตนาชัด POLYLANE_API_KEY และ POLYLANE_WORKSPACE_ID ตั้งข้อมูลรับรองและ workspace จากสภาพแวดล้อม ซึ่งเหมาะกับ CI ดูการยืนยันตัวตน

exit code

Codeคำอธิบาย
0สำเร็จ
1ข้อผิดพลาดทั่วไป
2ข้อผิดพลาดการใช้งาน: flag ผิด ขาดอาร์กิวเมนต์
3ข้อผิดพลาดการยืนยันตัวตน
4ถูกจำกัดอัตราหรือต้องอัปเกรดแผน
5หมดเวลา
6ข้อผิดพลาดเครือข่าย
130ถูกขัดจังหวะด้วย Ctrl-C

แยกทางตาม exit code ก่อนเพื่อตัดสินว่าจะลองใหม่ ยืนยันตัวตนใหม่ หรือแสดงความล้มเหลว แล้วจึงแยกวิเคราะห์อ็อบเจกต์ข้อผิดพลาดบน stderr เพื่อดูรายละเอียด

ตัวอย่าง

Terminal
polylane issue list --active --severity critical --output json --quiet \
  | jq -r '.items[] | "\(.id)\t\(.title)"'

polylane issue list คืนอ็อบเจกต์ที่มี items และ count และแต่ละรายการถูกเลือกฟิลด์เป็น id, severity, status, title, resourceKind, resourceId, detectedAt และ investigationThreadId ส่วน --full คืนอ็อบเจกต์ที่สมบูรณ์ Issues อธิบายวงจรชีวิตเบื้องหลังแต่ละสถานะ

ที่เกี่ยวข้อง

  • การยืนยันตัวตน: คีย์ API และตัวแปรสภาพแวดล้อมสำหรับ CI
  • การกำหนดค่า: การตั้งค่าผลลัพธ์และ timeout และไฟล์กำหนดค่า
  • Issues: สถานะและความรุนแรงที่คำสั่ง issue คืน
  • Threads: สิ่งที่ thread ask เริ่ม และเธรดดำเนินไปอย่างไร