Lewati ke konten utama

Perintah CLI

Paket ini menyediakan satu program, openapi-cli. Program menerima daftar opsi secara langsung; tidak ada subperintah run / validate / init:

openapi-cli [options]

Sintaks​

openapi-cli --spec openapi.json [options]
openapi-cli -c config.json

Spesifikasi wajib disediakan: gunakan --spec (atau -s), atau tetapkan specPath dalam berkas JSON yang dimuat dengan --config. Opsi lainnya bersifat opsional.

Opsi utama​

OpsiBentuk singkatBawaanDeskripsi
--spec <path-or-url>-s—Jalur atau URL http(s):// ke spesifikasi JSON OpenAPI 3.2
--server <url>-S(dari spesifikasi)Ganti URL server dari spesifikasi
--output <dir>-o./openapi-cli-reportDirektori keluaran laporan
--format <formats>-fjson,cli,htmlFormat laporan yang dipisahkan koma: json, cli, html
--config <path>-c—Jalur berkas konfigurasi JSON; argumen CLI diprioritaskan

Opsi eksekusi​

OpsiBentuk singkatBawaanDeskripsi
--concurrency <n>-n5Maksimum permintaan bersamaan; bilangan bulat 1 hingga 100
--timeout <ms>-t30000Batas waktu per permintaan dalam ms, bilangan bulat 1 hingga 600000; juga digunakan saat mengambil spesifikasi jarak jauh
--no-fail-on-error—nonaktifKeluar dengan 0 setelah proses selesai meskipun pengujian gagal; kesalahan konfigurasi dan kesalahan fatal tetap menyebabkan kegagalan

Opsi filter​

OpsiBawaanDeskripsi
--method <methods>—Metode HTTP yang disertakan, dipisahkan koma, misalnya get,post
--path <patterns>—Pola ekspresi reguler yang dipisahkan koma untuk dicocokkan dengan setiap jalur
--tag <tags>—Tag OpenAPI yang disertakan, dipisahkan koma
--operation-id <ids>—Nilai operationId yang disertakan, dipisahkan koma

Opsi jaringan dan TLS​

OpsiBentuk singkatBawaanDeskripsi
--proxy <url>-p—URL proxy HTTP(S), misalnya http://proxy.corp:8080
--ca <path>——Kumpulan sertifikat CA dalam format PEM
--cert <path>——Sertifikat klien PEM untuk mTLS
--key <path>——Kunci privat klien PEM untuk mTLS
--insecure-knonaktifLewati verifikasi sertifikat TLS

Autentikasi, header, dan variabel​

OpsiBentuk singkatDeskripsi
--header <headers...>-HHeader tambahan dengan format Key: Value; dapat diulang
--bearer <token>—Token Bearer yang dikirim dalam header Authorization
--variable <vars...>-vVariabel Postman dengan format KEY=VALUE; dapat diulang
--env <path>—Jalur berkas .env; tidak menimpa variabel lingkungan yang sudah ada

Opsi gRPC​

OpsiBawaanDeskripsi
--grpc-no-reflectionnonaktifNonaktifkan refleksi server gRPC dan gunakan berkas proto
--grpc-proto <paths...>—Jalur berkas .proto atau direktori yang memuatnya

Opsi MCP​

OpsiBawaanDeskripsi
--mcp-transport <transport>streamable-httpTransport MCP: streamable-http atau stdio
--mcp-command <command>—Perintah MCP stdio, misalnya npx
--mcp-args <args>—Argumen MCP stdio yang dipisahkan spasi atau koma
--mcp-cwd <dir>—Direktori kerja subproses MCP stdio

Opsi informasi​

OpsiBentuk singkatDeskripsi
--help-hTampilkan bantuan
--version-VTampilkan versi

Kode keluar​

KodeArti
0Semua pengujian lulus atau --no-fail-on-error diaktifkan
1Satu atau lebih pengujian gagal atau mengalami kesalahan, atau penguraian argumen CLI gagal
2Kesalahan konfigurasi, kegagalan memuat spesifikasi, atau kesalahan runtime fatal

CLI menampilkan Error: berwarna merah dan keluar dengan 2 saat resolveConfig melempar kesalahan, misalnya ketika tidak ada --spec maupun specPath yang dikonfigurasi. CLI menampilkan Fatal error: dan keluar dengan 2 saat runTests melempar kesalahan. Setelah proses selesai, kode keluar 1 hanya digunakan jika report.summary.failed > 0 || report.summary.errors > 0 dan failOnError !== false.

Variabel lingkungan​

Tidak ada variabel khusus OPENAPI_CLI_*. Konfigurasi diberikan melalui opsi, berkas konfigurasi, serta mekanisme berikut:

  • Berkas .env — berikan --env .env untuk memuat pasangan KEY=VALUE ke process.env. Variabel yang sudah ada tidak ditimpa.
  • Ekspansi ${VAR} — setelah pemuatan, ${VAR_NAME} diganti di serverUrl, proxy, nilai headers, auth.token, dan nilai variables.
openapi-cli --spec openapi.json \
--env .env \
--server 'https://${API_HOST}/v1' \
--bearer '${BEARER_TOKEN}'

Contoh menjalankan​

# Test a local spec against its first server URL
openapi-cli --spec openapi.json

# Override the server and write JSON + HTML reports
openapi-cli --spec openapi.json \
--server https://api.staging.example.com \
--format json,html --output ./reports

# Only GET requests, 10 workers, with a bearer token
openapi-cli --spec openapi.json --method get --concurrency 10 --bearer "$TOKEN"

# Use a config file
openapi-cli --config openapi-cli.config.json