Skip to content
Эта страница создана и переведена с помощью ИИ. Если вы заметили неточности, помогите нам улучшить её. Редактировать на GitHub

Задачи и отслеживание

Задачи (также называемые рабочими элементами) — основная единица работы в OpenPR. Они представляют задания, баги, функции или любую отслеживаемую часть работы внутри проекта.

Поля задачи

ПолеТипОбязательноеОписание
ЗаголовокstringДаКраткое описание работы
ОписаниеmarkdownНетПодробное описание с форматированием
СостояниеenumДаСостояние рабочего процесса (см. Рабочий процесс)
ПриоритетenumНетlow, medium, high, urgent
ИсполнительuserНетУчастник команды, ответственный за задачу
МеткиlistНетТеги категоризации (см. Метки)
СпринтsprintНетЦикл спринта, к которому принадлежит задача
СрокdatetimeНетЦелевая дата завершения
ВложенияfilesНетПрикреплённые файлы (изображения, документы, логи)

Идентификаторы задач

Каждая задача имеет читаемый идентификатор, состоящий из ключа проекта и порядкового номера:

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

Вы можете найти любую задачу по её идентификатору во всех проектах рабочего пространства.

Создание задач

Через веб-интерфейс

  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"
    }
  }
}

Комментарии

Задачи поддерживают многоуровневые комментарии с форматированием markdown и вложениями файлов:

bash
# Добавить комментарий
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.

Лента активности

Каждое изменение задачи записывается в ленте активности:

  • Изменения состояния
  • Изменения исполнителя
  • Добавление/удаление меток
  • Комментарии
  • Обновления приоритета

Лента активности обеспечивает полный журнал аудита для каждой задачи.

Вложения файлов

Задачи и комментарии поддерживают прикрепление файлов, включая изображения, документы, логи и архивы. Загрузка через 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:

bash
# Поиск через API
curl -H "Authorization: Bearer <token>" \
  "http://localhost:8080/api/search?q=authentication+bug"

# Поиск через MCP
# work_items.search: поиск внутри проекта
# search.all: глобальный поиск по всем проектам

MCP-инструменты

ИнструментПараметрыОписание
work_items.listproject_idСписок задач в проекте
work_items.getwork_item_idПолучить задачу по UUID
work_items.get_by_identifieridentifierПолучить по человекочитаемому ID (например, API-42)
work_items.createproject_id, titleСоздать задачу
work_items.updatework_item_idОбновить любое поле
work_items.deletework_item_idУдалить задачу
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.