형식이 정해진 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에서는 action에 구성원의 userId를 넣으세요. 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바이트 이내로 작성하세요.