GitHub Discussionsを使ってメジャーアップデート管理をしてみた
IT技術
GitHub Discussionsの機能を有効化する
昨年遂にGitHub Discussionsがベータ版から正式版になったとのことで、お試しでチームで使ってみました!
しかし、そもそもGitHub Discussionsが何か知らない方も多いのではないでしょうか?
それもそのはず!なぜかデフォルト設定がOFFのため、Settingから機能をONにしないと表示すらされません。
そのためGitHub Discussionsが何かを説明する前に、まずは設定をONにして画面を見てみましょう!
手順
- リポジトリのメインページにアクセスする
- リポジトリの Settings をクリックする
- Features に Discussions にチェックする
下の方のFeaturesにDiscussions という項目があるのでチェックを入れる
するとこのようにタブに[Discussions]と表示されます!これで準備OKです!
GitHub Discussionsとは?
GitHub Discussionsと言うだけあって、議論を活発に行うためのツールです。
元々はオープンソースコミュニティのメンバーが、GitHub上でより効率的にコミュニケーションが取れるようにサポートするためのツールとしてリリースされたようです。
議論と言っても色々なシチュエーションを想定しているようで、デフォルトのカテゴリーだけでもこのようなものがあります。
- Announcements
- General
- Ideas
- Q&A
- Show and tell
Announcements:リリースノートとして使う
例えばお知らせ情報の1つでリリースノートとしても使いやすいようです。
というのもいつのまにかGitHub ReleaseにGitHub Discussionsのスレッドを紐付ける機能が追加されているようです。(以下リンク先のリリースの作成⑩)
ただのリリースノートとして使うだけならあまりメリットはないですが、リリースごとに気軽にメモを残したりディスカッションが出来るようになるので、使い方によっては便利かもしれません!
Ideas:アイデア帳として使う
私たちのチームでは出来るだけissues管理画面では複数ページを跨がない数に収めるようメンテナンスを心がけています。
しかし開発していて「UIの小さな改善案をissueに残してたら気づけばissueが多くなりすぎた・・・」という経験はないでしょうか?
このような場合にもタスクやバグなどはissueに書いて、アイデアはDiscussionsに書くといった運用ルールを決めておけばissue管理がスッキリします。
いざ対応することが決まればCreate issue from discussionというボタンを押せば簡単にissueにすることもできます。
Q&A:質問箱として使う
ついSlackなどでやってしまうエンジニア同士のQ&AをDiscussionで行えば強力なナレッジツールになります。
エラーが起きた、環境構築に躓いたなどの知識をGitHub内に蓄積すれば、新人が入った場合にもまず検索してみてと言うことができます。
実践!メジャーアップデートの管理
ここからは私たちが実践した事例を紹介したいと思います。
今回GitHub Discussionsを使うことで解決したかった課題はこちらです!
- APIにメジャーアップデートが入った場合に後から情報を追うのが大変
- リリース前の最終確認として全てのメジャーアップデートの対応が完了しているかチェックが大変
このような課題を解決するためにGitHub Discussionsの機能を使いました。
カテゴリーを追加する
デフォルトのAnnouncementsを使っても良かったのですが、今回は新しいカテゴリーを作成しました。
カテゴリーを作るには、Categoriesの右上にある編集ボタンを押します。(画像は既にカテゴリーを作成後のため表示されてます)
すると、このような画面が表示されるので New Category を選択します。
最後にカテゴリーのアイコン、名前、Discussion Format を設定します。
これでカテゴリーの作成は完了です。
お知らせを作成する
では早速メジャーアップデートのお知らせを投稿してみたいと思います!
New discussionを押して、メジャーアップデート内容を記載します。
仮にバックエンドがAPIをこのように変更したとすると、イメージとしてはこんな内容を書いてメンバーに共有します。
対応完了のチェックを入れる
バックエンドがメジャーアップデートを共有したら、今度はフロントエンド側がAPIコール部分の修正を入れます。
そして修正を開発ブランチに入れたらメジャーアップデート対応完了となりますので、さきほど作成したGitHub Discussionsを対応済みのチェックを入れます。
やり方は2パターンあって好みの方をチームで決めて使えばいいかなと思います。
- 「対応済み」ラベルをつける
- Answeredにチェックをつける
2つ目のAnsweredにチェックをつけるというのは、カテゴリー作成時にQuestion / Answerを選んでおけば議論のトピックが解決した時にマークをつけることができます。
やり方は簡単で、先ほど作ったお知らせに何かコメントをします(例えば「対応完了しました」など)
するとコメントに`Mark as answer`というボタンがあるのでこれにチェックを入れます。
ただしカテゴリー作成時にQuestion / Answerを選んでないと現れないので注意が必要です。
最終的にMajor Updateの一覧にはそれぞれこのように表示されます。
こうすることで私たちのチームではメジャーアップデートの一覧と対応状況の管理をスムーズに行うことができました!
今後の課題
GitHub Discussionsを使ってみての課題もありました。
私たちは普段GitHub上でメンションを送ったらSlackにもメンションが通知されるようにしているのですが、どうもGitHub Discussions上でメンションをつけてもSlackに飛んでこないため、毎回Slack上で「〇〇更新しました」や「〇〇にコメントしました」と共有しなければなりません。
その辺りを調査してみるとGitHub Actionsで簡単に出来そうな記事がありました。
https://times.hrbrain.co.jp/entry/2021/11/16/github-discussions-noti
今度この記事を参考に通知の設定を試してみようと思います!
ライトコードでは、エンジニアを積極採用中!
ライトコードでは、エンジニアを積極採用しています!社長と一杯しながらお話しする機会もご用意しております。そのほかカジュアル面談等もございますので、くわしくは採用情報をご確認ください。
採用情報へ
「好きを仕事にするエンジニア集団」の(株)ライトコードです! ライトコードは、福岡、東京、大阪、名古屋の4拠点で事業展開するIT企業です。 現在は、国内を代表する大手IT企業を取引先にもち、ITシステムの受託事業が中心。 いずれも直取引で、月間PV数1億を超えるWebサービスのシステム開発・運営、インフラの構築・運用に携わっています。 システム開発依頼・お見積もり大歓迎! また、現在「WEBエンジニア」「モバイルエンジニア」「営業」「WEBデザイナー」を積極採用中です! インターンや新卒採用も行っております。 以下よりご応募をお待ちしております! https://rightcode.co.jp/recruit