UAT Studioby Salvion
المساعدة · عمليات الربط

واجهة UAT Studio REST API

اقرأ المشكلات والتعليقات وعمليات الاعتماد والمختبِرين وسجّلها من نصوصك البرمجية وأدواتك الخاصة، ودع خط الإنتاج لديك يسأل ما إذا كان يمكن إطلاق إصدار. بمفتاح API للمشروع.

العنوان https://app.uat.studio/api/v1من ينشئ مسؤول المشروع المفتاحالتنسيق JSONالباقات Team وBusiness وPartner وEnterprise
قبل أن تبدأ

ما تحتاجه

  • وحدة Connections في مساحة العمل الخاصة بك: متاحة مع باقات Team وBusiness وPartner وEnterprise، وكإضافة Integrations for one UAT مع باقة Project.
  • صلاحيات المسؤول في مشروع UAT Studio.
  • أداة يمكنها إرسال طلبات HTTPS: نص برمجي، أو خط CI لديك، أو Postman، أو منصة تكامل.

تستخدم Zapier أو Make؟ إذن لا تحتاج إلى استدعاء واجهة API بنفسك: اطّلع على Zapier وMake.

الإعداد · مرة واحدة لكل مشروع

اربط أداتك

1

أنشئ مفتاح API

  1. سجّل الدخول على app.uat.studio، وافتح المشروع وانتقل إلى Setup.
  2. في البطاقة API keys، اكتب اسمًا مثل Release pipeline وانقر على Create API key.
  3. انقر على Copy. لا يعرض UAT Studio المفتاح إلا مرة واحدة. خزّنه كسرّ في أداتك، مثل UAT_STUDIO_KEY.
2

أجرِ استدعاءً

أرسل المفتاح مع كل طلب على هيئة 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) وعنوانها ووصفها ودرجة خطورتها وأولويتها وحالتها والمكلَّف بها والاختبار والمختبِر الذي اكتشفها والتذكرة في Jira أو Azure DevOps ورابط إلى UAT Studio.

ما يمكنك استخدامه · https://app.uat.studio/api/v1

عناوين واجهة 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-012status أو severity أو assignee أو record_url، مع comment اختياري. تعيين status لمشكلة بلا حالة اختبار إلى Ready for retest ينشئ حالة الاختبار الخاصة بها؛ ويتضمن الرد عندها "test_case": "created".
التغييرPOST /issues/ISS-012/commentscomment في السجل.
القراءة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 /statusgo أو no-go لإصدار: انظر أدناه.
لخط الإنتاج لديك

بوابة الإصدار: انشر عندما تعتمد الأعمال

يجيب 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"

استخدم مفتاحًا خاصًا بخط الإنتاج، لتتمكن من إلغائه بشكل منفصل.

إذا حدث خطأ ما

الاستجابات وما يجب فعله

الاستجابةما يجب فعله
401: the API key is not validأُلغي المفتاح أو كُتب بشكل خاطئ. أنشئ مفتاحًا جديدًا ضمن Setup › API keys.
403: not part of the plan, or read-onlyلا تحتوي مساحة العمل على وحدة Connections، أو انتهت باقتها. ولا تزال القراءة ممكنة عندما تكون للقراءة فقط.
404: there is no issue ISS-…ينتمي المفتاح إلى مشروع آخر، أو دُمجت المشكلة.
400: a field is not rightتحدّد الرسالة الحقل المعني، مثل درجة خطورة غير موجودة.
409 مع ?gate=1لا يمكن إطلاق الإصدار بعد: تتضمن الاستجابة الأسباب.
الأمان

كيف يُحفظ المفتاح بأمان

  • يمنح المفتاح الوصول إلى مشروع واحد، ولا شيء آخر في مساحة العمل الخاصة بك.
  • لا يخزّن UAT Studio إلا بصمة للمفتاح، ولا يخزّن المفتاح نفسه أبدًا. وتعرض Setup آخر أربعة أحرف وآخر مرة استُخدم فيها.
  • يوقف Revoke في Setup المفتاح فورًا.
  • تظهر كل مشكلة أو كل مختبِر أُنشئ أو تغيّر عبر مفتاح في سجل المشكلة وفي سجل التدقيق، مع اسم المفتاح.
  • لا تضع مفتاحًا أبدًا في رسالة بريد إلكتروني أو محادثة أو في الشيفرة البرمجية؛ خزّنه كسرّ في أداتك.