Документация Рабочий процесс ревью

Рабочий процесс ревью

Ревью помогает получить одобрение другого человека перед тем, как тест-кейс будет готов.
Откройте Управление тест-кейсами, выберите кейс и перейдите на вкладку Review.
Здесь можно отправить кейс на проверку, назначить проверяющего и увидеть замечания и решение.

Об URL в примерах: во всех примерах используется localhost:5770 как адрес Mockarty по умолчанию. Если ваш инстанс работает на удалённом сервере, замените localhost:5770 на его реальный адрес. Подробнее — в разделе Полезные функции и советы.

Смежные страницы: Управление тест-кейсами · Каналы уведомлений · Вебхуки и обратные вызовы

Понятия

  • Кейс на проверке — сохранённый тест-кейс со статусом draft, in_review, approved, changes_requested, rejected или archived. При отправке фиксируется проверяемая версия кейса.
  • Проверяющий — человек, который может одобрить кейс, запросить изменения или отклонить его. Проверяющий может быть обязательным или необязательным.
  • Комментарий — сообщение в обсуждении; его можно привязать к конкретному шагу или полю.
  • История — запись об отправке, смене проверяющих, комментариях и решениях.

Политика по умолчанию

  • Для завершения ревью достаточно одного обязательного одобрения.
  • Автор отправленного кейса не может одобрить его сам.
  • Проверяющий может запросить изменения или отклонить кейс. После исправления и повторной отправки проверяется новая версия; прежние комментарии остаются видны.

Текущий статус и список обязательных проверяющих видны на вкладке Review.

Поверхность API

Все эндпоинты — /api/v1/namespaces/:namespace/review/.

Метод Путь Назначение
GET /review/subjects Список с фильтром по kind / status.
GET /review/subjects/entity/:kind/:subjectId Текущий subject для целевой сущности (поиск по kind + id владельца).
POST /review/subjects/entity/:kind/:subjectId/submit Переход draft → in_review. Body может содержать список user ID ревьюеров.
POST /review/subjects/:id/withdraw Только отправитель: откат в draft.
POST /review/subjects/:id/reviewers Назначить ревьюера.
DELETE /review/subjects/:id/reviewers/:userId Снять ревьюера.
GET /review/subjects/:id/comments Список комментариев (threaded).
POST /review/subjects/:id/comments Добавить комментарий. Body: {body, format, anchorPath, parentId}.
POST /review/subjects/:id/comments/:commentId/resolve Переключить resolved у комментария.
POST /review/subjects/:id/approve Голос approve.
POST /review/subjects/:id/request-changes Голос request changes + комментарий.
POST /review/subjects/:id/reject Голос reject.
POST /review/subjects/:id/archive Перевести в archived (терминал).
GET /review/subjects/:id/events Timeline.

Интеграция в UI

В Управлении тест-кейсами выберите кейс и откройте Review. Вкладка показывает
статус, проверяющих, комментарии и решения. Доступные действия зависят от ваших
прав; решения других проверяющих появляются без перезагрузки страницы.

События и уведомления

Сервис ревью публикует события в outbound webhook-шину на каждом переходе:

  • review.submitted, review.withdrawn
  • review.reviewer_added, review.reviewer_removed
  • review.commented, review.comment_resolved
  • review.approved, review.changes_requested, review.rejected
  • review.archived, review.revision_bumped

Подписаться — в Settings → Webhooks (HTTP / Kafka / RabbitMQ) или через Notification Channels для Slack / Telegram / email / bell. Payload всегда содержит {namespace, kind, subjectId, actor, snapshot} и специфичные для перехода поля.

RBAC

  • review:view — неявно при чтении namespace.
  • review:comment — нужен для POST /comments и /resolve.
  • review:review — нужен для голосов (approve, request-changes, reject).
  • review:manage — нужен для archive и управления ревьюерами.

Все действия аудируются: глаголы review_submitted, review_withdrawn, review_reviewer_assigned, review_reviewer_removed, review_commented, review_comment_resolved, review_approved, review_changes_requested, review_rejected, review_archived.