Τι χρειάζεστε
- Τη λειτουργία Connections στον χώρο εργασίας σας: περιλαμβάνεται στα πακέτα Team, Business, Partner και Enterprise, και ως πρόσθετη λειτουργία Integrations for one UAT με το πακέτο Project.
- Δικαιώματα διαχειριστή στο έργο του UAT Studio.
- Ένα εργαλείο που μπορεί να στέλνει αιτήματα HTTPS: ένα script, το CI pipeline σας, το Postman ή μια πλατφόρμα ολοκλήρωσης.
Χρησιμοποιείτε Zapier ή Make; Τότε δεν χρειάζεται να καλείτε εσείς το API: δείτε Zapier και Make.
Συνδέστε το εργαλείο σας
Δημιουργήστε ένα API key
- Συνδεθείτε στο app.uat.studio, ανοίξτε το έργο και μεταβείτε στο Setup.
- Στην κάρτα API keys, πληκτρολογήστε ένα όνομα, π.χ. Release pipeline, και κάντε κλικ στο Create API key.
- Κάντε κλικ στο Copy. Το UAT Studio εμφανίζει το κλειδί μόνο μία φορά. Αποθηκεύστε το ως secret στο εργαλείο σας, για παράδειγμα
UAT_STUDIO_KEY.
Κάντε μια κλήση
Στείλτε το κλειδί με κάθε αίτημα ως Authorization: Bearer, ένα κενό και το κλειδί. Για παράδειγμα, τα πιο πρόσφατα ζητήματα:
curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"
Ένα νέο ζήτημα, με JSON στο σώμα του αιτήματος:
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}'
Η απάντηση είναι σε JSON. Κάθε ζήτημα συνοδεύεται από το κλειδί του (ISS-012), τον τίτλο, την περιγραφή, τη σοβαρότητα, την προτεραιότητα, την κατάσταση, τον υπεύθυνο, τη δοκιμή και τον δοκιμαστή που το βρήκε, το ticket σε Jira ή Azure DevOps και έναν σύνδεσμο προς το UAT Studio.
Οι διευθύνσεις του API
| Είδος | Αίτημα | Τι κάνει |
|---|---|---|
| Ανάγνωση | GET /me | Το έργο στο οποίο ανήκει το κλειδί. |
| Ανάγνωση | GET /issues?order=created | Τα πιο πρόσφατα ζητήματα. order=updated: αυτά που άλλαξαν τελευταία. Επίσης since (ημερομηνία και ώρα), status και limit (έως 100). |
| Ανάγνωση | GET /issues/ISS-012 | Ένα ζήτημα, με το βήμα που αφορά και το ιστορικό του. |
| Δημιουργία | POST /issues | Ένα νέο ζήτημα: title και προαιρετικά description, severity, priority, test_number, step_number, assignee, record_url. Χωρίς test_number (και με group για την ομάδα που το ελέγχει), το ζήτημα παίρνει δικό του σενάριο ελέγχου μόλις οριστεί σε Έτοιμο για επανέλεγχο. |
| Αλλαγή | PATCH /issues/ISS-012 | status, severity, assignee ή record_url, με προαιρετικό comment. Αν ορίσετε την status ενός ζητήματος χωρίς σενάριο ελέγχου σε Ready for retest, δημιουργείται το σενάριο ελέγχου του· η απάντηση περιέχει τότε "test_case": "created". |
| Αλλαγή | POST /issues/ISS-012/comments | Ένα comment στο ιστορικό. |
| Ανάγνωση | GET /cases | Τα σενάρια ελέγχου με τα βήματά τους και πόσα αποτελέσματα είναι Pass, Fail κ.λπ. Επίσης epic, since και limit (έως 1.000). |
| Δημιουργία | POST /cases | Ένα σενάριο ελέγχου: title, steps (μια λίστα με action, expected και προαιρετικά data) και προαιρετικά external_id, epic, group, links, priority (Must, Should ή Could) και risk (High, Medium ή Low). Στείλτε ξανά το ίδιο external_id για να το ενημερώσετε· τα βήματα στην ίδια θέση διατηρούν τα αποτελέσματά τους. |
| Δημιουργία | POST /testers | Ένας δοκιμαστής: name και προαιρετικά email και group. Η πρόσκληση αποστέλλεται από το Setup. |
| Ανάγνωση | GET /signoffs | Οι εγκρίσεις, οι πιο πρόσφατες πρώτα. |
| Ανάγνωση | GET /groups | Οι ομάδες του έργου. |
| Ανάγνωση | GET /status | Go ή no-go για μια έκδοση: δείτε παρακάτω. |
Πύλη έκδοσης: deploy όταν η επιχείρηση έχει δώσει έγκριση
Το GET /status απαντά με ένα decision: go όταν ο τρέχων γύρος έχει εγκριθεί και δεν υπάρχει ανοιχτό ζήτημα Critical, no-go όταν μια έγκριση έχει απορριφθεί ή υπάρχει ανοιχτό ζήτημα Critical, και open όταν δεν έχει ληφθεί ακόμη απόφαση. Με ?gate=1, οτιδήποτε εκτός από go απαντά με HTTP 409, ώστε το βήμα στο pipeline σας να αποτυγχάνει.
- 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"
Χρησιμοποιήστε ξεχωριστό κλειδί για το pipeline, ώστε να μπορείτε να το ανακαλέσετε χωριστά.
Απαντήσεις και τι να κάνετε
| Απάντηση | Τι να κάνετε |
|---|---|
| 401: το API key δεν είναι έγκυρο | Το κλειδί ανακλήθηκε ή πληκτρολογήθηκε λάθος. Δημιουργήστε νέο κλειδί στο Setup › API keys. |
| 403: δεν περιλαμβάνεται στο πακέτο ή μόνο για ανάγνωση | Ο χώρος εργασίας δεν έχει τη λειτουργία Connections ή το πακέτο του έχει λήξει. Η ανάγνωση εξακολουθεί να λειτουργεί όταν είναι μόνο για ανάγνωση. |
| 404: δεν υπάρχει ζήτημα ISS-… | Το κλειδί ανήκει σε άλλο έργο ή το ζήτημα συγχωνεύθηκε. |
| 400: ένα πεδίο δεν είναι σωστό | Το μήνυμα αναφέρει ποιο πεδίο, για παράδειγμα μια σοβαρότητα που δεν υπάρχει. |
409 με ?gate=1 | Η έκδοση δεν μπορεί να προχωρήσει ακόμη: η απάντηση περιέχει τους λόγους. |
Πώς προστατεύεται το κλειδί
- Ένα κλειδί δίνει πρόσβαση σε ένα έργο, σε τίποτε άλλο στον χώρο εργασίας σας.
- Το UAT Studio αποθηκεύει μόνο ένα αποτύπωμα του κλειδιού, ποτέ το ίδιο το κλειδί. Το Setup δείχνει τους τέσσερις τελευταίους χαρακτήρες και πότε χρησιμοποιήθηκε τελευταία φορά.
- Το Revoke στο Setup απενεργοποιεί ένα κλειδί αμέσως.
- Κάθε ζήτημα ή δοκιμαστής που δημιουργείται ή αλλάζει μέσω ενός κλειδιού εμφανίζεται στο ιστορικό του ζητήματος και στο αρχείο ελέγχου, με το όνομα του κλειδιού.
- Μη βάζετε ποτέ ένα κλειδί σε email, συνομιλία ή κώδικα· αποθηκεύστε το ως secret στο εργαλείο σας.
