NetBeans整合GitHub Issues / Integrate GitHub Issues into NetBeans Tasks
大家晚安,我是電腦重灌後很多設定一天沒還原到位,就一天覺得渾身不對勁的布丁。今天要跟大家介紹的是NetBeans跟GitHub Issues的整合:GitHub Issues外掛。NetBeans可以透過安裝GitHub Issues外掛,再並加上一些設定,就能讓GitHub Issues問題回報系統整合到NetBeans之中。如果你使用NetBeans做開發、也用GitHub做版本控制的話,非常推薦你試試看這個功能。讓我們來看看怎麽做吧。
NetBeans整合開發環境 / NetBeans IDE
NetBeans是比普通的文字編輯器還要強大的整合開發環境(Integrated Development Environment)。它提供了語法和語義上的程式碼標亮,讓開發者容易重構程式碼。同時它還擁有許多好用的工具,能夠用於開發Java、PHP、Node.js以及各種程式語言中。NetBeans可以安裝在各種支援Java的作業系統上,包括Linux、Windows、Mac OSX和BSD。
NetBeans是以模組化架構建構而成,所以可以輕易安裝各種外掛套件,並有統一的更新和管理外掛的功能。
雖然目前NetBeans已經轉移給Apache軟體基金會管理,最新版本為2019年7月發佈的11版功能更新。
Step 1. 下載與安裝外掛 / Plugin download and install
NetBeans外掛 / NetBeans Plugins
- NetBeans Plugin Portal: http://plugins.netbeans.org/PluginPortal/
除了NetBeans在Plugins功能中提供的預設列表之外,我們還能從NetBeans Plugin Portal找到各種好用的外掛,其中一個外掛就是本文要講的GitHub Issues。
GitHub Issues外掛是讓NetBeans能夠支援GitHub Issue Tracker的功能。Issues一般被翻譯做「待解決的問題」,有點類似系統的待辦事項的感覺。不過翻譯做「問題」好像很怪,一般大家還是會直接用issue稱呼它。
繼續回到GitHub Issues外掛上,它提供的功能包括了建立新的issue、編輯issue、建立條件搜尋、編輯和刪除issue的評論(comment)、建立標籤(label)和里程碑(milestone)。這邊許多功能都是直接對應GitHub Issues的內建功能,如果你對這些功能不熟悉的話,那把GitHub Issues當作單純的待辦事項和討論區也是很好用的。
GitHub Issues外掛下載和安裝 / Download and install GitHub Issues plugin
- GitHub Issues下載網址:http://plugins.netbeans.org/plugin/57646/github-issues
首先我們先開啟GitHub Issues外掛的網頁,按下中間的「Download」下載外掛檔案nbm。它的檔案名稱可能會像是「1568024974_netbeans-github-issues-0.5.1.nbm」。
再來打開NetBeans,從工具列的「Tools」開啟「Plugins」。
進入上面頁籤「Downloaded」,然後按下「Add Plugins...」。
選擇剛剛下載的nbm檔案,開啟它。
這時候會看到GitHub Issues外掛已經出現在列表中,預設會幫你打勾起來。請按下左下角的「Install」安裝。
首先會列出你即將要安裝的外掛列表。請按下「Next」進入下一步。
接著要確認授權條款。請勾選「I accept the terms in all of the license agreements.」,然後按下「Install」開始安裝。
開始安裝之前會先請你確認憑證(certificate)。因為GitHub Issues是自己簽署自己的憑證,沒有第三方公正機構能夠保證它的安全性。如果你不是很介意這件事情的話,按下「Continue」繼續即可。
很快的外掛就安裝完成了,按下「Finish」吧。
為了要能夠讓安裝的外掛生效,我們需要重新啟動NetBeans。至此GitHub Issues外掛的下載和安裝就完成了。
Step 2. 取得GitHub的個人存取令牌 / Generate GitHub's personal access token
- GitHub個人存取令牌:https://github.com/settings/tokens
為了能夠讓NetBeans能夠控制GitHub Issues,我們必須要在GitHub上產生一個獨一無二的密碼令牌,供NetBeans使用。
首先讓我們開啟GitHub產生個人存取令牌(personal access tokens)功能的網址,按下「Generate new token」。
接下來會出現「New personal access token」設定新的個人存取令牌的頁面。請在Note處加入說明,例如「NetBeans GitHub Issues」。然後在下面的「Select scopes」裡面,勾選「repo」。
然後再將網頁往下捲,按下「Generate token」的按鈕。
接著會回到個人存取令牌的頁面,列表最上方出現了我們剛剛新增的令牌。令牌是以一連串英文與數字所組成的字串,每次產生的令牌都不一樣。舉例來說,我這串令牌的部分文字是「46ab......ee88」。
請按下剪貼簿按鈕複製這串令牌,並好好保存在其他地方。必須注意的是,這個令牌只會在此處顯示一次,如果你忘記或弄丟的話,就要重新產生令牌,而NetBeans也就要重新設定令牌。因為不能再次取得同樣的令牌字串,請務必好好將它保存在其他地方。
到這邊為止,我們成功取得GitHub個人存取令牌了,讓我們進入下一步吧。
Step 3. 連結GitHub Issues / Connect GitHub Issues
回到NetBeans上,我們要來開啟Tasks任務面板。請在上方工具列的「Window」中開啟「Tasks」。
然後在Tasks任務面板中找到「Repositories」,按下右邊的「Add Repository」新增儲存庫的圖示。
開啟「Create Task Repository」對話視窗,請在「Connector」裡面選擇「GitHub Issues」,然後在OAuth Token裡面貼上前面所取得的令牌。
然後按下「Add Repository」。
接下來NetBeans會跳出一個下拉式選單,請你選擇要連結的GitHub儲存庫。這邊我以Electron Sticky Notes便利貼儲存庫為例。選好之後按下「OK」。
接著NetBeans會幫你把下面的空格填好對應的資訊。然後我們還要按下「Connect」按鈕,確認是否能夠順利存取。
連結成功。請按下「OK」確定。
設定完成。請按下「OK」離開。
這時候NetBeans的Tasks任務面板就會顯示已經連結的GitHub儲存庫的Issues,這邊列出了Electron Sticky Notes還有六個issues。
對照到Electron Sticky Notes的Issues,兩者都能列出一樣的issues。
到這邊為止,我們成功讓NetBeans整合了GitHub Issues的功能囉。
使用GitHub Issues外掛 / Instruction of GitHub Issues plugin
NetBeans的GitHub Issues外掛要如何使用呢?我覺得最好用的功能,就是列出目前還沒解決的issue的編號。有了這個編號,例如我們要處理編號23的issue,我們就能在Git遞交(commit)的時候加上「#23」,表示這次遞交是跟編號23 issue相關。如果遞交訊息寫的是「close #23」,那麼在推送(push)到GitHub的時候,編號23 issue就會被設為已完成(closed)。
這是我其中一個已經完成的issue,你可以看到裡面有幾次遞交都跟這個issue相關,最後我在19天前的某次遞交中將該issue設為完成。
(網頁截圖:GitHub Features: Project management)
這個小技巧能夠大幅度加速專案開發的效率。如果你也跟我一樣,用GitHub Issues作為專案管理工具的話,請務必學習在Git遞交時加上「#id」吧。
很難用的外掛 / GitHub Issues plugin: unfriendly UI
至於GitHub Issues外掛的其他功能嘛,我只能說是堪用。原本在GitHub Issues網頁上的功能,在外掛中大致上都有對應的功能。但GitHub Issues網頁寫得實在是太好了,這個用Java寫成的外掛,就相對覺得難用,不如直接開網頁來操作。
不過裡面還是有幾個功能,是我覺得在NetBeans中操作會比在GitHub上操作還要快的功能。
第一個是「Create new task」,就是開一個新的issue。很多時候我們會在開發過程中又遇到新的問題,這時候可以直接在這裡開一個新的issue,簡單用文字敘述一下即可。
不過,如果要上傳圖片,用圖片來說明問題發生的地方的話,那就得要用GitHub Issues網頁版了。
另一個功能,就是「Show in browser」,開啟網頁版的GitHub Issues。說真的,與其用難用的GitHub Issues外掛,還不如直接用網頁版開啟比較簡單。
結語 / In closing
其實我在2018年的時候就已經在NetBeans上使用GitHub Issues外掛。我本來在那時候有想過要寫一篇文章來介紹如何使用。畢竟你看,上面這一串下來,其實在NetBeans上安裝GitHub Issues外掛是有點複雜的。此外掛的作者junichi11有在GitHub儲存庫上介紹如何安裝,不過寫得也是挺簡單的,要架起來可還是要摸索好一陣子。
但是這外掛用一陣子之後,有感於它的介面實在是比不上網頁版,後來我就打消了為它寫個介紹的念頭。直到最近我又在開發各種專案,時常頻繁使用GitHub Issues的功能,才想要把它裝回NetBeans使用。
總之,雖然我抱怨了這麼多,但NetBeans跟GitHub的整合還是很方便的。希望有志於開發複雜系統的同道們,不妨也來試試看NetBeans吧。
那麼這次在NetBeans中整合GitHub Issues的教學就到這裡了。寫到最後,我有些問題想問問大家:
- 你用過issues tracker 問題追蹤器嗎?你是用那一種問題追蹤器呢?
- 你用過GitHub Issues嗎?你都是怎麽用它的呢?
- GitHub Issues支援標籤(labels)和里程碑(milestone),相當適合作為專案管理工具。你看過那個專案是用GitHub Issues作為專案管理的嗎?
歡迎在下面的留言處跟我們分享你的想法。大家的意見是我繼續分享的動力喔!如果你覺得我這篇教學實用的話,請幫我在AddThis分享工具按讚、將這篇分享到Facebook等社群媒體吧!
感謝你的耐心閱讀,我是布丁,讓我們下一篇見。