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

Issues & თვალყური

Issue-ები (ასევე work item-ები) OpenPR-ის ძირითადი სამუშაო ერთეულია. ისინი ამოცანებს, ბაგებს, ფუნქციებს ან პროექტში ნებისმიერ თვალსადევ სამუშაოს წარმოადგენს.

Issue-ველები

ველიტიპისავალდებულოაღწერა
სათაურიstringდიახსამუშაოს მოკლე აღწერა
აღწერაmarkdownარადეტალური აღწერა ფორმატირებით
სტატუსიenumდიახსამუშაო ნაკად-სტატუსი (იხ. სამუშაო ნაკადი)
პრიორიტეტიenumარაlow, medium, high, urgent
პასუხისმგებელიuserარაissue-ზე პასუხისმგებელი გუნდ-წევრი
ეტიკეტებიlistარაკატეგორ-ტეგები (იხ. ეტიკეტები)
Sprintsprintარაissue-ს მიკუთვნებული sprint-ციკლი
ვადაdatetimeარასამიზნე დასრულებ-თარიღი
დანართებიfilesარადართული ფაილები (სურათები, დოკ-ები, ლოგები)

Issue-იდენტიფიკატორები

ყოველ issue-ს ადამიან-წასაკითხი იდენტიფიკატორი აქვს, პროექტ-კლუჩისა და თანმიმდევრული ნომრისგან:

API-1, API-2, API-3, ...
FRONT-1, FRONT-2, ...

ნებისმიერი issue-ს სამუშაო სივრცის ყველა პროექტში იდენტიფიკატორის გავლით ძებნა შეიძლება.

Issue-ების შექმნა

ვებ UI-ის გავლით

  1. პროექტში გადასვლა.
  2. New Issue-ზე დაჭერა.
  3. სათაურის, აღწერისა და სურვილისამებრ ველების შევსება.
  4. Create-ზე დაჭერა.

REST API-ის გავლით

bash
curl -X POST http://localhost:8080/api/projects/<project_id>/issues \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{
    "title": "Implement user settings page",
    "description": "Add a settings page where users can update their profile.",
    "state": "todo",
    "priority": "medium",
    "assignee_id": "<user_uuid>"
  }'

MCP-ის გავლით

json
{
  "method": "tools/call",
  "params": {
    "name": "work_items.create",
    "arguments": {
      "project_id": "<project_uuid>",
      "title": "Implement user settings page",
      "state": "todo",
      "priority": "medium"
    }
  }
}

კომენტარები

Issue-ები markdown-ფორმატირებისა და ფაილ-დანართების მქონე ნიჟ-კომენტარებს მხარს უჭერს:

bash
# Add a comment
curl -X POST http://localhost:8080/api/issues/<issue_id>/comments \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"content": "Fixed in commit abc123. Ready for review."}'

კომენტარები MCP ინსტრუმენტებითაც ხელმისაწვდომია: comments.create, comments.list, comments.delete.

საქმიანობ-Feed

Issue-ში ყოველი ცვლილება საქმიანობ-feed-ში ჩაიწერება:

  • სტატუს-ცვლილებები
  • პასუხისმგებლ-ცვლილებები
  • ეტიკეტ-დამატება/ამოღება
  • კომენტარები
  • პრიორიტეტ-განახლებები

საქმიანობ-feed ყოველი issue-სთვის სრულ აუდიტ-კვალს გვაძლევს.

ფაილ-დანართები

Issue-ები და კომენტარები ფაილ-დანართებს მხარს უჭერს, სურათების, დოკ-ების, ლოგებისა და არქივების ჩათვლით. API-ის გავლით ატვირთვა:

bash
curl -X POST http://localhost:8080/api/v1/upload \
  -H "Authorization: Bearer <token>" \
  -F "[email protected]"

ან MCP-ის გავლით:

json
{
  "method": "tools/call",
  "params": {
    "name": "files.upload",
    "arguments": {
      "filename": "screenshot.png",
      "content_base64": "<base64_encoded_content>"
    }
  }
}

მხარდაჭერილი ფაილ-ტიპები: სურათები (PNG, JPG, GIF, WebP), დოკ-ები (PDF, TXT), მონაცემები (JSON, CSV, XML), არქივები (ZIP, GZ) და ლოგები.

ძებნა

OpenPR PostgreSQL FTS-ის გამოყენებით ყველა issue-ში, კომენტარსა და წინადადებაში სრულ-ტექსტ-ძებნას უზრუნველყოფს:

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

# Search via MCP
# work_items.search: search within a project
# search.all: global search across all projects

MCP ინსტრუმენტები

ინსტრუმენტიპარამეტრებიაღწერა
work_items.listproject_idპროექტის issue-ების ჩამოთვლა
work_items.getwork_item_idUUID-ის გავლით issue-ს მიღება
work_items.get_by_identifieridentifierადამიან-ID-ის გავლით (მაგ., API-42)
work_items.createproject_id, titleissue-ს შექმნა
work_items.updatework_item_idნებისმიერი ველის განახლება
work_items.deletework_item_idissue-ს წაშლა
work_items.searchqueryსრული-ტექსტ-ძებნა
comments.creatework_item_id, contentკომენტარის დამატება
comments.listwork_item_idკომენტარების ჩამოთვლა
comments.deletecomment_idკომენტარის წაშლა
files.uploadfilename, content_base64ფაილის ატვირთვა

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

Released under the Apache-2.0 License.