스크립팅
CLI는 셸 스크립트, CI 작업, 코딩 에이전트가 다루도록 만들어졌습니다. 데이터는 stdout으로, 나머지는 모두 stderr로 가며, 종료 코드는 안정적이고 모든 프롬프트를 끌 수 있습니다.
출력
stdout이 터미널이면 텍스트, 파이프나 리디렉션이면 JSON으로 출력됩니다. --output json 또는 --output text, POLYLANE_OUTPUT 변수, 구성 파일 순의 우선순위로 형식을 강제할 수 있습니다. stdout은 JSON이든 표 행이든 스트리밍 토큰이든 데이터만 담으므로 안전하게 파이프로 연결할 수 있습니다. stderr는 스피너, 진행 상황, 힌트, 오류를 담으며, JSON 모드에서 오류는 code, message, hint를 가진 객체로 도착하고 code는 종료 코드와 일치합니다.
스크립트용 플래그
| 플래그 | 설명 |
|---|---|
--output json | 터미널 상태와 관계없이 JSON 강제 |
--quiet | 스피너와 진행 상황 억제. stdout은 순수 데이터로 유지 |
--non-interactive | 프롬프트 대신 누락된 입력에서 즉시 실패 |
--yes | 파괴적인 명령의 확인 건너뛰기 |
--dry-run | 변경 없이 일어날 일 표시 |
--full | list 명령에서 좁은 필드 프로젝션 대신 전체 객체 반환 |
--api-key <key> | 한 번의 호출에 대해 저장된 API 키 재정의 |
--workspace <id> | 한 번의 호출에 대해 기본 워크스페이스 재정의 |
--non-interactive와 함께 polylane cloud disconnect는 --yes도 전달하지 않으면 실행을 거부하는 반면, polylane memory delete 같은 다른 확인은 건너뛰므로, 의도를 분명히 하려면 --yes를 명시적으로 전달하세요. POLYLANE_API_KEY와 POLYLANE_WORKSPACE_ID는 환경에서 자격 증명과 워크스페이스를 설정하므로 CI에 적합합니다. 인증을 참고하세요.
종료 코드
| 코드 | 설명 |
|---|---|
| 0 | 성공 |
| 1 | 일반 오류 |
| 2 | 사용법 오류: 잘못된 플래그, 누락된 인수 |
| 3 | 인증 오류 |
| 4 | 속도 제한 또는 플랜 업그레이드 필요 |
| 5 | 타임아웃 |
| 6 | 네트워크 오류 |
| 130 | Ctrl-C로 중단됨 |
먼저 종료 코드로 분기해 재시도할지, 다시 인증할지, 실패를 드러낼지 결정한 뒤, 세부 내용은 stderr의 오류 객체를 파싱하세요.
예시
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에서 설명합니다.