❀ 前言 ❀

GitHub Projects Board,是一種整理 Issues 的方式。可用於速記,並讓專案更有規劃性的工具。
有點像是 Todo List,類似於 Trello,不過完全免費。

服用須知

若你有以下需求,則務必閱覽此文章或相關文章!

  1. 任務跟「程式碼」有關,Todo 用來管理寫程式的進度。
  2. 需要管理團隊工作流程

如果只是想記「日常待辦瑣事」,那可以用其他工具(更快速簡便的)比較適合!

摘要

這篇文章為基礎篇,會教你怎麼開一個 GitHub Projects Board,並且介紹一些基本的使用方法。

會長得像這樣。

❀ 正題 ❀

Step 1 建立 Repo

通常一個 Project 都會綁訂一個 Repository(以下簡稱 Repo)
因為一個 Project 會用來負責規劃與處理一個 Repo 的 Issues。

所以第一步,先創建一個 Repo。

到個人頁面按下 New。

不需要設定太多,只要取名即可。

選擇 Projects。(這邊我拿現有專案來用)

Step 2 建立 Project

進到此頁面後,選擇 New Project。

接著,可以選擇一個模板。
個人比較常用(我認為較基礎)的是 Kanban,可以從這開始嘗試,後面也能照自己所需擴充。

選擇右側 Feature 下的 Kanban(位置可能不同)。

區塊一,為你的 project 取名。
區塊二,把 「程式碼倉庫 (Repository)」跟現在這個「任務看板 (Project)」綁定。

(匯入 Repo 中所有 issues,並且之後開 issue 即進入 Project 的 Todo)。

區塊三,預覽使用此模板會長什麼樣子。

Step 3 認識 Project 元素

建立好後應該會出現此介面,選擇下方 Add item。

底下會變成一個輸入框,輸入 issue 的名稱(也就是任務名稱),點選上方,Create new issue。

他會自動開一個 issue 頁面。
可以寫一些描述也可以不寫(之後也可調整),寫好之後按 Creat。

點擊該 issue,右邊有一系列 issue 相關屬性可以設定。

  • Assignees:這個任務的負責人。
  • Labels:這個任務的屬性分類(bug, documentation…)
  • Projects:在 Board 上的狀態
    • Status:就是 Board 上的 Col,有 Backlog, Ready…
    • Priority:緊急程度
    • Size:工作量大小
    • Estimate:預估工作時間
    • Start date:開始時間,若有填日期 Roadmap(甘特圖)就會有東西
    • Target date:結束時間,若有填日期 Roadmap(甘特圖)就會有東西
  • Milestone:里程碑,一個大進度,like version 1, beta 1.0…
  • Relationships:任務間的依賴關係,完成他之前要完成誰,或完成誰之前要完成他,或他是一個父類別。
  • Development:自動建立一個分支,用來解此 issue。

Label、Milestone 設定

可能一開始這兩個東西的內容不是我們要的,可以去 [你的 Repo]/Issues 中,應該會看到以下畫面。

Label、Milestone 可以在這裡設定。
也能看到剛剛開的 issue。

Project Field 設定

而剛剛提到的 Status、Priority、Size…會在 Board 的右上方,見以下圖片。

點三個點 > Setting,就會有相關設定。

Step 4 認識 Project Filter

一切設定完之後,可以開一些卡片練習設定 Priority、Size 等。

如同一開始的介紹,隨便開卡練習。

接著,當內容多起來之後,可以使用以下工具 Filter。

Filter 中有許多屬性。

非常推薦大家自己手動玩玩,看他會長什麼樣子。
先亂點沒關係,他會出現預覽狀態,只要按下 Discard 就會還原。若想保存則選 Save。
以下是簡單的文字介紹:

  • Fields (顯示欄位)
    • 功能: 決定卡片上要顯示哪些資訊。
  • Column by (直欄分組)
    • 功能: 決定直向的欄位是依照什麼分類。
    • 預設: Status (Todo / In Progress / Done)。
  • Swimlanes (橫向泳道)
    • 功能: 決定橫向的列是依照什麼分類。這會把看板切成好幾層。
    • 預設: none。
  • Sort by (排序)
    • 功能: 決定同一欄位內,卡片的上下順序。
  • Field sum (數值加總)
    • 功能: 在每個欄位的頂端顯示一個數字。
    • 用途:確保任務數、任務時數,是否卡在某階段太久。
  • Slice by(切片)
    • 功能:在左邊列出任務統計數,需決定依照什麼分類。
    • 預設: none。

❀ 後話 ❀

GitHub Project Board 雖然一開始用起來不太習慣,
但能感覺到它的強大之處,也有一些能自己設定的自動化流程,
有機會再寫一篇分享!