Skip to content

Workflow

Alexander Zuev edited this page Jan 2, 2017 · 5 revisions

Workflow

Введение

Для удобной и продуктивной работы участников вводится Workflow - способ организации работы.

Он построен на системе Issues, Projects и Pull Requests, используемой GitHub.

Issue - задача, требующая решения. Issues доступны на вкладке "Issues" репозитория. Issue может быть Open или Closed. Open - задача требует решения, Closed - задача решена. Для Issue можно назначить Assignee.
Assignee - участник, которому назначена данная задача. Он отвечает за ее выполнение, закрытие, ее статус на вкладке Projects. При решении Issue участник создает Pull Request, в котором добавлены коммиты, решающие задачу.

Pull Request - запрос на слияние изменений с веткой в репозитории. Так же как и Issue может быть Open и Closed в зависимости от того, были ли изменения merged. Для Pull Request также можно назначить Assignee.
Для Pull Request, Assignee - участник, которому нужно проверить Pull Request. Если в качестве Assignee указан сам создатель Pull Request - значит Pull Request требует доработки автора, иначе Pull Request требует проверку другим участником.
Pull Request не используется в качестве карточки на вкладке Projects.

Projects - доска, для организации работы участников.

Содержит списки, соответствующие этапу выполнения задач:

  • Backlog - задачи требующие решения в ближайшее время.
  • TODO - задачи, работа над которыми начнется сразу при наличии времени у участника.
  • In Progress - задачи, работа над которыми ведется в настоящее время.
  • Code Review - задачи, которые ожидают проверки Pull Request другим участником. В качестве Assignee указан участник, выполнявший задачу.

Выбор задачи

Для просмотра списка своих задач нужно зайти на вкладку Issues, выбрать Filter > Everything assigned to you.

Среди них в первую очередь стоит уделить внимание Pull Request-ам.
Если Pull Request-ов нет - можно выбрать любую задачу:

  1. Открыть Issue
  2. Прочитать подробное описание задачи (при его наличии).
  3. Перейти в Projects и переместить карточку в In Progress.
  4. В git клиенте создать ветку с названием issues/issue-НомерIssue. Номер Issue можно узнать из карточки на вкладке Projects или из Issue: он указан после символа #.
  5. Запушить изменения.
  6. Создать Pull Request.
  7. Переместить карточку на вкладке Projects в Code Review.

Создание Pull Request-ов

Порядок создания:

  1. Нажать кнопку "New Pull Request" на вкладке Code или на вкладке Pull Request.
  2. В качестве ветки compare выбрать свою ветку с изменениями.
  3. Заполнить название в соответствии с Issue, в описании указать ссылку на закрытие Issue: closes #НомерIssue.
  4. Выбрать Assignee: любого другого участника (не себя).
    Если необходимо доработать Pull Request - название начать с [WIP] , в качестве Assignee - указать себя. Такие Pull Request-ы не должны быть приняты до удаления метки [WIP] .
  5. Нажать "Create Pull Request".

Проведение Code Review

  1. Выбрать Pull Request для review.
  2. Проверить наличие ссылки closes #НомерIssue. Перейти к Issue и проверить требования к задаче. При отсутствии ссылки - вернуть Pull Request создателю, указав в Review требование добавить ссылку.
  3. Перейти к вкладке Files changed и при необходимости прокомментировать изменения. При необходимости изменений после комментария нажать на кнопку Start a review, при простом комментарии - нажать на Add single comment.
  4. После завершения review, нажать Review changes. Далее Comment - простое комментирование, не влияет на Pull Request; Approve - одобрение изменений, разрешает merge; Request changes - запрос изменений, запрещает merge.
  5. Если merge разрешен - нажать Merge pull request, Confirm merge, Delete branch.
  6. Если merge запрещен - выбрать создателя в качестве Assignee.
Clone this wiki locally