आपको क्या चाहिए
- आपके वर्कस्पेस में Connections मॉड्यूल: यह Team, Business, Partner और Enterprise प्लान के साथ आता है, और Project प्लान के साथ ऐड-ऑन एक UAT के लिए इंटीग्रेशन के रूप में।
- UAT Studio प्रोजेक्ट में एडमिन अधिकार।
- ऐसा टूल जो HTTPS requests भेज सके: एक स्क्रिप्ट, आपकी CI पाइपलाइन, Postman, या कोई इंटीग्रेशन प्लेटफ़ॉर्म।
Zapier या Make इस्तेमाल करते हैं? तो आपको खुद API कॉल करने की ज़रूरत नहीं: देखें Zapier और Make।
अपना टूल जोड़ें
API key बनाएँ
- app.uat.studio पर साइन इन करें, प्रोजेक्ट खोलें और Setup पर जाएँ।
- API keys कार्ड में Release pipeline जैसा नाम टाइप करें और Create API key पर क्लिक करें।
- Copy पर क्लिक करें। UAT Studio key सिर्फ़ एक बार दिखाता है। इसे अपने टूल में एक secret के रूप में स्टोर करें, जैसे
UAT_STUDIO_KEY।
एक call करें
हर request के साथ key इस तरह भेजें: Authorization: Bearer, एक स्पेस, और key। उदाहरण के लिए, सबसे नए इश्यू:
curl -H "Authorization: Bearer $UAT_STUDIO_KEY" "https://app.uat.studio/api/v1/issues?order=created&limit=10"
एक नया इश्यू, body में 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 में होता है। हर इश्यू के साथ आता है: उसकी key (ISS-012), टाइटल, डिस्क्रिप्शन, गंभीरता, प्राथमिकता, स्टेटस, assignee, टेस्ट और उसे पाने वाला टेस्टर, Jira या Azure DevOps का टिकट और UAT Studio का लिंक।
API के पते
| प्रकार | Request | यह क्या करता है |
|---|---|---|
| पढ़ना | GET /me | वह प्रोजेक्ट जिसकी यह key है। |
| पढ़ना | 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: नीचे देखें। |
Release gate: तब deploy करें जब बिज़नेस ने साइन ऑफ़ कर दिया हो
GET /status एक decision के साथ जवाब देता है: go जब मौजूदा राउंड साइन ऑफ़ हो चुका हो और कोई Critical इश्यू खुला न हो, no-go जब कोई साइन-ऑफ़ अस्वीकार हुआ हो या कोई Critical इश्यू खुला हो, और open जब अभी फ़ैसला न हुआ हो। ?gate=1 के साथ go के अलावा हर जवाब HTTP 409 होता है, जिससे आपकी पाइपलाइन का स्टेप फ़ेल हो जाता है।
- 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"
पाइपलाइन के लिए अलग key इस्तेमाल करें, ताकि आप उसे अलग से रद्द कर सकें।
जवाब और क्या करें
| जवाब | क्या करें |
|---|---|
| 401: API key मान्य नहीं है | key रद्द कर दी गई है या गलत टाइप हुई है। Setup › API keys में नई key बनाएँ। |
| 403: प्लान में शामिल नहीं, या read-only | वर्कस्पेस में Connections मॉड्यूल नहीं है, या उसका प्लान खत्म हो गया है। read-only होने पर भी पढ़ना चलता है। |
| 404: कोई इश्यू ISS-… नहीं है | key किसी दूसरे प्रोजेक्ट की है, या इश्यू मर्ज हो गया था। |
| 400: कोई फ़ील्ड सही नहीं है | मैसेज बताता है कौन-सा फ़ील्ड, जैसे ऐसी severity जो मौजूद नहीं है। |
?gate=1 के साथ 409 | रिलीज़ अभी नहीं जा सकता: जवाब में कारण होते हैं। |
key को सुरक्षित कैसे रखा जाता है
- एक key एक प्रोजेक्ट का एक्सेस देती है, आपके वर्कस्पेस में और कुछ नहीं।
- UAT Studio सिर्फ़ key का fingerprint स्टोर करता है, key खुद कभी नहीं। Setup में आख़िरी चार अक्षर और उसका आख़िरी इस्तेमाल दिखता है।
- Setup पर Revoke किसी key को तुरंत बंद कर देता है।
- key के ज़रिए बनाया या बदला गया हर इश्यू या टेस्टर, key के नाम के साथ, इश्यू हिस्ट्री और audit log में दिखता है।
- key को कभी ईमेल, चैट या कोड में न डालें; उसे अपने टूल में secret के रूप में स्टोर करें।
