6. Работа с логгером

6.1. Цели

  • Повышение квалификации команды - каждый учится на своих ошибках. Для этого надо понять, кто сделал ошибку.

  • Исправление ошибок, выявленных на test и stage, до того как они попадут в master

  • Исправление ошибок, выявленных на master

6.2. Инструкция

  1. Открываем https://sbps.ru/#/log/

  2. Отбор: В работе

  3. Фильтруем:

  • Приложение: Сбербанк (тест), Сбербанк (stage), Сбербанк (прод)

  • Тип стенда: test, stage, prod

  • Ответственный: Системный Пользователь

  1. Открываем карточку ошибки из списка. Например https://sbps.ru/#/log/52/

  2. Нажимаем назначить -> ответственного и выбираем себя, чтобы карточка не висела в общей очереди пока вы над ней работаете

  3. Кто и когда сделал баг. Это не всегда тривиально. Например бывает так:

    1. Было поле choices

    2. Был код, который фильтровал карточки по этому полю

    3. Поле поменяли на multi_choices, а код исправили не везде

    4. Ошибка будет падать в коде, который забыли исправить, а передавать на исправление её надо тому, кто менял тип поля

  4. Ошибки, вызванные некорректным поведением sber API (мы отправляем им HTTP запросы), Саша Омелаев попросил назначать на него

  5. Проверяем, в каких ветках, commit с багом. Допустим ошибка в commit bf8b8f7 в проекте sber. Тогда вот эта комманда покажет, был ли данный commit влит в master, stage, и test

git branch --remotes --contains bf8b8f7 origin/master 'origin/RELEASE*' origin/test
  1. Если commit НЕ в origin/master (sber ИЛИ ядро)

    1. Переводим карточку https://sbps.ru/#/log/…/ на автора кода. При переходе в поле сообщение вставляем ссылку на commit или задачу redmine, в рамках которой была допущена ошибка

    2. Кидаем ссылку на эту карточку + ссылку на commit или задачу redmine автору в telegram

    3. Поясняем ошибку, если она не очевидна

    4. По возможности: пишем, как воспроизвести ошибку

    5. Трекаем время в задачу, в рамках которой была допущена ошибка

  2. Если commit в origin/master (sber ИЛИ ядро)

  1. Создаём новую задачу в redmine - это нужно для согласования вливания кода в RELEASE

  2. Tracker (Трекер): Поддержка (прод), если в карточке https://sbps.ru/#/log/…/ написано «Сбербанк (прод)», иначе Поддержка (не прод)

  3. Назначаем на автора кода. Не назначаем ответственного (кидаем в кидаем в общую очередь) только, если автор больше в сфере не работает или автор - Стёпа или Паша

  4. В описании задачи нужны:

    • ссылка на карточку https://sbps.ru/#/log/…/

    • ссылка на commit с багом

    • ссылка на задачу redmine, в рамках которой этот commit был сделан

    • желательно: инструкции, как воспроизвести ошибку

  5. Переводим карточку https://sbps.ru/#/log/…/ того-же, на кого перевели задачу в redmine. При переходе в поле сообщение вставляем ссылку на только что созданную задачу

  6. Кидаем ссылку на задачу в redmine в telegram ответственному

  7. Трекаем время

  1. Если ошибка - результат некорректного решения git конфликта, создаём новую задачу в redmine Поддержка (не прод), чтобы было куда трекать время, и кидаем на того кто мерджил

  2. Если ошибка не связана с конкретной задачей (например ошибка в файле .env), создаём новую задачу в redmine Поддержка (не прод), чтобы было куда трекать время, и делаем её сами или кидаем в общую очередь