UAT Studioby Salvion
Hilfe · Verbindungen

Die UAT Studio REST API

Lesen und erfassen Sie Issues, Kommentare, Abnahmen und Tester aus Ihren eigenen Skripten und Tools, und lassen Sie Ihre Pipeline fragen, ob ein Release raus darf. Mit einem Projekt-API-Key.

Adresse https://app.uat.studio/api/v1Wer ein Projekt-Admin erstellt den KeyFormat JSONPakete Team, Business, Partner und Enterprise
Bevor Sie beginnen

Was Sie brauchen

  • Das Modul Connections in Ihrem Workspace: Es gehört zu den Paketen Team, Business, Partner und Enterprise und ist beim Paket Project als Add-on Integrationen für einen UAT erhältlich.
  • Admin-Rechte im UAT Studio Projekt.
  • Ein Tool, das HTTPS-Anfragen senden kann: ein Skript, Ihre CI-Pipeline, Postman oder eine Integrationsplattform.

Sie nutzen Zapier oder Make? Dann müssen Sie die API nicht selbst aufrufen: siehe Zapier und Make.

Einrichten · einmal pro Projekt

Ihr Tool verbinden

1

API-Key erstellen

  1. Melden Sie sich unter app.uat.studio an, öffnen Sie das Projekt und gehen Sie zu Setup.
  2. Geben Sie in der Karte API keys einen Namen wie Release pipeline ein und klicken Sie auf Create API key.
  3. Klicken Sie auf Copy. UAT Studio zeigt den Key nur einmal. Speichern Sie ihn als Secret in Ihrem Tool, zum Beispiel UAT_STUDIO_KEY.
2

Einen Aufruf machen

Senden Sie den Key bei jeder Anfrage als Authorization: Bearer, ein Leerzeichen und den Key. Zum Beispiel die neuesten Issues:

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

Ein neues Issue, mit JSON im 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}'

Die Antwort ist JSON. Jedes Issue kommt mit Key (ISS-012), Titel, Beschreibung, Schweregrad, Priorität, Status, Zuständigem, dem Test und dem Tester, der es gefunden hat, dem Ticket in Jira oder Azure DevOps und einem Link zu UAT Studio.

Was Sie nutzen können · https://app.uat.studio/api/v1

Die Adressen der API

ArtAnfrageWas es tut
LesenGET /meDas Projekt, zu dem der Key gehört.
LesenGET /issues?order=createdDie neuesten Issues. order=updated: die zuletzt geänderten. Außerdem since (Datum und Uhrzeit), status und limit (bis 100).
LesenGET /issues/ISS-012Ein Issue, mit dem betroffenen Schritt und seinem Verlauf.
AnlegenPOST /issuesEin neues Issue: title und optional description, severity, priority, test_number, step_number, assignee, record_url. Ohne test_number (und mit group für die Gruppe, die es testet) bekommt das Issue einen eigenen Testfall, sobald es auf Bereit für Retest gesetzt wird.
ÄndernPATCH /issues/ISS-012status, severity, assignee oder record_url, mit einem optionalen comment. Wird der status eines Issues ohne Testfall auf Ready for retest gesetzt, wird sein Testfall angelegt; die Antwort enthält dann "test_case": "created".
ÄndernPOST /issues/ISS-012/commentsEin comment im Verlauf.
LesenGET /casesDie Testfälle mit ihren Schritten und wie viele Ergebnisse Pass, Fail usw. sind. Außerdem epic, since und limit (bis 1.000).
AnlegenPOST /casesEin Testfall: title, steps (eine Liste aus action, expected und optional data) und optional external_id, epic, group, links, priority (Must, Should oder Could) und risk (High, Medium oder Low). Senden Sie dieselbe external_id erneut, um ihn zu aktualisieren; Schritte an derselben Stelle behalten ihre Ergebnisse.
AnlegenPOST /testersEin Tester: name und optional email und group. Die Einladung wird aus Setup gesendet.
LesenGET /signoffsDie Abnahmen, neueste zuerst.
LesenGET /groupsDie Gruppen des Projekts.
LesenGET /statusGo oder no-go für ein Release: siehe unten.
Für Ihre Pipeline

Release Gate: deployen, wenn der Fachbereich abgenommen hat

GET /status antwortet mit einer decision: go, wenn die aktuelle Runde abgenommen ist und kein Critical-Issue offen ist, no-go, wenn eine Abnahme abgelehnt wurde oder ein Critical-Issue offen ist, und open, wenn noch nicht entschieden ist. Mit ?gate=1 antwortet alles außer go mit HTTP 409, sodass der Schritt in Ihrer Pipeline fehlschlägt.

- 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"

Verwenden Sie für die Pipeline einen eigenen Key, damit Sie ihn separat widerrufen können.

Wenn etwas schiefgeht

Antworten und was zu tun ist

AntwortWas zu tun ist
401: the API key is not validDer Key wurde widerrufen oder falsch eingegeben. Erstellen Sie unter Setup › API keys einen neuen Key.
403: not part of the plan, or read-onlyDer Workspace hat kein Modul Connections, oder sein Paket ist abgelaufen. Lesen funktioniert weiterhin, wenn er schreibgeschützt ist.
404: there is no issue ISS-…Der Key gehört zu einem anderen Projekt, oder das Issue wurde zusammengeführt.
400: a field is not rightDie Meldung nennt das Feld, zum Beispiel einen Schweregrad, den es nicht gibt.
409 mit ?gate=1Das Release darf noch nicht raus: Die Antwort enthält die Gründe.
Sicherheit

Wie der Key geschützt wird

  • Ein Key gibt Zugriff auf ein Projekt, auf nichts anderes in Ihrem Workspace.
  • UAT Studio speichert nur einen Fingerabdruck des Keys, nie den Key selbst. Setup zeigt die letzten vier Zeichen und wann er zuletzt verwendet wurde.
  • Revoke in Setup stoppt einen Key sofort.
  • Jedes über einen Key angelegte oder geänderte Issue und jeder solche Tester erscheint im Verlauf des Issues und im Audit-Log, mit dem Namen des Keys.
  • Schreiben Sie einen Key nie in eine E-Mail, einen Chat oder Code; speichern Sie ihn als Secret in Ihrem Tool.