Журнал изменений

Что записывается при каждом изменении, где это смотреть и как искать: автор, время, значения до и после.

Обновлено: 2026-09-01

Каждое успешное изменение в Quevell записывается в журнал. Не выборочно и не по настройке: запись делает то же ядро, которое проводит само изменение, поэтому «забыть записать» отдельная функция не может.

Что записывается

Одна запись журнала это одно изменение. В ней:

ПолеЧто это
Командачто произошло, например issue.transitioned или workflow.updated
Объекттип и идентификатор того, что изменилось, и его версия после изменения
Авторкто это сделал
Времякогда это произошло
Изменениязначения до и после
ИтогSUCCEEDED: журнал записывает состоявшиеся изменения
Связьидентификатор цепочки и идентификатор события-причины
От чьего имениесли действие выполнялось под чужим именем, записаны оба пользователя
Правилоесли действовало правило автоматизации, записаны его идентификатор, ревизия и глубина каскада

Два последних поля стоит прочитать внимательно. Вход под чужим именем не бывает незаметным: в записи стоят оба имени, и тот, под чьим именем вошли, получает об этом письмо. И действие правила автоматизации не выглядит как действие пользователя: в записи видно, какое правило и какой его ревизии сработало.

Цепочка связывает следствия с причиной. Если одно изменение вызвало правило, а оно изменило что-то еще, все звенья несут один идентификатор цепочки, и вопрос «почему это вдруг поменялось» решается одним фильтром.

Где смотреть

Журнал есть на двух уровнях.

История задачи. На карточке задачи лента показывает, что с этой задачей происходило: изменения полей, переходы, комментарии, вложения. Это то, что нужно в работе, и оно открыто всем, кто видит задачу.

Журнал компании. Администрирование, раздел безопасности: все записи компании с фильтрами и постраничной выдачей. Для него нужно право просматривать журнал; администраторы компании держат его по должности.

Журнал компании фильтруется по трем вещам, и они складываются:

  • автор: все, что сделал конкретный пользователь;
  • команда: конкретный вид изменения. Список команд отдается продуктом, а не набирается руками, поэтому опечатка невозможна;
  • итог: поле есть в фильтре, но сегодня в журнале только успешные изменения, поэтому оно ничего не сужает.

Выдача идет страницами по курсору, от новых к старым, и рядом с ней стоит полное число записей, а не размер страницы. Это различие важное: на вопрос «сколько раз это произошло» раньше отвечал размер первой страницы, и ответ был всегда двадцать пять.

Чего в журнале нет

Журнал записывает состоявшиеся изменения. Попытка сделать то, на что не хватило прав, изменением не становится и в журнал не попадает: отказ виден тому, кто его получил, и в логах сервера, но не здесь.

Правила автоматизации на этот счет устроены иначе: отказ по правам у правила записывается в журнал автоматизации, отдельный от этого. Смотрите автоматизацию.

Записи нельзя изменить

Запись журнала нельзя отредактировать и нельзя удалить: это запрещено не проверкой в коде, а самой базой. Любая попытка изменить или удалить строку журнала прерывается с ошибкой «audit events are immutable».

Это важнее, чем кажется. Запрет стоит на самой таблице, а не в слое приложения, поэтому его не обходят ни ошибка в новой функции, ни администратор компании, ни тот, кто получил доступ к учетной записи приложения. Пока компания существует, подчистить журнал за собой нельзя.

Исключение ровно одно, и оно про удаление самой компании: строки журнала можно удалить только тогда, когда компании, к которой они относятся, уже нет. Это не флаг, который выставляет приложение, а условие, которое проверяет база: чтобы стереть журнал, придется сначала удалить компанию, а это не заметание следов.

Сколько живут записи

Журнал не чистится по расписанию и не имеет глубины, после которой записи стираются. Записи компании живут столько же, сколько сама компания.