Урок 5 из 8 · 20 мин · обновлено

Jira: проект, задачи и статусы

Как устроена Jira: проект и его шаблон, типы задач — эпик, история, задача, баг и подзадача, обязательные поля, статусы и процесс, связи между задачами и поиск через JQL.

Проекты и шаблоны

Jira — самая распространённая программа для управления задачами в IT-командах. Её делает компания Atlassian. Jira работает в браузере, для небольших команд есть бесплатный тариф.

Работа в Jira ведётся в проектах. Обычно один проект — один продукт или одна команда, например «Зерно» с кодом ZRN. При создании проекта выбирают шаблон:

  • Scrum — с бэклогом, спринтами и отчётами по спринтам;
  • Kanban — с непрерывной доской без спринтов (урок 7).

Типы задач

В новых версиях Jira задачи называют рабочими элементами (work items), раньше их называли issues. Суть одна: каждая единица работы — отдельная карточка. Типы:

  • Эпик (Epic) — большая цель из многих историй: «Программа лояльности»;
  • История (Story) — пользовательская история: «Как гость, я хочу повторить вчерашний заказ…»;
  • Задача (Task) — работа без прямой пользы для пользователя: «Обновить библиотеку оплаты»;
  • Баг (Bug) — ошибка в уже сделанном: «Оплата не проходит при 11 позициях в корзине»;
  • Подзадача (Subtask) — часть истории или задачи: «Сверстать экран», «Написать тесты».

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

Карточка задачи

У каждой задачи есть ключ — код проекта и номер: ZRN-42. По нему задачу находят и упоминают в переписке, коде и баг-репортах.

Главные поля:

  • название — коротко и понятно: «Повтор вчерашнего заказа с главного экрана»;
  • описание — подробности, история, критерии приёмки, ссылка на макет;
  • исполнитель (Assignee) — кто делает сейчас;
  • автор (Reporter) — кто создал;
  • приоритет — Highest, High, Medium, Low, Lowest;
  • оценка — стори-пойнты;
  • метки и компонент — для группировки: «android», «оплата».

Хорошее описание экономит часы вопросов. Для бага в нём есть шаги, ожидаемый и фактический результат, окружение. Как писать баг-репорты, подробно разобрано в курсе «Тестировщик с нуля».

Статусы и процесс

Статус показывает, на каком этапе задача. Простейший процесс:

To Do → In Progress → Done

Команды добавляют свои этапы, например:

To Do → In Progress → Code Review → Testing → Done

Задачу двигают по статусам, когда работа переходит к следующему этапу. Набор статусов и переходов называют процессом (workflow), его настраивает администратор проекта.

Задачи можно связывать: «блокирует», «зависит от», «дублирует». Если ZRN-50 блокирует ZRN-42, сразу видно, что нужно сделать сначала.

Поиск: JQL

Когда задач тысячи, их ищут с помощью JQL — языка запросов Jira:

Текст
project = ZRN AND type = Bug AND status != Done ORDER BY priority DESC

Найдёт незакрытые баги проекта, самые важные — сверху. Ещё примеры:

  • assignee = currentUser() AND status = "In Progress" — мои задачи в работе;
  • project = ZRN AND created >= -7d — созданные за последние 7 дней;
  • labels = android AND sprint in openSprints() — задачи с меткой android в текущем спринте.

Запрос можно сохранить как фильтр и вывести на дашборд. JQL похож на SQL: если знакомы с ним, разберётесь быстро. Если нет — есть курс «SQL с нуля».

Попробуйте сами. Тестировщик нашёл ошибку: в приложении «Зерно» на Android после оплаты экран статуса заказа остаётся пустым, хотя заказ создан. Заполните для неё карточку Jira: тип, название, приоритет, описание.

Пример
  • Тип: Bug.
  • Название: «Android: после оплаты пустой экран статуса заказа».
  • Приоритет: High — гость не видит, что заказ принят, и может оплатить повторно.
  • Метки: android, оплата.
  • Описание:
    • Окружение: тестовый сервер, Android 15, приложение версии 1.4.0.
    • Шаги: 1) добавить капучино в корзину; 2) оплатить тестовой картой; 3) дождаться перехода на экран статуса.
    • Ожидаемый результат: экран со статусом «Готовим» и временем получения.
    • Фактический результат: пустой белый экран. Заказ при этом создан — он есть в истории заказов.
    • Вложения: видео экрана, лог приложения.

Мини-тест: проверьте себя

Закрепите урок: несколько вопросов, разбор ответов — в конце.

  1. Какой тип задачи в Jira подходит для «оплата не проходит, если в корзине больше 10 позиций»?

  2. Что такое ключ задачи, например ZRN-42?

  3. Что найдёт запрос JQL: project = ZRN AND type = Bug AND status != Done?