Skip to content
ეს გვერდი შეიქმნა და ითარგმნა ხელოვნური ინტელექტის დახმარებით. თუ შეამჩნევთ უზუსტობას, გთხოვთ, დაგვეხმარეთ გაუმჯობესებაში. GitHub-ზე რედაქტირება

REST API მიმოხილვა

OpenPR პლატფორმ-ყველა ფუნქციაზე პროგრამული წვდომისთვის Rust-ისა და Axum-ის გამოყენებით RESTful API-ს გვაძლევს. API JSON-მოთხოვნა-პასუხ-ფორმატებსა და JWT-დაფუძნებულ ავთენტიფიკაციას მხარს უჭერს.

Base URL

http://localhost:8080/api

წარმოებ-განასახებებში reverse proxy-ის (Caddy/Nginx) მიღმა API ჩვეულებრივ frontend URL-ის გავლით proxied.

პასუხ-ფორმატი

API-ის ყველა პასუხი თანმიმდევრულ JSON-სტრუქტურას მიჰყვება:

წარმატება

json
{
  "code": 0,
  "message": "success",
  "data": { ... }
}

შეცდომა

json
{
  "code": 400,
  "message": "Detailed error description"
}

გავრცელებული შეცდომ-კოდები:

კოდიმნიშვნელობა
400ცუდი მოთხოვნა (ვალიდ-შეცდომა)
401ავტ-გარეშე (ტოკენი არარსებობს ან არასწორია)
403Forbidden (არასაკმარისი ნებართვები)
404ვერ მოიძებნა
500შიდა სერვერ-შეცდომა

API-კატეგორიები

კატეგორიაBase Pathაღწერა
ავთენტიფიკაცია/api/auth/*რეგისტრაცია, შესვლა, ტოკენ-განახლება
პროექტები/api/workspaces/*/projects/*CRUD, წევრები, პარამეტრები
Issue-ები/api/projects/*/issues/*CRUD, მინიჭება, ეტიკეტი, კომენტარი
Board/api/projects/*/boardKanban-დაფ-სტატუსი
Sprint-ები/api/projects/*/sprints/*Sprint-CRUD და დაგეგმვა
ეტიკეტები/api/labels/*ეტიკეტ-CRUD
ძებნა/api/searchსრული-ტექსტ-ძებნა
წინადადებები/api/proposals/*შექმნა, ხმ-მიცემა, წარდგენა, არქივაცია
მმართველობა/api/governance/*კონფ-ი, აუდიტ-ლოგები
გადაწყვეტილებები/api/decisions/*გადაწყვეტილებ-ჩანაწერები
ნდობ-ქულები/api/trust-scores/*ქულები, ისტორია, გასაჩივრებები
ვეტო/api/veto/*ვეტო, ესკალაცია
AI-აგენტები/api/projects/*/ai-agents/*აგენტ-მართვა
AI-ამოცანები/api/projects/*/ai-tasks/*ამოცან-მინიჭება
ბოტ-ტოკენები/api/workspaces/*/botsბოტ-ტოკენ-CRUD
ფაილ-ატვირთვა/api/v1/uploadMultipart ფაილ-ატვირთვა
Webhook-ები/api/workspaces/*/webhooks/*Webhook-CRUD
ადმინი/api/admin/*სისტემ-მართვა

სრული API ცნობარისთვის იხ. Endpoint-ების ცნობარი.

Content Type

ყველა POST/PUT/PATCH მოთხოვნა Content-Type: application/json-ს იყენებს, ფაილ-ატვირთვების გარდა, რომლებიც multipart/form-data-ს იყენებს.

გვერდ-დანაწილება

List-endpoint-ები გვერდ-დანაწილებას მხარს უჭერს:

bash
curl "http://localhost:8080/api/projects/<id>/issues?page=1&per_page=20" \
  -H "Authorization: Bearer <token>"

სრული-ტექსტ-ძებნა

Search-endpoint PostgreSQL სრული-ტექსტ-ძებნას issue-ებში, კომენტარებსა და წინადადებებში იყენებს:

bash
curl "http://localhost:8080/api/search?q=authentication+bug" \
  -H "Authorization: Bearer <token>"

ჯანმრთელობ-შემოწმება

API სერვერი ჯანმრთელობ-endpoint-ს გამოაქვს, ავთენტ-საჭიროების გარეშე:

bash
curl http://localhost:8080/health

შემდეგი ნაბიჯები

Released under the Apache-2.0 License.