UAT Studioby Salvion
Guida · Connessioni

La REST API di UAT Studio

Leggi e registra anomalie, commenti, sign-off e tester dai tuoi script e strumenti, e lascia che la tua pipeline chieda se una release può partire. Con una chiave API del progetto.

Indirizzo https://app.uat.studio/api/v1Chi un amministratore del progetto crea la chiaveFormato JSONPiani Team, Business, Partner ed Enterprise
Prima di iniziare

Cosa ti serve

  • Il modulo Connections nella tua area di lavoro: è incluso nei piani Team, Business, Partner ed Enterprise, e come modulo aggiuntivo Integrazioni per un UAT con il piano Project.
  • Diritti di amministratore nel progetto UAT Studio.
  • Uno strumento in grado di inviare richieste HTTPS: uno script, la tua pipeline CI, Postman o una piattaforma di integrazione.

Usi Zapier o Make? Allora non devi chiamare l'API tu stesso: vedi Zapier e Make.

Configurazione · una volta per progetto

Collega il tuo strumento

1

Crea una chiave API

  1. Accedi su app.uat.studio, apri il progetto e vai su Setup.
  2. Nella scheda API keys, digita un nome come Release pipeline e fai clic su Create API key.
  3. Fai clic su Copy. UAT Studio mostra la chiave una sola volta. Salvala come segreto nel tuo strumento, per esempio UAT_STUDIO_KEY.
2

Esegui una chiamata

Invia la chiave con ogni richiesta come Authorization: Bearer, uno spazio e la chiave. Per esempio, le anomalie più recenti:

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

Una nuova anomalia, con JSON nel 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}'

La risposta è in JSON. Ogni anomalia arriva con la sua chiave (ISS-012), titolo, descrizione, gravità, priorità, stato, assegnatario, il test e il tester che l'ha trovata, il ticket in Jira o Azure DevOps e un link a UAT Studio.

Cosa puoi usare · https://app.uat.studio/api/v1

Gli indirizzi dell'API

TipoRichiestaCosa fa
LetturaGET /meIl progetto a cui appartiene la chiave.
LetturaGET /issues?order=createdLe anomalie più recenti. order=updated: le ultime modificate. Inoltre since (una data e un'ora), status e limit (fino a 100).
LetturaGET /issues/ISS-012Una singola anomalia, con il passo a cui si riferisce e la sua cronologia.
CreazionePOST /issuesUna nuova anomalia: title e, facoltativamente, description, severity, priority, test_number, step_number, assignee, record_url. Senza test_number (e con group per il gruppo che la testa), l'anomalia riceve un proprio caso di test appena passa a Pronta per il retest.
ModificaPATCH /issues/ISS-012status, severity, assignee o record_url, con un comment facoltativo. Impostare lo status di un'anomalia senza caso di test su Ready for retest crea il suo caso di test; la risposta contiene allora "test_case": "created".
ModificaPOST /issues/ISS-012/commentsUn comment nella cronologia.
LetturaGET /casesI casi di test con i loro passi e quanti risultati sono Pass, Fail e così via. Inoltre epic, since e limit (fino a 1.000).
CreazionePOST /casesUn caso di test: title, steps (un elenco di action, expected e facoltativamente data) e, facoltativamente, external_id, epic, group, links, priority (Must, Should o Could) e risk (High, Medium o Low). Invia di nuovo lo stesso external_id per aggiornarlo; i passi nella stessa posizione mantengono i loro risultati.
CreazionePOST /testersUn tester: name e, facoltativamente, email e group. L'invito viene inviato da Setup.
LetturaGET /signoffsI sign-off, dal più recente.
LetturaGET /groupsI gruppi del progetto.
LetturaGET /statusGo o no-go per una release: vedi sotto.
Per la tua pipeline

Release gate: rilascia quando il business ha dato il sign-off

GET /status risponde con una decision: go quando il round corrente ha il sign-off e nessuna anomalia Critical è aperta, no-go quando un sign-off è respinto o un'anomalia Critical è aperta, e open quando non è ancora stato deciso. Con ?gate=1 qualsiasi risposta diversa da go restituisce HTTP 409, così il passo nella tua pipeline fallisce.

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

Usa una chiave dedicata per la pipeline, così puoi revocarla separatamente.

Se qualcosa va storto

Risposte e cosa fare

RispostaCosa fare
401: the API key is not validLa chiave è stata revocata o digitata male. Crea una nuova chiave in Setup › API keys.
403: non fa parte del piano, o sola letturaL'area di lavoro non ha il modulo Connections, oppure il suo piano è terminato. In sola lettura la lettura funziona ancora.
404: there is no issue ISS-…La chiave appartiene a un altro progetto, oppure l'anomalia è stata unita.
400: un campo non è correttoIl messaggio indica quale campo, per esempio una gravità che non esiste.
409 con ?gate=1La release non può ancora partire: la risposta contiene i motivi.
Sicurezza

Come viene protetta la chiave

  • Una chiave dà accesso a un solo progetto, a nient'altro nella tua area di lavoro.
  • UAT Studio conserva solo un'impronta della chiave, mai la chiave stessa. Setup mostra gli ultimi quattro caratteri e quando è stata usata l'ultima volta.
  • Revoke in Setup disattiva immediatamente una chiave.
  • Ogni anomalia o tester creato o modificato tramite una chiave compare nella cronologia dell'anomalia e nel registro di audit, con il nome della chiave.
  • Non mettere mai una chiave in un'email, in una chat o nel codice; salvala come segreto nel tuo strumento.