Функции GitHub : Issues, Projects, Pull Requests
Здравствуйте! Помогите, пожалуйста, разобраться с такими функциями GitHub как Issues, Projects, Pull Requests. Для чего они нужны и как правильно с ними работать. У меня есть репозиторий, в котором 2 текстовых файла. И к этому репозиторию надо применить эти функции. Заранее, огромное спасибо!
Отслеживать
задан 20 мая 2017 в 11:28
kittycat_13 kittycat_13
428 4 4 серебряных знака 14 14 бронзовых знаков
1 ответ 1
Сортировка: Сброс на вариант по умолчанию
- Issues — это система учёта ошибок, по-английски bugtracker. Конечно, она не такая навороченная, как, к примеру Jira. Однако разработчики Github-а считают эту простоту преимуществом благодаря гибкости и отсутствию визуального мусора. Так как у Github Issues отсутствуют такие важные поля, как «Категория», «Серъёзность», «Статус» и «Компонент», их приходится заменять проставлением различных меток. Вот как это предлагает делать некто Zach Dunn:
Отслеживать
ответ дан 7 июн 2017 в 11:14
Arhadthedev Arhadthedev
11.5k 8 8 золотых знаков 42 42 серебряных знака 70 70 бронзовых знаков
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.1.26.3951
Issues 2.0: Новое поколение
Система управления проектом: последний рубеж. Почти два года назад в этот день, GitHub запустил трекер задач (issue tracker). Некоторые люди его полюбили, некоторые люди возненавидели его, — но давайте не будем обращать внимание на прошлое (мы живем в будущем, так как наше настоящее в прошлом). Давайте поговорим о версии Issues, которые запускаются сегодня.
Анатомия задачи
Начнем с того, что из себя представляет Задача (Issue). Вот скриншот задачи на GitHub
Назначение ответственных, добавление этапов и прикрепление ярлыков
Одна из самых сложных проблем в управлении проектами — это организация и поиск задач, над которыми вы хотите работать. Вы всегда могли добавлять ярлыки, но теперь вы можете назначать ответственного для задачи и добавлять их в этапы проекта.
Трифорс ярлыков, исполнителей и этапов позволяет организовать задачи вне зависимости от сложности проекта, будь то мощный магазин или просто быстрая сортировка для личных проектов.
События
Всякий раз, когда открывается или закрывается какая-либо задача, мы покажем вам это.
Навигация по задачам
Issues 2.0 запущены с простым, отзывчивым и гибким интерфейсом навигации по задачам.
Списки позволяют вам быстро отфильтровать и найти необходимые вам задачи. Поиск заданий в этапах, по множеству ярлыков — и дальнейшая сортировка вплоть до заданий, назначенных вам, или задач, где @вы упомянуты. Все эти ярлыки являются «клейкими» — вы можете покинуть страницу и позже вернуться к предыдущим фильтрам.
Допускается массовое редактирование на текущей странице: закрытие, открытие, добавление ярлыков, назначение ответственных и добавление в этапы проекта.
Поиск
Мы начали с добавления быстрого поиска в поле поиска, который позволяет находить этапы и задачи по мере ввода вашего запроса.
Если быстрый поиск ничего не находит, вы можете перейти к странице полного поиска.
Наша новая поисковая система индексирует в задачах все, включая комментарии, так что вы обязательно найдете то, что ищете.
Коммиты + Задания
Задания имеют глубокую интеграцию с сообщениями коммитов. Каждый раз, когда вы ссылаетесь на номер задания, мы добавим в коммит для вас просмотр обсуждения задачи.
И, конечно же, вы можете закрыть задачу с сообщением коммита.
- fixes #xxx
- fixed #xxx
- fix #xxx
- closes #xxx
- close #xxx
- closed #xxx
Электронная почта + Задачи
Некоторое время назад мы запустили поддержку ответов по почте, и это идеально подходит для задач. В любое время вы получаете уведомление о задаче по электронной почте, просто нажимаете кнопку «Ответить» и вводите свой ответ.
Клавиатура + Задачи
Любите использовать клавиатуру для навигации по веб-страницам? Задачи имеют великолепную поддержку клавиатуры:
PJAX: Следующее поколение частичной загрузки страницы
Каждая ссылка в Issues 2.0 будет работать так как вы ожидаете от любой ссылки в интернете (открытие в новой вкладке, копирование и вставка URL), — но вы все равно получите безумно отзывчивый интерфейс (напоминает интерфейс старой школы AJAX). Это стало возможным благодаря PJAX — тому, что мы используем больше и больше на нашем сайте.
Вы получите преимущества PJAX только если вы используете Firefox 4 или Chrome — я настоятельно рекомендую обновиться.
- Homebrew’s Issues
- Most commented issues labeled feature and 1.x in bundler
- paperclip’s issues discussing s3
Типы задач в Jira — что такое Epic, Story, Task

- Эпик (epic) — большая задача, на решение которой команде нужно несколько спринтов
- История (story) — часть большой задачи (эпика), которую команда может решить за 1 спринт
- Задача (task) — техническая задача, которую делает один из членов команды
- Под-задача (sub-task) — часть истории / задачи, которая описывает минимальный объем работы члена команды
- Баг (bug) — задача, которая описывает ошибку в системе
Если вы хотите узнать подробнее о типах задач в Jira — вы в правильном месте.
В этой статье мы разберемся с определениями issue, эпик (epic), история (story), задача (task), под-задача (sub-task) и баг (bug), посмотрим зачем они нужны и как они связаны.
Что такое Issue в Jira?
Все задачи, созданные в Jira, называются issue (или “проблема”).
Она может представлять что угодно: баг в системе, задача по разработке, отзыв с формы контактов, на который нужно ответить. По сути это любая задача, на которую нужно отреагировать и что-то сделать.
Проблема соответствует определенной части работы, которую нужно сделать.
Каждой проблеме присваивается уникальный ID, по которому ее можно легко найти.
Для логического разделения, упрощения управления и возможности более гибкой настройки рабочих процессов, проблемы делят на типы.
Изначально в Jira есть 5 базовых типов проблем, но, при необходимости, их можно дополнять / изменять / удалять.
Что такое Эпик (Epic) в Jira?

Эпик (epic) — большая задача, на решение которой команде нужно несколько спринтов.
Для примера можем рассмотреть эпик “Разработать блог для сайта N”.
Под “разработать” может подразумеваться:
- Проработать структуру блога
- Создать дизайн
- Разработать, протестировать блог
- Подготовить аналитику
- Подготовить начальный контент
- Развернуть и запустить блог
- …
Как мы видим, объем работ — большой. Количество людей, которые будут принимать участие в работе — большое. Время на реализацию — явно не 2 часа
Все характеристики эпика соблюдены)
Основное предназначение эпика — организация работ.
В нем может храниться: предварительное задание, общее видение проекта, дизайн, ссылки на документацию, любая дополнительная информация, которая необходима для решения проблемы.
Из-за своего объема и абстрактности эпики всегда разбиваются на части, которые описывают более конкретные “шаги” для решения проблемы.
Эти части называются история и задача.
Если вы хотите разобраться в эпиках более детально:
- Эпики agile. Определение, примеры и шаблоны
- Узнайте, как использовать эпики в Jira Software
Что такое История (Story / User Story) в Jira?

История (story) — часть большой задачи (эпика), которую команда может решить за 1 спринт.
Она описывает реализуемую работу (или функционал) с точки зрения конечного пользователя и, обычно, имеет заголовок вида:
Как [тип клиента], [хочу/могу то-то], [чтобы делать что-то]
Если продолжить рассмотрение примера эпика Разработать блог для сайта “N”, можно выделить такие истории:
- Как клиент, я могу связаться с суппортом компании, отправив заявку на странице /contact-us, чтобы решить возникшую проблему
- Как BA, я могу разделить посетителей сайта на 2 группы и провести А/Б тест для главной страницы, чтоб увеличить конверсию страницы
- Как контент-менеджер, я могу добавить интерактивный график на любую страницу блога, чтоб посты были более интерактивными
- …
Теперь части работы стали меньше и они — более понятные. Их можно смело отдавать командам на оценку!
Истории оцениваются командой в story points.
Также в них обязательно должны быть критерии приемки (acceptance criteria), благодаря которым команда сможет понять, что работа сделана до конца.
Написание хороших историй — это целая наука!
Если вы хотите разобраться в историях более детально:
- Пользовательские истории с примерами и шаблоном
- How to Write Good User Stories in Agile Software Development
- Как писать User Story
Задача (Task) в Jira

Задача (task) — техническая задача, которую делает один из членов команды.
Обычно, технические задачи не связанны с командной работой, но необходимы для успешного завершения эпиков.
Продолжаем пример с блогом)
Задачи, которые помогут в реализации:
- Создать репозиторий для проекта
- Настроить testing/production окружения
- Ежедневный просмотр логов ошибок
- …
Как вы видите, задачи — это очень конкретные технические моменты, которые нельзя “преобразовать” в истории, так как ими занимается один человек.
Но, без таких задач — блог не получится завершить
Некоторые компании / команды оценивают задачи в часах
Как показывает моя практика — это пустая трата времени, сил и ожиданий.
Практически всегда оценка не совпадет с реальным временем выполнения, причем не важно, оценку делает Junior или Senior разработчик (у Senior отклонение меньше, но оно все равно есть)
Так, задачу оцененную в “два часа от силы” могут делать неделю, а задачу оцененную в “5 часов” — 30 минут
Вместо оценки задачи в часах — лучше просить разбивать задачу на под-задачи (о них — ниже)
- разработчику будет проще, потому что он сможет более точно понять суть и объем задачи
- менеджеру будет проще, потому что ход выполнения задачи будет перед глазами (в виде закрытых / открытых “кусочков”) и не нужно будет постоянно ходить к разработчику с вопросом “ну что там, когда будет готово?” и бесить его
Большое количество проблем с типом “задача” в беклоге может указывать на присутствие микро-менеджмента ☠️
В такой ситуации команда не участвует в проработке лучших вариантов решения реальных проблем!
Анализ и подготовка задач происходит “наверху”, задачи опускаются “вниз”, и чаще всего (ввиду не понимания корня проблемы) впоследствии ничего не решают!
Под-задача (Sub-task) в Jira

Под-задача (sub-task) — часть истории / задачи, которая описывает минимальный объем работы члена команды.
Разбиение задач на под-задачи позволяет проводить более точное оценивание трудозатрат, потому что нам проще оценивать работу по частям
К тому же, под-задачи упрощают процесс контроля выполнения работы. По их статусам видно что уже сделано, что находится в работе и что еще не начинали делать.
Обычно, каждый член команды создает под-задачи для себя во время планирования работы на следующий спринт.
Например, для истории “Как клиент, я могу связаться с суппортом компании, отправив заявку на странице /contact-us, чтобы узнать больше о компании” под-задачи могут быть такими:
- Создать страницу /contact-us (Backend)
- Сверстать страницу /contact-us (Frontend)
- Интегрировать верстку и форму (Frontend)
- Интегрировать верстку и форму (Backend)
- Подготовить тестовую документацию (QC)
- Проверить страницу /contact-us (QC)
- Создать и настроить почту для суппорта (Admin)
Баг (Bug) в Jira

Задачи типа Баг (Bug) фиксируют ошибки, которые нужно проанализировать и может быть исправить️️️️ ❗️❗️.
Иногда, владельцу продукта сложно понять “суть” ошибки, приоритеты проставляются не правильно и баги “тонут” в беклоге. Это может приводить к постепенному ухудшению качества продукта.
Внедрение Zero Bug Policy помогает избавиться от этой проблемы раз и на всегда.
Создание отличных баг-репортов являеться ключевым навыком любого тестировщика.
У нас есть отдельная статья о багах и баг-репортах в которой есть пример баг-репорта в Jira и много чего интересного
Выводы

Приведенные типы задач лишь базовые!
Jira — очень гибкий инструмент! Она позволяет добавить новые типы задач, которые нужны именно Вам!
Существуют команды, которые собирают эпики в большие “мега” проекты. Или те, кто создают требования как тип задач, для более удобной связи требований — тестов — задач/багов.
Главное — не бояться разбираться в чем-то новом и постоянно экспериментировать! ⚗️
Удачи в Ваших проектах
FAQ
Что такое Epic в Jira?
Эпик (epic) — большая задача, на решение которой команде нужно несколько спринтов
Что такое Story в Jira?
История (story) — часть большой задачи (эпика), которую команда может решить за 1 спринт
Что такое Task в Jira?
Задача (task) — техническая задача, которую делает один из членов команды
Что такое Sub-task в Jira?
Под-задача (sub-task) — часть истории / задачи, которая описывает минимальный объем работы члена команды
Что такое Bug в Jira?
Баг (bug) — задача, которая описывает ошибку в системе
Вы отправили слишком много запросов, поэтому ваш компьютер был заблокирован.
Для того, чтобы предотвратить автоматическое считывание информации с нашего сервиса, на Linguee допустимо лишь ограниченное количество запросов на каждого пользователя.
Пользователям, браузер которых поддерживает Javascript, доступно большее количество запросов, в отличие от пользователей, чей браузер не поддерживает Javascript. Попробуйте активировать Javascript в настройках вашего браузера, подождать несколько часов и снова воспользоваться нашим сервером.
Если же ваш компьютер является частью сети компьютеров, в которой большое количество пользователей одновременно пользуется Linguee,сообщитеоб этом нам.