Vad du behöver
- Modulen Connections i din arbetsyta: den ingår i paketen Team, Business, Partner och Enterprise, och som tillägget Integrationer för en UAT med paketet Project.
- Administratörsbehörighet i UAT Studio-projektet.
- Ett verktyg som kan skicka HTTPS-anrop: ett skript, din CI-pipeline, Postman eller en integrationsplattform.
Använder du Zapier eller Make? Då behöver du inte anropa API:et själv: se Zapier och Make.
Koppla ditt verktyg
Skapa en API-nyckel
- Logga in på app.uat.studio, öppna projektet och gå till Setup.
- I kortet API keys skriver du ett namn som Release pipeline och klickar på Create API key.
- Klicka på Copy. UAT Studio visar nyckeln bara en gång. Spara den som en hemlighet i ditt verktyg, till exempel
UAT_STUDIO_KEY.
Gör ett anrop
Skicka nyckeln med varje anrop som Authorization: Bearer, ett mellanslag och nyckeln. Till exempel de senaste ärendena:
curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"
Ett nytt ärende, med JSON i 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}'
Svaret är JSON. Varje ärende kommer med sin nyckel (ISS-012), titel, beskrivning, allvarlighetsgrad, prioritet, status, ansvarig, testet och testaren som hittade det, ticketen i Jira eller Azure DevOps och en länk till UAT Studio.
API:ets adresser
| Typ | Anrop | Vad den gör |
|---|---|---|
| Läsa | GET /me | Projektet som nyckeln hör till. |
| Läsa | GET /issues?order=created | De senaste ärendena. order=updated: de senast ändrade. Även since (ett datum och en tid), status och limit (upp till 100). |
| Läsa | GET /issues/ISS-012 | Ett ärende, med steget det gäller och dess historik. |
| Skapa | POST /issues | Ett nytt ärende: title, och valfritt description, severity, priority, test_number, step_number, assignee, record_url. Utan test_number (och med group för gruppen som testar det) får ärendet ett eget testfall när det sätts till Klar för omtest. |
| Ändra | PATCH /issues/ISS-012 | status, severity, assignee eller record_url, med en valfri comment. Sätts status för ett ärende utan testfall till Ready for retest skapas dess testfall; svaret har då "test_case": "created". |
| Ändra | POST /issues/ISS-012/comments | En comment i historiken. |
| Läsa | GET /cases | Testfallen med sina steg och hur många resultat som är Pass, Fail och så vidare. Även epic, since och limit (upp till 1 000). |
| Skapa | POST /cases | Ett testfall: title, steps (en lista med action, expected och valfritt data), och valfritt external_id, epic, group, links, priority (Must, Should eller Could) och risk (High, Medium eller Low). Skicka samma external_id igen för att uppdatera det; steg på samma plats behåller sina resultat. |
| Skapa | POST /testers | En testare: name, och valfritt email och group. Inbjudan skickas från Setup. |
| Läsa | GET /signoffs | Godkännandena, senaste först. |
| Läsa | GET /groups | Projektets grupper. |
| Läsa | GET /status | Go eller no-go för en release: se nedan. |
Release gate: driftsätt när verksamheten har godkänt
GET /status svarar med ett decision: go när den aktuella rundan är godkänd och inget Critical-ärende är öppet, no-go när ett godkännande avvisas eller ett Critical-ärende är öppet, och open när det ännu inte är beslutat. Med ?gate=1 svarar allt utom go med HTTP 409, så att steget i din pipeline misslyckas.
- 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"
Använd en egen nyckel för pipelinen, så att du kan återkalla den separat.
Svar och vad du gör
| Svar | Vad du gör |
|---|---|
| 401: API-nyckeln är inte giltig | Nyckeln har återkallats eller skrivits fel. Skapa en ny nyckel under Setup › API keys. |
| 403: ingår inte i paketet, eller skrivskyddad | Arbetsytan har ingen Connections-modul, eller så har dess paket upphört. Läsning fungerar fortfarande när den är skrivskyddad. |
| 404: det finns inget ärende ISS-… | Nyckeln hör till ett annat projekt, eller så har ärendet slagits ihop. |
| 400: ett fält är inte korrekt | Meddelandet anger vilket fält, till exempel en allvarlighetsgrad som inte finns. |
409 med ?gate=1 | Releasen får inte gå ut än: svaret innehåller skälen. |
Hur nyckeln hålls säker
- En nyckel ger åtkomst till ett projekt, inget annat i din arbetsyta.
- UAT Studio lagrar bara ett fingeravtryck av nyckeln, aldrig själva nyckeln. Setup visar de fyra sista tecknen och när den senast användes.
- Revoke på Setup stoppar en nyckel direkt.
- Varje ärende eller testare som skapas eller ändras via en nyckel syns i ärendehistoriken och granskningsloggen, med nyckelns namn.
- Lägg aldrig en nyckel i ett mejl, en chatt eller kod; spara den som en hemlighet i ditt verktyg.
