GitHub Issue 有點像是專案管理系統內管理工作事項的功能,但它能達到功能更多:無論是個人或公開專案,你都可以透過建立 issue 來表達自己的想法,如 回報 Bug、強化既有功能、建立工作事項與討論專案規劃。 每一份 issue 皆公開且有完整紀錄,能整合程式碼並且配合後續 CI/CD 功能確定問題是否解決。issue 可以搭配 通知(Notifications) 功能,讓與會者隨時了解此 issue 處理情況。
在此篇文章,我們將簡單介紹如何建立 Issue 與自訂 Labels
開啟上一篇文章所建立的 Repo > 點選上方 issue 功能 > 點選右邊 New Issue 按鈕
輸入 title 與 comment (comment 支援 markdown 語法且擁有預覽功能),並在右邊 Assignees 區域點選 assign yourself,將工作指派給自己
Issue 中也提供 Labels 功能,方便我們進行整理與確認每個 Issue 的優先權。預設已經內建 9 種 Labels,理所當然,你也可以依據需求自訂 Labels。以下圖為例,內建的 Labels 包含:bug (問題)、documentation (文件), duplicate (重複問題), enhancement (新功能或請求), good first issue, help wanted(需要額外關注), invalid(不正確), question(問題), wontfix(不會進行)。
我們將此 issue 定義為 enhancement,完成後點選 Submit new issue
建立好 issue,可以看見整個 issue 發展的歷史紀錄,包含:
這個 issue 可能經過轟轟烈烈的討論或辛苦的修正後,在獲得解決後想要關閉此 issue,你可以將畫面拉到最底端,選擇 Close issue 即可。
另外,你可能也發現有另外三個功能可以連結 issue,分別是 Project, Milestone 與 Linked pull request。前兩者與專案管理有關,你能將 issue 與專案或自己定義的 milestone 建立連結,方便進行追蹤;後者與 repo 內容有關,可以與發出的 pull request 進行連結,當檢視程式碼(或內容)歷史紀錄時,可以了解與哪個 issue 有關。
若你有使用過其他較完整功能的 CI/CD 工具 (如 Azure DevOps 與 Gitlab),應該會覺得相當熟悉...
GitHub 本身即是一個完整 DevOps Tools
若你發現內建的 Labels 並沒有自己想要的情境,你也可以自己定義一個。在 issue 畫面中,點選 Labels 按鈕
在 Labels 管理畫面,點選右邊 New Label
輸入名稱、描述與色碼(有隨機按鈕可以點),點選 Create Label,即完成自訂 Labels。
看完整篇文章,你應該已經了解如何管理 Issue 與自訂 Labels,更重要的是了解 issue 可以與其他功能進行連結,方便所有與會人員隨時進行檢視,完整掌握 Repos 發展的來龍去脈。 Repo Owner 能透過 issue label 功能進行管理,確認專案發展皆在控制之中。在下一篇文章,我們將繼續介紹 較進階的Milestone、Tag 與 Release 功能。
若喜歡我的文章,歡迎追蹤與分享,謝謝。