NotionのページIDを利用したGitリポジトリ管理の提案
※この記事は、Luup Advent Calendar の21日目の記事です。
最初に
こんにちは、2022年11月からLuupにジョインしたSREチームのにわです。
皆さん素晴らしい技術的な記事を書かれているので、今回はひと休憩ということで、Notionにおけるタスク管理ツールとしての活用方法をアイデアとして共有したいと思います。
経緯
ここで一度、Gitに関する経験談と発想の着眼点について少しお話させてください。
前の職場でJiraとGitHubを併用して使っていました。
そのチームで運用されていたGitブランチ命名規則は例としてfeature/SRE-101
というものでした。
この方法に感銘を受けました。
そしてこれは、おそらくJiraを使われている方たちにとって、この手法は定番となっていると思います。Jiraのタスク番号と機能追加・改修を込めたものです。
また、Redmineの場合でも、feature/sre-pj-101
のようにプロジェクトIDとチケット番号を付けて、ブランチを作成されている方もいると思います。
この命名規則には、ブランチ名を考えずに何をしているか伝えられる利点があります。
ところで、あまりJiraやRedmineをしらないという方のために、豆知識。
- Jiraでは、タスクの作成時にプロジェクトのプレフィックスとともに自動的に番号が採番されます。
- Redmineでは、チケットの作成時に自動的に番号が採番されます。なお、プロジェクトのプレフィックスはなし。
そこで、Notionでこのブランチ命名規則を利用したいと考えました。
本題
さて、Luupでは、河野さんの記事でもある通りNotionを使用しています。その中で、SREチームとしてNotionのカンバン方式でタスクを管理しています。
私の経験として、今までRedmine、Azure DevOps、Jiraという変遷でプロジェクト管理ツールを使ってきました。
今回、初めて出会ったNotionのタスク管理機能。どのように使えるのか楽しみと思っています。
目的
- Gitのブランチを手軽に考えずに作る
- URLを張らずに、この件だけどタスクIDと伝えやすいようにする
- 上記内容をアイデアとしてSREチーム内で提案する
概要
⚠️現段階でこのアイデアは、未適用です。参考としていただければ幸いです。
NotionにはまだそのタスクID的なものが存在しなかったため、ページIDを利用して下記のようにTask Id
として作成してみました。
add("SRE-", slice(id(), 0, 5))
例: 生成されたNotionのTask Id
そうするとSRE-6181a
という値がカラムに出力されます。
SREチームではより柔軟で拡張性を高くし、レビューをしやすくためにTerraformを利用したインフラのコード化を進めています。その中で、このTask Id
を利用してGitブランチ名として提案できればと考えています。
課題
ℹ️ 現段階では課題があります。
それはタスクIDをカンバンの一覧で探す際に、数式(formula)の内容を検索では探せないことです。
対策として以下のように、赤く囲われた場所でタスクのフィルターで探すことができます。
例: Notionでのフィルターを利用した絞り込み
注意していただきたいのは、黄色枠の場所でリセットを押すことです。
理由は2つあります。
- 保存を押してしまうと、見ているNotionのViewのフィルターが保存されてしまうこと
- 後から使うときに、フィルターがそのままの状態になりほかのタスクが見られないこと
6/26追記
以前機能の要望をしたUnique IDが使えるようになりました。
これでより便利にタスクやデータベースが検索可能になりました。
最後に
Notionは、リンクで親課題・子課題の関係を関連付けられ、必要な情報を集約できる素晴らしいツールです。
私のつたない英語でNotionに対して機能要望を送ってみました。これによってタスクIDを正式に実装されることを楽しみに待ちたいと思います。
Feature request for task ID in Notion
Hello Notion team,
First, we are already use Notion, and it has been great helpful by your product. Thank you so much.
Now, I would like to suggest as a feature request you about the task feature on Notion.
I would be appreciate if you can implement either my following idea or something to think your idea.
- Searchable formula value after converted by
string()
ortext()
- means: After becoming text value, it can be search in search box
- Implements special ID for task with searchable on search box as short within 8-10 characters
Because we would prefer to use specific task IDs in git branch names, and easy communication by task number only by my team.
At the moment, it is still a bit hard to search witout filtering on Kanban if I treat the task like SRE-6181a
such as Jira task. The ID was generated by formula that is add("SRE-", slice(id(), 0, 5))
. In detail. If it could be easily searchable, it would be more convenient and utilised for us.
I would strongly hope that you and your colleagues will implement this feature.
また、11月から入社してみての感想です。まだ慣れ始めたばかりですが、業務の中で自分の得意な領域を生かすことができています。そして、いろいろな知識を持った方がたくさんいます。皆さんと協力して、これからのサービスインフラを拡充し、サービスの利用者の方に安定的で品質の良いサービスを提供できるようにしていきたいです。
別の案があるので話してみたい、サービスに興味がわいたので話を聞いてみたい、という方はぜひ気軽にご連絡を頂けたら幸いです。
Discussion