Apidog CLI 用於從終端機或 CI/CD 管線執行自動化測試並管理 Apidog 專案資源。它支援測試執行、API 設計資源管理、環境與變數、匯入與匯出、文件發布、分支協作,以及專案管理。基本 Apidog CLI 語法#
大多數專案資源命令會使用 --project <projectId> 來指定專案。你可以使用 --branch <branchName> 在特定分支上操作。如果省略 --branch,伺服器會使用預設分支。| 命令 | 說明 | 範例 |
|---|
login | 使用存取權杖登入並將其儲存在本機。 | apidog login --with-token <token> |
logout | 登出並清除已儲存的本機權杖。 | apidog logout |
whoami | 顯示目前已驗證使用者的資訊。 | apidog whoami |
如果你使用 GitHub Actions,可以將存取權杖儲存在儲存庫的 Settings --> Secrets and Variables --> Actions --> Repository variables 下。然後使用 ${{ vars.APIDOG_ACCESS_TOKEN }} 來參照它。
CLI Schema#
使用 cli-schema 在建立或更新複雜資源前檢查並驗證 JSON 檔案。這有助於減少因資料格式錯誤而造成的請求失敗。| 命令 | 說明 | 範例 |
|---|
cli-schema list | 列出 CLI 支援的所有 schema key。 | apidog cli-schema list |
cli-schema get | 印出命令資料檔案的 JSON Schema。 | apidog cli-schema get endpoint-create |
cli-schema validate | 依據 schema key 驗證本機 JSON 檔案。 | apidog cli-schema validate endpoint-create --file ./endpoint.json |
Schema key 通常會結合命令路徑與動作,例如 endpoint-create、test-scenario-update 和 merge-request-create。團隊與專案#
團隊與專案命令是透過 CLI 管理資源的起點。使用它們來尋找專案層級命令所需的 ID。團隊管理#
| 命令 | 說明 | 範例 |
|---|
team list | 列出目前帳號可存取的團隊。 | apidog team list |
team get | 檢視特定團隊的詳細資料。 | apidog team get <teamId> |
專案管理#
| 命令 | 說明 | 範例 |
|---|
project list | 列出目前帳號可存取的專案。 | apidog project list |
project get | 檢視專案詳細資料。 | apidog project get <projectId> |
project create | 在團隊下建立專案。 | apidog project create --team <teamId> --name "New Project" |
專案設定#
| 命令 | 說明 | 範例 |
|---|
project settings get | 檢視專案層級設定。 | apidog project settings get --project <projectId> |
project settings update | 使用 JSON 檔案更新專案設定。 | apidog project settings update --project <projectId> --file ./project-settings.json |
cli-schema get project-settings-update | 檢視專案設定更新的 schema。 | apidog cli-schema get project-settings-update |
環境與變數#
使用這些命令來管理 API 偵錯與自動化測試所使用的執行階段環境、全域變數與團隊變數。環境管理#
| 命令 | 說明 | 範例 |
|---|
environment list | 列出專案中的環境。 | apidog environment list --project <projectId> |
environment get | 檢視環境詳細資料,例如 base URL。 | apidog environment get <environmentId> --project <projectId> |
environment create | 建立環境。 | apidog environment create <name> --project <projectId> --base-url <url> |
environment update | 更新環境。 | apidog environment update <environmentId> --project <projectId> --file ./environment.json |
environment delete | 刪除環境。 | apidog environment delete <environmentId> --project <projectId> |
cli-schema get environment-update | 檢視環境更新的 schema。 | apidog cli-schema get environment-update |
變數管理#
| 命令 | 說明 | 範例 |
|---|
variables list | 依範圍列出變數。 | apidog variables list --project <projectId> --scope global |
variables get | 檢視變數的值。 | apidog variables get --project <projectId> --scope global --key <key> |
variables set | 建立或更新變數。 | apidog variables set --project <projectId> --scope global --key <key> --value <value> |
variables delete | 刪除變數。 | apidog variables delete --project <projectId> --scope global --key <key> |
variables import | 從本機檔案匯入變數。 | apidog variables import --project <projectId> --scope global --file ./variables.json |
variables export | 將變數匯出到本機檔案。 | apidog variables export --project <projectId> --scope global --output ./variables.json |
API 設計資源#
使用這些命令管理 API 設計資源,包括 HTTP API 端點、schema、資料夾、模擬規則、通用參數、回應元件與安全性方案。建立或更新複雜資源時,建議先執行 cli-schema get <schemaKey> 和 cli-schema validate <schemaKey> --file <path>。HTTP API 端點#
| 命令 | 說明 | 範例 |
|---|
endpoint list | 列出專案中的 HTTP API 端點。 | apidog endpoint list --project <projectId> |
endpoint get | 檢視端點詳細資料。 | apidog endpoint get <endpointId> --project <projectId> |
endpoint create | 從 JSON 檔案建立端點。 | apidog endpoint create --project <projectId> --file ./endpoint.json |
endpoint update | 更新端點。 | apidog endpoint update <endpointId> --project <projectId> --file ./endpoint.json |
endpoint delete | 刪除端點。 | apidog endpoint delete <endpointId> --project <projectId> |
cli-schema get endpoint-create | 檢視端點建立的 schema。 | apidog cli-schema get endpoint-create |
cli-schema get endpoint-update | 檢視端點更新的 schema。 | apidog cli-schema get endpoint-update |
資料 Schema#
| 命令 | 說明 | 範例 |
|---|
schema list | 列出專案中的資料 schema。 | apidog schema list --project <projectId> |
schema get | 檢視 schema 詳細資料。 | apidog schema get <schemaId> --project <projectId> |
schema create | 從 JSON 檔案建立資料 schema。 | apidog schema create --project <projectId> --file ./schema.json |
schema update | 更新資料 schema。 | apidog schema update <schemaId> --project <projectId> --file ./schema.json |
schema delete | 刪除資料 schema。 | apidog schema delete <schemaId> --project <projectId> |
cli-schema get schema-create | 檢視資料 schema 建立的 schema。 | apidog cli-schema get schema-create |
cli-schema get schema-update | 檢視資料 schema 更新的 schema。 | apidog cli-schema get schema-update |
Markdown 文件#
| 命令 | 說明 | 範例 |
|---|
doc list | 列出 Markdown 文件。 | apidog doc list --project <projectId> |
doc get | 檢視 Markdown 文件詳細資料。 | apidog doc get <docId> --project <projectId> |
doc create | 建立 Markdown 文件。 | apidog doc create --project <projectId> --file ./doc.json |
doc update | 更新 Markdown 文件。 | apidog doc update <docId> --project <projectId> --file ./doc.json |
doc delete | 刪除 Markdown 文件。 | apidog doc delete <docId> --project <projectId> |
資源資料夾#
使用 folder 命令管理不同資源類型的資料夾樹。--type 選項會選擇資源類型,例如 endpoint、schema、test-scenario、response-component、security-scheme、test-suite 或 test-data。| 命令 | 說明 | 範例 |
|---|
folder list | 依資源類型列出資料夾。 | apidog folder list --project <projectId> --type endpoint |
folder create | 依資源類型建立資料夾。 | apidog folder create --project <projectId> --type endpoint --name "New Folder" |
folder move | 將資料夾移至另一個父資料夾。 | apidog folder move <folderId> --project <projectId> --type endpoint --parent <parentId> |
folder update | 更新資料夾名稱、描述或父資料夾。 | apidog folder update <folderId> --project <projectId> --type endpoint --name "New Folder Name" |
folder delete | 刪除資料夾。 | apidog folder delete <folderId> --project <projectId> --type endpoint |
cli-schema get folder-create | 檢視資料夾建立的 schema。 | apidog cli-schema get folder-create |
cli-schema get folder-update | 檢視資料夾更新的 schema。 | apidog cli-schema get folder-update |
--type 會選擇資源資料夾類型。它不是資料夾名稱。description 欄位僅支援 endpoint 和 test-scenario 資料夾;其他資料夾類型僅支援名稱與父資料夾更新。
模擬規則#
| 命令 | 說明 | 範例 |
|---|
mock list | 列出專案中或端點下的模擬規則。 | apidog mock list --project <projectId> --http-api-id <endpointId> |
mock get | 檢視模擬規則。 | apidog mock get <mockId> --project <projectId> |
mock create | 從 JSON 檔案建立模擬規則。 | apidog mock create --project <projectId> --file ./mock.json |
mock update | 更新模擬規則。 | apidog mock update <mockId> --project <projectId> --file ./mock.json |
mock delete | 刪除模擬規則。 | apidog mock delete <mockId> --project <projectId> |
cli-schema get mock-create | 檢視模擬規則建立的 schema。 | apidog cli-schema get mock-create |
cli-schema get mock-update | 檢視模擬規則更新的 schema。 | apidog cli-schema get mock-update |
通用參數#
| 命令 | 說明 | 範例 |
|---|
common-parameter list | 列出可重複使用的通用參數。 | apidog common-parameter list --project <projectId> |
common-parameter get | 檢視通用參數詳細資料。 | apidog common-parameter get <commonParameterId> --project <projectId> |
common-parameter create | 從 JSON 檔案建立通用參數。 | apidog common-parameter create --project <projectId> --file ./common-parameter.json |
common-parameter update | 更新通用參數。 | apidog common-parameter update <commonParameterId> --project <projectId> --file ./common-parameter.json |
common-parameter import | 從檔案匯入通用參數。 | apidog common-parameter import --project <projectId> --file ./common-parameters.json |
common-parameter export | 將通用參數匯出到本機檔案。 | apidog common-parameter export --project <projectId> --output ./common-parameters.json |
回應元件#
| 命令 | 說明 | 範例 |
|---|
response-component list | 列出可重複使用的回應元件。 | apidog response-component list --project <projectId> |
response-component get | 檢視回應元件詳細資料。 | apidog response-component get <responseComponentId> --project <projectId> |
response-component create | 從 JSON 檔案建立回應元件。 | apidog response-component create --project <projectId> --file ./response-component.json |
response-component update | 更新回應元件。 | apidog response-component update <responseComponentId> --project <projectId> --file ./response-component.json |
response-component delete | 刪除回應元件。 | apidog response-component delete <responseComponentId> --project <projectId> |
安全性方案#
| 命令 | 說明 | 範例 |
|---|
security-scheme list | 列出專案中的安全性方案。 | apidog security-scheme list --project <projectId> |
security-scheme get | 檢視安全性方案詳細資料。 | apidog security-scheme get <schemeId> --project <projectId> |
security-scheme create | 從 JSON 檔案建立安全性方案。 | apidog security-scheme create --project <projectId> --file ./scheme.json |
security-scheme update | 更新安全性方案。 | apidog security-scheme update <schemeId> --project <projectId> --file ./scheme.json |
security-scheme delete | 刪除安全性方案。 | apidog security-scheme delete <schemeId> --project <projectId> |
API 路徑是 API 資源路徑,不是本機檔案路徑。如果你的 shell 會重寫以 / 開頭的值,請用引號包住路徑,例如 --path '/api/users',或使用 --file 提供端點資料。對於 API 測試案例或測試情境 HTTP 步驟,responseId 應使用來自 endpoint.responses[].id 的端點回應定義 ID,而不是回應元件 ID。若要重複使用回應元件,請先在端點回應定義中連結它。
自動化測試#
使用這些命令管理 API 測試案例、測試情境、測試套件、測試資料、測試報告、runner 與排程任務。API 測試案例#
| 命令 | 說明 | 範例 |
|---|
test-case list | 列出 API 測試案例,可選擇依端點篩選。 | apidog test-case list --project <projectId> --endpoint <endpointId> |
test-case category | 列出測試案例分類。 | apidog test-case category --project <projectId> |
test-case get | 檢視 API 測試案例詳細資料。 | apidog test-case get <caseId> --project <projectId> |
test-case create | 從 JSON 檔案建立 API 測試案例。 | apidog test-case create --project <projectId> --file ./case.json |
test-case update | 更新 API 測試案例。 | apidog test-case update <caseId> --project <projectId> --file ./case.json |
test-case delete | 刪除 API 測試案例。 | apidog test-case delete <caseId> --project <projectId> |
cli-schema get test-case-create | 檢視測試案例建立的 schema。 | apidog cli-schema get test-case-create |
cli-schema get test-case-update | 檢視測試案例更新的 schema。 | apidog cli-schema get test-case-update |
測試情境#
| 命令 | 說明 | 範例 |
|---|
test-scenario list | 列出專案中的測試情境。 | apidog test-scenario list --project <projectId> |
test-scenario get | 檢視測試情境詳細資料。 | apidog test-scenario get <scenarioId> --project <projectId> |
test-scenario create | 建立測試情境。 | apidog test-scenario create --project <projectId> --file ./scenario.json |
test-scenario update | 更新測試情境。 | apidog test-scenario update <scenarioId> --project <projectId> --file ./scenario.json |
test-scenario delete | 刪除測試情境。 | apidog test-scenario delete <scenarioId> --project <projectId> |
test-scenario run | 執行測試情境。 | apidog test-scenario run <scenarioId> --project <projectId> --environment <environmentId> |
cli-schema get test-scenario-create | 檢視測試情境建立的 schema。 | apidog cli-schema get test-scenario-create |
cli-schema get test-scenario-update | 檢視測試情境更新的 schema。 | apidog cli-schema get test-scenario-update |
測試套件#
| 命令 | 說明 | 範例 |
|---|
test-suite list | 列出專案中的測試套件。 | apidog test-suite list --project <projectId> |
test-suite get | 檢視測試套件詳細資料。 | apidog test-suite get <testSuiteId> --project <projectId> |
test-suite create | 建立測試套件。 | apidog test-suite create --project <projectId> --file ./suite.json |
test-suite update | 更新測試套件。 | apidog test-suite update <testSuiteId> --project <projectId> --file ./suite.json |
test-suite delete | 刪除測試套件。 | apidog test-suite delete <testSuiteId> --project <projectId> |
test-suite run | 執行測試套件。 | apidog test-suite run <testSuiteId> --project <projectId> --environment <environmentId> |
測試資料#
| 命令 | 說明 | 範例 |
|---|
test-data list | 列出測試資料集。 | apidog test-data list --project <projectId> |
test-data get | 檢視測試資料集詳細資料。 | apidog test-data get <dataId> --project <projectId> |
test-data create | 從 JSON 檔案建立測試資料集。 | apidog test-data create --project <projectId> --file ./test-data.json |
test-data update | 更新測試資料集。 | apidog test-data update <dataId> --project <projectId> --file ./test-data.json |
test-data delete | 刪除測試資料集。 | apidog test-data delete <dataId> --project <projectId> |
測試報告#
| 命令 | 說明 | 範例 |
|---|
test-report list | 列出專案中的測試報告。 | apidog test-report list --project <projectId> |
test-report get | 檢視測試報告詳細資料。 | apidog test-report get <reportId> --project <projectId> |
test-report download | 將測試報告下載到本機檔案。 | apidog test-report download <reportId> --project <projectId> --format json --output ./report.json |
test-report delete | 刪除測試報告。 | apidog test-report delete <reportId> --project <projectId> |
Runners#
| 命令 | 說明 | 範例 |
|---|
runner list | 列出專案或團隊中的 runner。 | apidog runner list --project <projectId> |
runner get | 檢視 runner 詳細資料。 | apidog runner get <runnerId> --project <projectId> |
runner create | 建立團隊 runner。 | apidog runner create --team <teamId> --name <name> --runner-type <runnerType> --server-type <serverType> |
runner check | 檢查 runner 健康狀態。 | apidog runner check <runnerId> --team <teamId> |
runner delete | 刪除 runner。 | apidog runner delete <runnerId> --project <projectId> |
排程任務#
| 命令 | 說明 | 範例 |
|---|
scheduled-task list | 列出專案中的排程任務。 | apidog scheduled-task list --project <projectId> |
scheduled-task get | 檢視排程任務詳細資料。 | apidog scheduled-task get <taskId> --project <projectId> |
scheduled-task create | 從 JSON 檔案建立排程任務。 | apidog scheduled-task create --project <projectId> --file ./scheduled-task.json |
scheduled-task update | 更新排程任務。 | apidog scheduled-task update <taskId> --project <projectId> --file ./scheduled-task.json |
scheduled-task delete | 刪除排程任務。 | apidog scheduled-task delete <taskId> --project <projectId> |
scheduled-task run | 手動觸發排程任務。 | apidog scheduled-task run <taskId> --project <projectId> |