Каждое успешное изменение в Quevell записывается в журнал. Не выборочно и не по настройке: запись делает то же ядро, которое проводит само изменение, поэтому "забыть записать" отдельная функция не может.
Что записывается
Одна запись журнала это одно изменение. В ней:
| Поле | Что это |
|---|---|
| Скоуп | что произошло, например issue.transitioned или workflow.updated |
| Объект | тип и идентификатор того, что изменилось, и его версия после изменения |
| Автор | кто это сделал |
| Время | когда это произошло |
| Изменения | значения до и после |
| Итог | SUCCEEDED: журнал записывает состоявшиеся изменения |
| Связь | идентификатор цепочки и идентификатор события-причины |
| От чьего имени | если действие выполнялось под чужим именем, записаны оба пользователя |
| Правило | если действовало правило автоматизации, записаны его идентификатор, ревизия и глубина каскада |
Два последних поля стоит прочитать внимательно. Вход от имени другого пользователя не бывает незаметным: в записи стоят оба имени, и тот, под чьим именем вошли, получает об этом письмо. И действие правила автоматизации не выглядит как действие пользователя: в записи видно, какое правило и какой его ревизии сработало.
Цепочка связывает следствия с причиной. Если одно изменение вызвало правило, а оно изменило что-то еще, у всех звеньев один идентификатор цепочки, и вопрос "почему это вдруг поменялось" решается одним фильтром.
Где смотреть
Журнал есть на двух уровнях.
История задачи. На карточке задачи лента показывает, что с этой задачей происходило: изменения полей, переходы, метки, связи, комментарии, вложения. Этого хватает для работы, и история открыта всем, кто видит задачу.
То, что сделало правило автоматизации, стоит в той же ленте и рядом с человеческим, но видно, что это не человек: вместо имени там имя правила и номер ревизии, со ссылкой на само правило для тех, кто его видит. Даты создания и последнего изменения задачи читаются оттуда же: первая строка ленты это создание, последняя показывает то, что случилось с задачей позже всего.
Журнал компании. Администрирование, раздел безопасности: все записи компании с фильтрами и постраничной выдачей. Для него нужно право "Читать журнал". У администраторов компании оно есть всегда.
Как искать
Журнал компании фильтруется по четырем признакам, и фильтры сочетаются:
- кто: все, что сделал конкретный пользователь;
- о ком: все записи, где пользователь автор, предмет изменения или тот, от чьего имени вошли;
- скоуп: конкретный вид изменения. Список скоупов берется из продукта, поэтому опечатка невозможна;
- результат: поле есть в фильтре, но сегодня в журнале только успешные изменения, поэтому оно ничего не сужает.
Выдача идет страницами по курсору, от новых к старым, и рядом с ней стоит полное число записей, а не размер страницы. Это различие важное: на вопрос "сколько раз это произошло" раньше отвечал размер первой страницы, и ответ был всегда двадцать пять.
Чего в журнале нет
Журнал записывает состоявшиеся изменения. Попытка сделать то, на что не хватило прав, изменением не становится и в журнал не попадает: отказ виден тому, кто его получил, и в логах сервера, но не здесь.
Правила автоматизации на этот счет устроены иначе: отказ по правам у правила записывается в журнал автоматизации, отдельный от этого. Смотрите автоматизацию.
Записи нельзя изменить
Запись журнала нельзя отредактировать и нельзя удалить: это запрещает сама база. Любая попытка изменить или удалить строку журнала прерывается с ошибкой "audit events are immutable".
Это важнее, чем кажется. Запрет стоит на самой таблице, а не в слое приложения, поэтому его не обходят ни ошибка в новой функции, ни администратор компании, ни тот, кто получил доступ к учетной записи приложения. Пока компания существует, подчистить журнал за собой нельзя.
Исключение ровно одно, и оно про удаление самой компании: строки журнала можно удалить только тогда, когда компании, к которой они относятся, уже нет. Это условие проверяет сама база, приложение его не выставляет: чтобы стереть журнал, придется сначала удалить компанию, а это не заметание следов.
Сколько живут записи
Журнал не чистится по расписанию, и срока хранения, после которого записи стираются, у него нет. Записи компании живут столько же, сколько сама компания.
Сколько живет сама компания, если в нее перестают заходить, написано в Начале работы: три месяца до архивации и еще 30 дней до удаления данных.