Vead
Käsitle HTTP API suletud veakoodide hulka ja struktureeritud üksikasju.
Toimingu vead kasutavad ühte JSON-ümbrist:
1{2 "error": {3 "code": "INVALID_ARGUMENT",4 "message": "Human-readable explanation",5 "details": {}6 }7}code ja message on alati olemas. details on valikuline ning sisaldab konkreetse vea masinloetavat konteksti.
Veakoodid
| Kood | HTTP olek | Tähendus |
|---|---|---|
INVALID_ARGUMENT | 400 | JSON või toimingu argument on vigane, sealhulgas puuduv nõutud kinnitus. |
UNAUTHENTICATED | 401 | Beareri mandaat puudub või on kehtetu. |
FORBIDDEN | 403 | Kutsuja on autenditud, kuid tal pole õigust, või allkirjastatud tõendilink on kehtetu või aegunud. |
NOT_FOUND | 404 | Taotletud ressurssi või tõendimeediat ei ole kutsuja organisatsioonis. |
CONFLICT | 409 | Mutatsioon on olemasoleva olekuga vastuolus, näiteks keskkonna slug on juba kasutusel. |
LIMIT_REACHED | 402 | Organisatsiooni mahu- või õigusepiirang takistab toimingut. |
UNAVAILABLE | 503 | Nõutud teenus või ressurss pole ajutiselt saadaval. |
Ootamatud sisemised vead puhastatakse sama UNAVAILABLE koodi ja sõnumiga The operation could not be completed., kuid tagastavad HTTP 500. Ära sõltu sisemise erindi tekstist.
Vigane JSON või JSON-juur, mis pole objekt, tagastab 400 INVALID_ARGUMENT. 401 vastus sisaldab ka WWW-Authenticate väljakutset.
Kinnituse üksikasjad
Asendamistoimingud tagastavad kirjutamise asemel eelvaate, kui confirm: true on nõutud. Näiteks test_case.update_steps võib tagastada:
1{2 "error": {3 "code": "INVALID_ARGUMENT",4 "message": "Replacing all Test Case steps requires confirm: true.",5 "details": {6 "confirmRequired": true,7 "wouldChange": {8 "stepCountBefore": 4,9 "stepCountAfter": 610 }11 }12 }13}test_plan.set_members annab väljad wouldChange.removed ja wouldChange.added. environment.upsert annab edastatud fields ja sihtmärkide platforms. Vaata eelvaade üle ning korda sama kavandatud mutatsiooni väärtusega confirm: true ja sama idempotencyKey-ga.
Mandaadiväärtuse valvuri üksikasjad
test_case.create ja test_case.update_steps lükkavad tagasi literaali, mis sihib mandaadivälja või näeb välja nagu saladus. Viga nimetab sammu, rakendunud reegli ja ohutud alternatiivid:
1{2 "error": {3 "code": "INVALID_ARGUMENT",4 "message": "Literal credentials and secret-shaped values must use an Environment value or an Agent-chosen value.",5 "details": {6 "stepIndex": 0,7 "rule": "field",8 "alternatives": [9 {10 "kind": "environment",11 "variables": [12 "LOGIN_EMAIL",13 "LOGIN_PASSWORD"14 ]15 },16 {17 "kind": "agent"18 }19 ],20 "escape": "credential"21 }22 }23}Kasuta valueSpec: { "kind": "environment", "variable": "LOGIN_PASSWORD" }, kui väärtus on keskkonnas juba olemas, või valueSpec: { "kind": "agent" }, kui käitaja peaks selle valima.
Uue literaali teisaldamiseks keskkonna saladuseks saada literaalne valueSpec koos väljaga credential.environmentSlug. See pääsetee nõuab ka õigust autonomy:environments:write; muidu tagastab API 403 FORBIDDEN koos nõutud õiguse ja väljaga stepIndex üksikasjades. Edukas teisaldamine kirjutab salvestatud sammu ümber keskkonnaviiteks ja loetleb teisaldamise mutatsiooni vastuses.