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.
Ihr Tool verbinden
API-Key erstellen
- Melden Sie sich unter app.uat.studio an, öffnen Sie das Projekt und gehen Sie zu Setup.
- Geben Sie in der Karte API keys einen Namen wie Release pipeline ein und klicken Sie auf Create API key.
- Klicken Sie auf Copy. UAT Studio zeigt den Key nur einmal. Speichern Sie ihn als Secret in Ihrem Tool, zum Beispiel
UAT_STUDIO_KEY.
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.
Die Adressen der API
| Art | Anfrage | Was es tut |
|---|---|---|
| Lesen | GET /me | Das Projekt, zu dem der Key gehört. |
| Lesen | GET /issues?order=created | Die neuesten Issues. order=updated: die zuletzt geänderten. Außerdem since (Datum und Uhrzeit), status und limit (bis 100). |
| Lesen | GET /issues/ISS-012 | Ein Issue, mit dem betroffenen Schritt und seinem Verlauf. |
| Anlegen | POST /issues | Ein 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. |
| Ändern | PATCH /issues/ISS-012 | status, 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". |
| Ändern | POST /issues/ISS-012/comments | Ein comment im Verlauf. |
| Lesen | GET /cases | Die Testfälle mit ihren Schritten und wie viele Ergebnisse Pass, Fail usw. sind. Außerdem epic, since und limit (bis 1.000). |
| Anlegen | POST /cases | Ein 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. |
| Anlegen | POST /testers | Ein Tester: name und optional email und group. Die Einladung wird aus Setup gesendet. |
| Lesen | GET /signoffs | Die Abnahmen, neueste zuerst. |
| Lesen | GET /groups | Die Gruppen des Projekts. |
| Lesen | GET /status | Go oder no-go für ein Release: siehe unten. |
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.
Antworten und was zu tun ist
| Antwort | Was zu tun ist |
|---|---|
| 401: the API key is not valid | Der Key wurde widerrufen oder falsch eingegeben. Erstellen Sie unter Setup › API keys einen neuen Key. |
| 403: not part of the plan, or read-only | Der 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 right | Die Meldung nennt das Feld, zum Beispiel einen Schweregrad, den es nicht gibt. |
409 mit ?gate=1 | Das Release darf noch nicht raus: Die Antwort enthält die Gründe. |
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.
