驗證具型別的Cloud請求

使用Altifigence CLI在本機檢查專案、成員、來源或工作區請求,並檢查其具型別的請求預覽。

在Linux上使用Altifigence CLI 0.1.9驗證具型別的請求文件,並檢閱其方法、路徑、標頭及本文。

準備請求

將此範例儲存為request.json:

{
  "schema": "altifigence.dds.cloud-request.v1",
  "orgId": "11111111-1111-4111-8111-111111111111",
  "action": {
    "type": "project-create",
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

對organizations,請省略orgId和projectId。對project-list和project-create,請包含orgId。對project-get、project-update、project-delete及所有成員、來源和工作區動作,請同時包含orgId和projectId。請使用v1至5格式的小寫UUID。

對member-add、member-update和member-remove,請將成員的userId加入action。member-add和member-update也需要role,其值為owner、editor或viewer。對工作區動作,請將工作區操作放在action.request內。

驗證並檢查預覽

alti --json ide cloud contract --request request.json

結束狀態0表示契約有效。此範例會產生以下JSON結果:

{
  "schema": "altifigence.dds.cloud-contract.v1",
  "status": "contract-only",
  "validated": true,
  "executed": false,
  "authorizationChecked": false,
  "authorization": {
    "kind": "native-cli-pkce",
    "clientId": "altifigencecli",
    "productId": "altifigence-cli",
    "selectedOrganizationRequired": true,
    "genericCloudTokenAccepted": false
  },
  "request": {
    "method": "POST",
    "path": "/v1/native/orgs/11111111-1111-4111-8111-111111111111/projects",
    "headers": {
      "Content-Type": "application/json"
    },
    "body": {
      "name": "Counter",
      "slug": "counter"
    }
  }
}

請檢閱request.method、request.path及request.body。回條以status: "contract-only"、executed: false及authorizationChecked: false記錄本機驗證。

若要從標準輸入讀取同一份文件,請使用:

alti --json ide cloud contract --request - < request.json

修正遭拒的請求

空白的專案名稱會產生以下結果,結束狀態為2:

{
  "schema": "altifigence.dds.cloud-receipt.v1",
  "ok": false,
  "executed": false,
  "error": {
    "code": "INVALID_PROJECT_BODY"
  }
}

將名稱改為Counter等非空值,儲存文件,然後再次執行驗證命令。

若出現CLOUD_IDENTITY_SCOPE_MISMATCH,請讓orgId和projectId符合該動作。例如,從project-create請求移除projectId,然後再次驗證。若出現INVALID_CLOUD_IDENTITY,請提供v1至5格式的小寫UUID。

若出現INVALID_CLOUD_CONTRACT,請檢查JSON語法和請求欄位名稱。若出現UNSUPPORTED_CLOUD_CONTRACT,請將schema設為altifigence.dds.cloud-request.v1。每份文件須在1402200位元組以內。

CLI首次成功操作