GitHub Projects で日常のタスク管理を行う

5 min read読了の目安(約4600字

はじめに

みなさん.タスク管理は得意ですか? 僕はめちゃくちゃ苦手です.今まで数多くのタスク管理アプリや,TODOアプリをインストールして来ましたが,タスクの登録や削除をまともにできたことがありません.同様の理由で,ディスプレイに付箋を貼る作戦も失敗しました.意識してタスク管理アプリを開くことはほぼ無理と判断したので,普段から使うサービス・ツールでタスク管理を同時にしたいと考えました.要は人間生活が苦手な人向け

要件

主な要件は以下の項目です

  • 普段から使うサービス・ツール
  • PCとスマホどちらからでも使うことができる
  • 複数人で編集することができる

これらを満たすサービスを探したところ, GitHub があるじゃないかと思ったわけです.

  • 普段から開発に使っている
  • スマホ版のネイティブアプリも出ました
  • GitHubなのでもちろん複数人で編集することができます

ばっちりですね

GitHubとはなんぞやという人はxxxあたりを見ると幸せになれると思います

設定

まず,いままでの経験を踏まえて,どういうサービスだったら自分が使わなくなるかを考えました.要件と重複する部分はありますが,

  • タスク管理のためだけのサービス
    -> すぐに開かなくなる
  • 見るべき場所が多い, ごちゃごちゃしている
    -> 追加しなくなる
  • 期限順にソートが行えない.ソートを行うのが難しい
    -> 複数のタスクを考えたくないため
  • 通知が飛んでこない
    -> やり忘れ防止のため,これは GitHub の機能では実現が難しい

ということで,GitHub の Projects という機能を使うことにしました.通常はチームで開発するときに使う機能ですが,日常のタスク管理にも十分転用できるためです.

Issues のラベルを使いたかったので,リポジトリを新しく作ることにします.ラベルを設定することで,色による可視化,ラベルについての串刺し,入力の高速化などの効果が望めるからです.


Newをクリックします.


設定を色々書きます.Add a README file はチェックしておいたほうがいいです.


リポジトリを作ったら,Project を作ります.いくつ作っても構いませんが,見るコストがあがるのでなるべく少ないほうがいいと思います


名前と説明を書きます
Project template のおすすめは Automated Kanban です.Issue を登録する際に,Projectを指定すると,自動でタスクカラムに追加してくれたり,Issue を close したときに,自動で Done カラムに移動してくれます.カラムは増やすこともできますし,名前を変えることもできます.よしなにやりましょう


Issues -> Labels を設定します.科目などがあると便利だと思います


また,Issue Template を設定することで,Issue の設定を高速化,定型化しました.これをすることで,Issue を登録することがとても楽になります.

(\cdots ->) Settings -> Options -> Features -> Set up templates


Custom template をクリックして,マークダウン形式でいろいろ書いていきます.
自分はとりあえず3つ作りました.これはある程度数があっても良いと思います.


例えば やること(課題) のテンプレートはこれです

Issue default title のプレフィックスを YYYY/MM/DD にすることで,擬似的に期限の設定を強制することができます.また,後にソートを行うのも楽になります.

Issue template に日本語を設定することは可能ですが,
repository-name/.github/ISSUE_TEMPLATE/ のファイル名がすべて - に置換されてしまいます.もし同文字列長の Issue tempalte が作られる場合は,同名ファイルが存在することになり置換されてしまいます.これを回避するためには, ---.md をリネームする必要があります.こちらは日本語にしても問題なく動くので好きにリネームしていいです


Issue を登録する画面に Issue template が表示されるようになりました


New issue をクリック


Labels と Projects だけを設定した状態です


Submit new issue をクリックします.Projects に飛ぶと,無事タスクリストに追加されていることがわかります.ちなみにこれで草が1つ生えます


1つ1つのことを card と呼びます.名前をクリックするとこのように色々見れます.


ここからある程度の設定を行うことができます. Close issue をしてみましょう.正しく設定できていれば,card が Done に設定されている場所に遷移するはずです.僕の場合は やった がそれに該当します

遷移したことが確認できました.便利です.


次に,アクセス性を高める設定を行います.自分のプロフィールページに移動します.
Pinnedという場所があります.ここに自分のリポジトリを6つまでピン止めできます.設定すると以下のようになります.human-life が設定されているのが確認できると思います


最後に README.md を設定します.README はリポジトリのトップページに設定されるので,ここに色々リンクを置くと便利になります.


README.md
# 人間生活

## 説明
たつおが人間生活を送るためのリポジトリです.

## プロジェクト
- [やること・やりたいこと](https://github.com/t4t5u0/human-life/projects/1)
- [予定](https://github.com/t4t5u0/human-life/projects/2)

## Issue 
- [やること(課題)](Issue_templateのリンクを置く)

## リンク
- [link](自由に記述)

これで設定は終わりです.お疲れ様でした.人間生活頑張りましょう
実物を置いておきます 人間生活

使ってみた感想

GitHubは頻繁に開くので目に入りやすく,とてもよさそうです.また,スマホアプリからも簡単に使えるのがよいと思います.通知問題は解決の道を模索中です.また,同じコースの友達を巻き込むことでダブルチェックになり,登録漏れややり忘れが少なくなる可能性が高まるので,友達を誘ってみるといいと思います.友達を誘ったおかげで救えた課題がありました.

おわりに

この記事は FUN advent calendar 2020 の9日目の記事です.

https://adventar.org/calendars/5150
昨日の記事はSaKuさんによるソフトウェア開発PBLでGraphQLを導入した話です.GraphQLについての記事でした.とても面白かったです.今度僕も入門したいです.
明日の記事はSyuya AbeさんによるPythonで統計力学もしくは量子計算に関する話です.複雑系の先輩なので楽しみです.

Zennをはじめて使いましたが,使いやすかったです.