Autonomy dokumentatsioon
HTTP API v1

Toimingud

Kõigi 23 HTTP API toimingu marsruudid, õigused, idempotentsus ja eesmärk koos päringunäidetega.

Kutsu iga toimingut päringuga POST /api/v1/<operation> ja JSON-objektist kehaga. Tabelites olev toimingu nimi on täpne järelliide pärast /api/v1/. MCP-s on sama toiming tööriist autonomy_<operation>, milles punktid on asendatud alakriipsudega.

Tabelites tähendab Nõutud, et päring peab sisaldama välja idempotencyKey (vaata Idempotentsed muudatused).

Projektid

ToimingÕigusIdempotentsusEesmärk
project.listautonomy:readPuudubLoetle projektid, millele sul on ligipääs, nime järgi. Alusta siit, et leida projectId, mida teised toimingud vajavad.
project.getautonomy:readPuudubToo üks projekt projectId järgi koos selle tooteteadmistega.

Testjuhtumid

ToimingÕigusIdempotentsusEesmärk
test_case.listautonomy:readPuudubLoetle testjuhtumid, uusimad eespool. Filtreeri projectId, platform või nimepäringu query järgi. Vaata siit enne testjuhtumi loomist, et olemasolevat katvust taaskasutada.
test_case.getautonomy:readPuudubToo üks testjuhtum testCaseId järgi koos selle oodatud tulemustega sammude ja nende manustega. Saladuste väärtusi ei tagastata kunagi.
test_case.createautonomy:test_cases:writeNõutudLoo projektis testjuhtum oodatud tulemustena kirjutatud sammudest. Võtab väljad projectId, name, platforms, steps ning valikulised description ja tags.
test_case.update_stepsautonomy:test_cases:writeNõutudAsenda testjuhtumi kogu sammude loend. Nõuab alati confirm: true.
test_case.archiveautonomy:test_cases:writeNõutudArhiveeri testjuhtum: see kaob loenditest ja seda ei saa käivitada. Selle käivitused ja nende tulemused säilivad. Uuesti arhiveerimine ei muuda midagi.

Testiplaanid

ToimingÕigusIdempotentsusEesmärk
test_plan.listautonomy:readPuudubLoetle testiplaanid. Filtreeri projectId või nimepäringu query järgi.
test_plan.getautonomy:readPuudubToo üks testiplaan koos selle järjestatud testjuhtumitega.
test_plan.createautonomy:test_plans:writeNõutudLoo projektis testiplaan, soovi korral koos esimeste testjuhtumitega (testCaseIds, kõik samast projektist).
test_plan.set_membersautonomy:test_plans:writeNõutudAsenda testiplaani järjestatud testjuhtumid. Nõuab confirm: true ainult siis, kui testjuhtumeid eemaldataks.

Käivitused

ToimingÕigusIdempotentsusEesmärk
run.triggerautonomy:runs:writeNõutudLisa käivitused järjekorda. Anna täpselt üks väljadest testCaseId või testPlanId (plaan lisab järjekorda ühe käivituse iga testjuhtumi kohta). Sihi sama projekti salvestatud keskkonda väljaga environmentSlug või anna värske juurutuse või buildi jaoks targets. Tagastab kohe.
run.listautonomy:readPuudubLoetle hiljutised käivitused, uusimad eespool. Filtreeri projectId, testCaseId, status, environmentSlug või branch järgi. Vaata siit enne, kui sama tööd uuesti käivitad.
run.getautonomy:readPuudubToo käivituse tulemus, iga sammu tulemus ja see, mida käivitus lõi. Väljadega cursor ja waitMs ootab päring muutust.
run.step_actionsautonomy:readPuudubLoetle käivituse Step Actions: kõik, mida agent iga oodatud tulemuseni jõudmiseks tegi, sealhulgas Final check. Väärtused, mille salvestasid saladustena, on maskeeritud. Filtreeri väljaga stepIndex.
run.evidenceautonomy:readPuudubToo iga käivitatud sammu tõendid: oodatud tulemus, tulemus, selgitus, Final check ja lühiajalised meedialingid. Filtreeri väljaga step.

Kuidas käivitust jälgida ja neid tulemusi lugeda, vaata lehelt Käivitused ja tõendid.

Keskkonnad

ToimingÕigusIdempotentsusEesmärk
environment.listautonomy:readPuudubLoetle keskkonnad koos nende platvormi sihtmärkidega. Filtreeri projectId järgi. Väärtuste nimed on näha, väärtused mitte kunagi.
environment.getautonomy:readPuudubToo üks keskkond environmentSlug järgi.
environment.upsertautonomy:environments:writeNõutudLoo keskkond (loomiseks on projectId kohustuslik) või uuenda olemasolevat slug järgi. Olemasoleva keskkonna uuendamine nõuab confirm: true. runtimeValues liidetakse nime järgi ja neid saab igas sammus kasutada kujul {{env.NAME}}. Saladuste väärtusi saab ainult kirjutada.

Veebi- või API-sihtmärk vajab välja url, Androidi sihtmärk aga oma buildi jaoks välja artifactUrl (iOS-i sihtmärke ei saa salvestada enne, kui iOS-i testimine on saadaval). Väljad packageName, bundleId ja versionLabel on valikulised: kui jätad need välja, loetakse need buildist, ja kui saadad väärtuse ise, kasutatakse sinu väärtust. Salvestada saab ka siis, kui buildi alles loetakse; kui selle rakenduse ID-d ei õnnestu lugeda, ei saa selle sihtmärgi käivitused alata.

Probleemid

ToimingÕigusIdempotentsusEesmärk
issue.listautonomy:readPuudubLoetle probleemid, uusimad eespool. Filtreeri projectId, environmentSlug, status, kind või runId järgi, et näha probleeme, mille üks käivitus leidis või mida see näitas.
issue.createautonomy:issues:writeNõutudRegistreeri probleem keskkonnas, kus seda nähti. kind on bug või risk. Võtab väljad title, lihttekstis body, valikulised expected ja actual ning runIds käivitustele viitamiseks.
issue.commentautonomy:issues:writeNõutudLisa probleemile lihttekstis kommentaar.
issue.set_statusautonomy:issues:writeNõutudSea probleemi olekuks open, resolved või ignored. Märgi see lahendatuks, kui sama testjuhtumi käivitus näitab parandust.

Probleem ei muuda kunagi käivituse ega sammu tulemust. Enne v0.5 registreeritud probleemide liik võib olla note; uued probleemid on bug või risk. Vaata Probleemid.

Sammud oodatud tulemustena

Testjuhtum on sammude loend. Iga samm on lihtsas keeles kirjutatud oodatud tulemus koos valikuliste manustega:

Üks sammjson
1{2  "id": "sign-up",3  "text": "A new account exists for a fresh email address",4  "attachments": [5    {6      "id": "inbox",7      "kind": "inbox",8      "exact": false9    }10  ]11}
  • id: testjuhtumi piires püsiv. Tähed, numbrid, _ ja -, kuni 64 märki.
  • text: oodatud tulemus, kuni 2000 märki. Selles saab kasutada kuju {{env.NAME}}.
  • attachments: kuni 12. Igaühel on oma id, kind ja exact.
kindVäljadMida see agendile annab
accountroleKäivituse keskkonna salvestatud sisselogimise rolli järgi, näiteks "Grower".
inboxlabel?, address?Käivitusele värske postkasti või olemasoleva aadressi address.
phonelabel?, number?SMS-e vastuvõtva telefoninumbri või olemasoleva numbri number.
filelabel?, fileÜleslaaditava faili. Kopeeri objekt file testjuhtumist, mis seda faili juba kasutab.
screenshotlabel?Oodatud tulemuse ekraanipildi, mis jäetakse tõendina alles.
datalabel, value?, intent?, secret?Väärtuse, mida kasutada (value), või kirjelduse intent, mille järgi agent väärtuse ise valib, näiteks „A strong password“.

Manused on testandmed, kui exact ei ole true. Kui toode lükkab testandmete väärtuse tagasi ainult seetõttu, et see on juba kasutusel, kasutab agent sama liiki värsket väärtust ja ütleb seda. Exact-väärtust kasutatakse täpselt nii, nagu see on kirjas, ja sammu hinnatakse just selle tagasilükkamise põhjal. Exact-märkega data-, inbox- või phone-manus vajab oma väärtust, aadressi või numbrit.

address, number ja value võivad olla kujul {{env.NAME}}, mis täidetakse käivituse keskkonnast. data-manuse väärtust, millel on secret: true, saab ainult kirjutada: see salvestatakse peidetuna ja seda ei tagastata kunagi. Kui test_case.update_steps saadab salajase manuse uuesti ilma väärtuseta, jääb salvestatud väärtus alles.

API aktsepteerib testjuhtumis kuni 50 sammu. Töölaua redaktor näitab kuni 12, nii et hoia lühikesed need testjuhtumid, mida muudad ka töölaual. Kuidas häid oodatud tulemusi kirjutada, vaata lehelt Koostamine.

Testjuhtumi loomine

See testjuhtum registreerib konto värske postkasti ja genereeritud parooliga, valib riigi, mis peab olema täpselt „Kenya“, kinnitab konto tervituskirja lingiga ja jätab profiilist ekraanipildi.

test_case.createbash
curl --request POST "https://api.autonomyqa.com/api/v1/test_case.create" \
--header "Authorization: Bearer $AUTONOMY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
  "idempotencyKey": "ci-create-grower-sign-up-v1",
  "projectId": "jd7exampleprojectid",
  "name": "Grower sign-up",
  "description": "A new grower can sign up, confirm their email and see their profile.",
  "platforms": ["web"],
  "tags": ["sign-up", "smoke"],
  "steps": [
    {
      "id": "sign-up",
      "text": "A new grower account exists for a fresh email address, with Kenya as the country",
      "attachments": [
        { "id": "inbox", "kind": "inbox", "label": "Sign-up inbox", "exact": false },
        {
          "id": "password",
          "kind": "data",
          "label": "Password",
          "intent": "A strong password the sign-up form accepts",
          "exact": false
        },
        { "id": "country", "kind": "data", "label": "Country", "value": "Kenya", "exact": true }
      ]
    },
    {
      "id": "confirm-email",
      "text": "The account is confirmed with the link in the welcome email",
      "attachments": []
    },
    {
      "id": "profile",
      "text": "The profile page shows Kenya as the country",
      "attachments": [
        { "id": "profile-shot", "kind": "screenshot", "label": "Profile", "exact": false }
      ]
    }
  ]
}'

Hoia aut_ võtit muutujas AUTONOMY_API_KEY. Vastus on uus testjuhtum koos selle id-ga.

Käivituse alustamine

Anna täpselt üks väljadest testCaseId või testPlanId ning kas environmentSlug või targets, mitte mõlemat. See näide sihib värsket veebieelvaadet:

run.triggerbash
curl --request POST "https://api.autonomyqa.com/api/v1/run.trigger" \
--header "Authorization: Bearer $AUTONOMY_API_KEY" \
--header "Content-Type: application/json" \
--data '{
  "idempotencyKey": "ci-run-pr-128-grower-sign-up-9f3a2c1",
  "testCaseId": "jh7exampletestcaseid",
  "platforms": ["web"],
  "targets": {
    "web": { "baseUrl": "https://preview-128.example.com" }
  },
  "branch": "feature/sign-up-copy",
  "pr": "128",
  "deployment": { "commitSha": "9f3a2c1d8e7f6a5b4c3d2e1f0a9b8c7d6e5f4a3b" }
}'
SihtmärkVäljad
webbaseUrl
apibaseUrl, valikuline runtimeValues ([{ "name", "value", "isSecret" }])
androidpackageName ning artifactUrl või skannitud storageId
iosTulekul: iOS-i käivitusi ei saa veel alustada. bundleId ning artifactUrl või skannitud storageId

platforms piirab käivituse testjuhtumi osadele platvormidele. branch, pr ja deployment seovad käivitused haru, pull request'i või commit'iga. Team-paketis ja kõrgemates keskendab scope: "changed" koos väljaga changedFiles käivituse muudetud failidele.

Vastuses on runIds, kasutatud environment ja testiplaani puhul planGroupRunId. Jälgi iga käivitust toiminguga run.get.

run.trigger keeldub imporditud testjuhtumist, mida pole veel kinnitatud, testjuhtumist, millel on endiselt ainult enne v0.5 loodud sammud („Rewrite them as outcome steps with test_case.update_steps, then run it.“), ja testiplaanist, milles pole ühtegi testjuhtumit.

Idempotentsed muudatused

Iga muudatus, mille juures on Nõutud, vajab JSON-kehas stringi idempotencyKey. See on keha väli, mitte päis. Ilma selleta tagastab API vastuse 400 INVALID_ARGUMENT sõnumiga „idempotencyKey is required for this operation.“

  • Sama võtme ja samade argumentidega kordamine tagastab salvestatud tulemuse, selle asemel et tööd uuesti teha.
  • Võtme taaskasutamine teiste argumentidega tagastab 409 CONFLICT: „idempotencyKey was already used with different arguments.“
  • Tulemusi hoitakse 24 tundi. Võtmed on iga kutsuja jaoks eraldi.

Kasuta iga kavandatud muudatuse jaoks üht võtit ja taaskasuta seda ainult selle muudatuse kordamiseks. Lugemistoimingud võtit ei kasuta.

Kinnitus enne asendamist

Loomistoimingud ja run.trigger ei vaja kunagi kinnitust. Kolm toimingut vajavad confirm: true, kui need asendaksid midagi:

ToimingMillaldetails.wouldChange
test_case.update_stepsAlati: kogu sammude loend asendatakse.stepCountBefore, stepCountAfter
test_plan.set_membersAinult siis, kui testjuhtumeid eemaldataks.removed, added (kumbki [{ testCaseId, name }])
environment.upsertKui slug on olemas ja anti välju või sihtmärke.fields, platforms

Kinnituseta ei kirjutata midagi. API tagastab 400 INVALID_ARGUMENT koos väärtusega details.confirmRequired: true ja eelvaatega details.wouldChange. Loe eelvaade läbi ja saada siis sama päring uuesti koos väärtusega confirm: true. Ära lisa confirm: true automaatselt. Täielikku vastust näed lehelt Vead.

Kursoriga lehitsemine

Iga *.list-toiming ja run.step_actions aktsepteerivad valikulist välja limit ja läbipaistmatut cursor-it:

Codejson
1{2  "projectId": "jd7exampleprojectid",3  "limit": 20,4  "cursor": "<nextCursor from the previous response>"5}

limit on vaikimisi 20 ja peab olema täisarv vahemikus 1 kuni 100. Iga vastus on kujul { items, nextCursor }. Järgmise lehe saamiseks edasta nextCursor muutmata; null tähendab, et rohkem lehti pole. Hoia filtrid kõigil lehtedel samad. Ülemise taseme null, näiteks "cursor": null, loetakse saatmata väljaks.

run.list ja issue.list rakendavad osa filtreid iga lehe piires, nii et leht võib olla lühike või tühi, kuigi tulemusi on veel. Jätka lehitsemist, kuni nextCursor on määratud.

Ei leidnud?

On this page