Skip to content

HowTo

Some best practices to use GitHub Projects to track daily tasks.

Create Repo

It is best to create a new repo first, preferrably not on your personal account but on your org account. Click the "New" button and give a good repo name.

Set it to "Private" for now, access can be granted later.

Create Project

Go to the repo > Projects > Under Link a Project select "New Project" and click it ... twice.

Give a good name and click Create.

Kanban View

Please create a Kanban View before adding tasks.

Todo, In Progress and Done are auto created, but please rename (and create new) to have 5 lanes.

Create swimlanes:

  • BackBurner ... newly created.
  • BackLog ... "Todo" renamed.
  • InProgress ... "In Progress" renamed.
  • Completed ... "Done" renamed.
  • OnHold ... newly created.

Create Labels

Clone the repo locally and use gh cli to create labels using the create_priority_labels.sh script to do this automatically. If gh cli is not already installed then, follow these instructions.

% git clone https://github.com/CCBR/vlog.git 
% cd vlog
% curl -O https://raw.githubusercontent.com/CCBR/TaskManagement/main/scripts/create_priority_labels.sh
curl -O https://raw.githubusercontent.com/CCBR/TaskManagement/main/scripts/create_priority_labels.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   499  100   499    0     0   1832      0 --:--:-- --:--:-- --:--:--  1868
% bash ./create_priority_labels.sh                                         
gh is in PATH
✓ Label "LowPriority" created in CCBR/vlog
✓ Label "MediumPriority" created in CCBR/vlog
✓ Label "HighPriority" created in CCBR/vlog
% rm -f ./create_priority_labels.sh 

Check in the browser (https://github.com/ORGNAME/REPONAME/labels) if the labels are created correctly. Also create new labels while you are there.

Create milestones

Lets now create weekly milestones. Assuming that the repo is already cloned and you have cd-ed into the repo folder as described above, run the following:

% curl -O https://raw.githubusercontent.com/CCBR/TaskManagement/main/scripts/create_weekly_milestones_for_whole_year.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  1481  100  1481    0     0   5498      0 --:--:-- --:--:-- --:--:--  5609
% bash ./create_weekly_milestones_for_whole_year.sh                        
gh is in PATH
gh milestone create --title 2023w19_0512 --due-date 2023-05-13
Creating milestone in CCBR/vlog

https://github.com/CCBR/vlog/milestone/1
gh milestone create --title 2023w20_0519 --due-date 2023-05-20
Creating milestone in CCBR/vlog

https://github.com/CCBR/vlog/milestone/2
gh milestone create --title 2023w21_0526 --due-date 2023-05-27
Creating milestone in CCBR/vlog
.... 

% rm -f ./create_weekly_milestones_for_whole_year.sh

Check in the browser(https://github.com/ORGNAME/REPONAME/milestones) if the milestones are created correctly.

Create Issues

There are many ways of creating new tasks (called as issues in GH). It is best to go to the issues page of the repo and click New Issue

Enter title, body, assign yourself, select label, milestone and then select click Projects to select the Project board that was just created.

NOTE: Multiple labels or assignees can be selected.

NOTE: Body of the issue supports Markdown. Screenshots can also be copy-pasted and GH handles storing image files automatically.

NOTE: An issue can be assigned to multiple "Projects".

Then, click "Submit New Issue". Now that the issue has been created "Status" under appropriate project can be set to .. say "BackLog"

Now you have created a new task and added it to the Backlog swimlane on your Kanban.

It is also visible on List View

NOTE: It is recommended to:

  • Rename the Views as "List" and "Kanban".
  • Add new columns (Labels, Milestone, and Repository) to the "List" view and save the changes.
  • Group by "Milestone" for better viewing and save again.

Issues can also be created from "List" and "Kanban" view directly, but they need to be assigned to the appropriate repo accordingly.


Last update: 2024-01-02
Back to top