こんにちは、AGESTでエンジニアをしているタカです。
普段はプロジェクトのマネジメントや開発者としてプロダクトの開発に関わっています。
以前投稿したNotionでプロダクトバックログを管理するビューを作成するの記事の最後に触れたNotionのGitHubインテグレーション機能
と、その機能を活用した自分たちのチームのブランチとプルリクエストの運用フローを紹介します。
NotionのGitHubインテグレーション機能とは
Integrate GitHub – Notion Help Center
NotionのGitHubインテグレーションは、NotionとGitHubを接続し、GitHubのプルリクエスト (PR)とNotionのページに紐づける機能です。
機能としてはシンプルで、連携したGitHubのリポジトリにあるプルリクエストを自動または手動でNotionのページのプロパティとして表示するものになります。
ただ単に表示するだけではなく、プルリクエストのステータス(Open、Merged)が自動で反映されるので、Notionからプルリクエストの状態を即座に確認できるというメリットもあります。
なお、GitHubとNotionの連携設定は公式のヘルプを参照してください。両サービスの権限があれば設定は簡単に行えます。
プルリクエストの紐付け方法
紐付け(リンク)方法は下記のステップで行えます。
1. NotionのページにIDプロパティを追加する
2. 外部接続 GitHubプルリクエストプロパティを追加する。
1. ステータスプロパティがある場合、そちらとプルリクエストステータスの連携設定も可能
3. プルリクエストを紐づける
1. 手動の場合、プルリクエストのURLをプロパティに貼り付ける
2. 自動の場合、プルリクエストのタイトルにID名称(キャプチャの場合SBI-976)を追加する。
チームで導入した運用ルール
この機能をベースに直近の開発ではブランチとプルリクエストの運用方法を見直しました。
ブランチ
自分たちのチームのブランチ運用は git-flow を採用しています。
このフローにおいて機能改修を行うブランチ feature/⚪︎⚪︎の名称を feature/PBI-⚪︎⚪︎
としました。
意図としては、プロダクトバックログ(PBI)ごとになるべく1つのブランチで作業することにして、どのような改修作業を行うかを明確にしたいためとなります。
なお、hotfixによる急ぎの対応では、このルールの限りではありません。
プルリクエスト
こちらのルールでは、ブランチ名称を踏まえ、developのブランチに出すプルリクエストのタイトルには、必ず PBI のIDプロパティを含める
というルールにしました。
PBIをタイトルに含めることで、連携機能により、自動でNotion側のPBIにプルリクエストが反映されます。これにより、コードの修正が必要なPBIを受け入れ完了にする際に、自動反映されたプルリクエストがMergedの状態であるかを確認することも出来るようになりました。
なお、ブランチのルールには沿わないですが、細かい修正を行う際に、複数のPBIを1つのプルリクエストに紐付ける場合は、そのタイトルに全ての関連PBIのIDを含めることで、それぞれに自動的に紐付けが行われます。
導入してみて感じたメリット
本ルールを導入して分かったメリットは作業をした内容が可視化されることでした。
開発担当者にしてみれば、自分の作業内容を プロダクトオーナーやQA担当者をはじめ、チーム内に共有できますし、要件に対してどのような修正を行ったかも一目でわかるようになりました。
また、レビュアーから見ても、GitHubのプルリクエストをすぐ見れる導線が増え、ブランチやプルリクエストにPBIのIDをつけることで、1ブランチで複数のPBIの作業をすることが少なくなり、1回のレビューの量が減るメリットにもなりました。
おわりに
今回の内容は以上となります。
運用負荷がほぼゼロとうこともあり、今回設けたルールは自然とチームに受け入れられました。
GitHubとNotionの連携機能を使うことで無理なくバックログとプルリクエストを紐付けて可視化ができるので、プルリクエスト名を統一したい、バックログからプルリクエストを辿りたいなどで困っているチームのは、ぜひ一度試してみてください。
関連記事
続きを読むにはログインが必要です。
ご利用は無料ですので、ぜひご登録ください。