6. Работа с логгером
6.1. Цели
Повышение квалификации команды - каждый учится на своих ошибках. Для этого надо понять, кто сделал ошибку.
Исправление ошибок, выявленных на test и stage, до того как они попадут в master
Исправление ошибок, выявленных на master
6.2. Инструкция
Открываем https://sbps.ru/#/log/
Отбор: В работе
Фильтруем:
Приложение: Сбербанк (тест), Сбербанк (stage), Сбербанк (прод)
Тип стенда: test, stage, prod
Ответственный: Системный Пользователь
Открываем карточку ошибки из списка. Например https://sbps.ru/#/log/52/
Нажимаем назначить -> ответственного и выбираем себя, чтобы карточка не висела в общей очереди пока вы над ней работаете
Кто и когда сделал баг. Это не всегда тривиально. Например бывает так:
Было поле choices
Был код, который фильтровал карточки по этому полю
Поле поменяли на multi_choices, а код исправили не везде
Ошибка будет падать в коде, который забыли исправить, а передавать на исправление её надо тому, кто менял тип поля
Ошибки, вызванные некорректным поведением sber API (мы отправляем им HTTP запросы), Саша Омелаев попросил назначать на него
Проверяем, в каких ветках, commit с багом. Допустим ошибка в commit bf8b8f7 в проекте sber. Тогда вот эта комманда покажет, был ли данный commit влит в master, stage, и test
git branch --remotes --contains bf8b8f7 origin/master 'origin/RELEASE*' origin/test
Если commit НЕ в origin/master (sber ИЛИ ядро)
Переводим карточку https://sbps.ru/#/log/…/ на автора кода. При переходе в поле сообщение вставляем ссылку на commit или задачу redmine, в рамках которой была допущена ошибка
Кидаем ссылку на эту карточку + ссылку на commit или задачу redmine автору в telegram
Поясняем ошибку, если она не очевидна
По возможности: пишем, как воспроизвести ошибку
Трекаем время в задачу, в рамках которой была допущена ошибка
Если commit в origin/master (sber ИЛИ ядро)
Создаём новую задачу в redmine - это нужно для согласования вливания кода в RELEASE
Tracker (Трекер): Поддержка (прод), если в карточке https://sbps.ru/#/log/…/ написано «Сбербанк (прод)», иначе Поддержка (не прод)
Назначаем на автора кода. Не назначаем ответственного (кидаем в кидаем в общую очередь) только, если автор больше в сфере не работает или автор - Стёпа или Паша
В описании задачи нужны:
ссылка на карточку https://sbps.ru/#/log/…/
ссылка на commit с багом
ссылка на задачу redmine, в рамках которой этот commit был сделан
желательно: инструкции, как воспроизвести ошибку
Переводим карточку https://sbps.ru/#/log/…/ того-же, на кого перевели задачу в redmine. При переходе в поле сообщение вставляем ссылку на только что созданную задачу
Кидаем ссылку на задачу в redmine в telegram ответственному
Трекаем время
Если ошибка - результат некорректного решения git конфликта, создаём новую задачу в redmine Поддержка (не прод), чтобы было куда трекать время, и кидаем на того кто мерджил
Если ошибка не связана с конкретной задачей (например ошибка в файле .env), создаём новую задачу в redmine Поддержка (не прод), чтобы было куда трекать время, и делаем её сами или кидаем в общую очередь