Рабочий процесс ревью
Ревью помогает получить одобрение другого человека перед тем, как тест-кейс будет готов.
Откройте Управление тест-кейсами, выберите кейс и перейдите на вкладку 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.withdrawnreview.reviewer_added,review.reviewer_removedreview.commented,review.comment_resolvedreview.approved,review.changes_requested,review.rejectedreview.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.