UAT Studioby Salvion
Help · Koppelingen

De REST API van UAT Studio

Lees en leg issues, opmerkingen, sign-offs en testers vast vanuit je eigen scripts en tools, en laat je pipeline vragen of een release mag. Met een API-sleutel van het project.

Adres https://app.uat.studio/api/v1Wie een projectadmin maakt de sleutelFormaat JSONPakketten Team, Business, Partner en Enterprise
Voordat je begint

Wat je nodig hebt

  • De module Connections in je werkruimte: die zit in de pakketten Team, Business, Partner en Enterprise, en als add-on Integrations for one UAT bij het pakket Project.
  • Beheerdersrechten in het project in UAT Studio.
  • Een tool die HTTPS-verzoeken kan sturen: een script, je CI-pipeline, Postman of een integratieplatform.

Gebruik je Zapier of Make? Dan hoef je de API niet zelf aan te roepen: zie Zapier en Make.

Instellen · één keer per project

Je tool koppelen

1

Een API-sleutel maken

  1. Log in op app.uat.studio, open het project en ga naar Setup.
  2. Typ in de kaart API keys een naam zoals Release pipeline en klik op Create API key.
  3. Klik op Copy. UAT Studio toont de sleutel maar één keer. Bewaar hem als geheim in je tool, bijvoorbeeld UAT_STUDIO_KEY.
2

Een aanroep doen

Stuur de sleutel bij elk verzoek mee als Authorization: Bearer, een spatie en de sleutel. Bijvoorbeeld de nieuwste issues:

curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"

Een nieuw issue, met JSON in de body:

curl -X POST "https://app.uat.studio/api/v1/issues" \
  -H "Authorization: Bearer $UAT_STUDIO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title": "Save fails on a new quote", "severity": "High", "test_number": 12}'

Het antwoord is JSON. Elk issue komt met zijn sleutel (ISS-012), titel, beschrijving, ernst, prioriteit, status, toegewezene, de test en de tester die het vond, het ticket in Jira of Azure DevOps en een link naar UAT Studio.

Wat je kunt gebruiken · https://app.uat.studio/api/v1

De adressen van de API

SoortVerzoekWat het doet
LezenGET /meHet project waar de sleutel bij hoort.
LezenGET /issues?order=createdDe nieuwste issues. order=updated: de laatst gewijzigde. Ook since (een datum en tijd), status en limit (tot 100).
LezenGET /issues/ISS-012Eén issue, met de stap waar het over gaat en de geschiedenis.
AanmakenPOST /issuesEen nieuw issue: title, en eventueel description, severity, priority, test_number, step_number, assignee, record_url. Zonder test_number (en met group voor de groep die het test) krijgt het issue een eigen testcase zodra het op Klaar voor hertest staat.
WijzigenPATCH /issues/ISS-012status, severity, assignee of record_url, met eventueel een comment. Zet je de status van een issue zonder testcase op Ready for retest, dan wordt de testcase gemaakt; het antwoord bevat dan "test_case": "created".
WijzigenPOST /issues/ISS-012/commentsEen comment in de historie.
LezenGET /casesDe testcases met hun stappen en hoeveel resultaten Pass, Fail enzovoort zijn. Ook epic, since en limit (tot 1.000).
AanmakenPOST /casesEen testcase: title, steps (een lijst met action, expected en eventueel data), en eventueel external_id, epic, group, links, priority (Must, Should of Could) en risk (High, Medium of Low). Stuur dezelfde external_id nog eens om hem bij te werken; stappen op dezelfde plek houden hun resultaten.
AanmakenPOST /testersEen tester: name, en eventueel email en group. De uitnodiging stuur je vanuit Setup.
LezenGET /signoffsDe sign-offs, nieuwste eerst.
LezenGET /groupsDe groepen van het project.
LezenGET /statusGo of no-go voor een release: zie hieronder.
Voor je pipeline

Release gate: uitrollen als de business heeft getekend

GET /status antwoordt met een decision: go als de huidige ronde is afgetekend en er geen Critical issue open staat, no-go als een sign-off is afgewezen of een Critical issue open staat, en open als het nog niet besloten is. Met ?gate=1 antwoordt alles behalve go met HTTP 409, zodat de stap in je pipeline faalt.

- name: UAT signed off?
  run: curl --fail-with-body -sS -H "Authorization: Bearer ${{ secrets.UAT_STUDIO_KEY }}" "https://app.uat.studio/api/v1/status?gate=1"

Gebruik voor de pipeline een eigen sleutel, zodat je die apart kunt intrekken.

Als er iets misgaat

Antwoorden en wat je doet

AntwoordWat je doet
401: de API-sleutel is niet geldigDe sleutel is ingetrokken of verkeerd overgenomen. Maak een nieuwe sleutel onder Setup › API keys.
403: geen onderdeel van het pakket, of alleen-lezenDe workspace heeft de module Connections niet, of het pakket is afgelopen. Lezen werkt dan nog wel.
404: er is geen issue ISS-…De sleutel hoort bij een ander project, of het issue is samengevoegd.
400: een veld klopt nietDe melding zegt welk veld, bijvoorbeeld een ernst die niet bestaat.
409 met ?gate=1De release mag nog niet: in het antwoord staan de redenen.
Beveiliging

Hoe de sleutel veilig blijft

  • Een sleutel geeft toegang tot één project, verder niets in je werkruimte.
  • UAT Studio bewaart alleen een vingerafdruk van de sleutel, nooit de sleutel zelf. Setup toont de laatste vier tekens en wanneer hij voor het laatst is gebruikt.
  • Revoke op Setup schakelt een sleutel direct uit.
  • Elk issue of elke tester die via een sleutel is aangemaakt of gewijzigd, staat in de historie van het issue en in het auditlog, met de naam van de sleutel.
  • Zet een sleutel nooit in een e-mail, een chat of code; bewaar hem als geheim in je tool.