Lab 1 Project management on Github

At the very beginning, your team should create a repository on Github (or any other similar platform). It is the centralized collaborative space for your team to maintain any project related stuffs, including source code, documentation, project progress and etc.

Adding your team members to repository

After repository created, project leader/manager would enable access for project team members to access the repository.

To do so on Github repository, please click on Settings tab on the top bar.

Github Topbar

Then, please click Collaborators on left menu. Input Github username of your team member and click Add Collaborator.

enter image description here

After adding team members to the repository, let’s click on Project tab in your repository top bar.

Project on Github

In Project tab, it is a collaborative space for managing projects. Just like the description showing on Github, you could sort tasks, plan your project, automate your workflow and track progress here.

enter image description here

Create a project Kanban

Please click on New project to create a project.

Create project using Basic Kanban template

There are three columns in the Kanban created with Basic kanban template. They are To do, In progress and Done.

enter image description here

To do

TODO list contains actual task waiting to complete. It would be development task or any other project related tasks, for example data collection by survey.

In progress

The items in this list are actually in progress, meaning that a particular task is started but not yet completed.

Done

Items in this list are completed.

Customize your Kanban

You could customize the Kanban according to your needs. Click on + Add column to add more column in Kanban.

enter image description here

Please input User Story as Column name. We would like to have a column containing all User Stories. You may want to have any other column, just add more column as your need.

Adding a Card in column

Please click on + button on the column to add a Card. You are required to input note in markdown format.

enter image description here

You could use the following markdown syntax in your card note.

  • @username for mentioning a particular Github user
    • Example: @hkbu-kennycheng to mention Kenny Cheng.
  • #issue_number for referencing an issue
    • Example: #1 for referencing issue number 1.
  • [title](url) to create a hyperlink
    • Example: [HKBU Computing](http://comp.hkbu.edu.hk/)
  • - item for building a list
  • 1. item for building a order list
  • - [ ] item for building a task list
  • :icon: for inserting a icon
    • please see this gist for complete icon list

To know more about what markdown could do, you may take a look on the Mastering Markdown guide on Github.

Convert card to a open issue

You could convert a card to issue by clicking ... on the Card and select Convert to issue.

enter image description here

Issue

Issue is a unit or post for idea discussion, bug report and tracking, feature request or any other abstract topic need to discuss and documented. It provides facility for discussion and progress tracking. Users could post reply in issue, labeling the issue, assign it to a user and marking status of a issue.

In Issues tab, all issues are listed. You could create new issue by clicking on New issue button.

enter image description here

Details of an issue

When you clicked into a particular issue, it is shown in a conversation style. Team members could post reply by the bottom text area.

Assignee

An issue could assign to none or more members. To do so, simply click on the Assignees :gear: button and input the member’s Github username.

enter image description here

Label

None or more label could be assigned to an issue by clicking on Labels :gear:.

enter image description here

Close a opened issue

Close issue manually

You could click on Close issue in reply for closing the issue manually.

Close issue with git commit

You could also close a opened issue by a git commit. When a commit message contains a close keyword followed by a issue number, it would close the issue automatically when pushing to Github. For example, Fix #2 by adding initial data in config/bootstrap.js. would close issue number 2.

Here is a the list of keywords.

  • close
  • closes
  • closed
  • fix
  • fixes
  • fixed
  • resolve
  • resolves
  • resolved

Reference: Closing issues using keywords