GitHubインテグレーション

NotionとGitHubを接続し、ワークフローを同期します 🧮
NotionのGitHubとのインテグレーションは、開発ワークフローのシームレスな接続を可能にします。Notionページ内に直接GitHubのコンテンツをリンクして、プルリクエストをNotionタスクに同期し、GitHubの情報をNotionデータベースに取り込んで、プロジェクトのステータスをチームに共有できます。ここでは、インテグレーションのさまざまな機能やその設定方法について解説します。

備考: GitHub組織に接続できるNotionワークスペースは1つだけです。別のNotionワークスペースをGitHub組織に接続する場合は、まず現在のNotionワークスペースを接続解除する必要があります。
NotionとGitHubのワークスペースを接続するには、Notionのワークスペースオーナー、およびGitHubのorg adminの両方の権限を持っている必要があります。
- サイドバーの - 設定を開きます。
- 自分のコネクトをクリックし、- GitHub(ワークスペース)を見つけます。
- 接続をクリックし、認証フローを完了します。
Notion内で直接、ファイルまたはファイル内の特定の行にリンクします。 参照するコードを最新にしたい場合は、特定のコミットやブランチからリンクすることもできます。
- GitHubから目的の行の パーマリンク をコピーします。 
- Notionページに貼り付けて - プレビューとして貼り付けを選択し、コードをページに埋め込みます。
GitHubのリポジトリ(プルリクエストやイシューを含む)をNotionにデータベースとして同期できます。手順は以下の通りです。
- GitHubで、プルリクエストやイシューへのリンクをコピーします。 
- Notionにリンクを貼り付け、 - データベースとして貼り付けを選択します。- まだの場合は、サインインしてNotionをGitHubアカウントに接続するよう促されます。 
 
- 同期データベースがテーブルビューで表示され、GitHubのプロパティがすべて自動的に追加されます。 
- データベースへの情報の入力が自動的に始まり、ページから離れても同期は継続されます。 
サポートされているGitHubプロパティ
以下は、サポートされているGitHubプロパティのリストです。
| タイトル | 担当者 | 
| 説明 | 状態 | 
| PRまたはイシュー番号 | 作成者 | 
| 作成日時 | マージ、更新、終了の日時 | 
| レビュアー | 
現時点では、ラベルとタグはサポートされていません。
ユーザープロパティ
IDマッピングを使用して、GitHubのIDをチームのNotionプロファイルに接続できます。手順は以下の通りです。
- GitHubのメール設定に移動して - Keep my email addresses private(メールアドレスを非公開にする)のチェックボックスがオンになっていないことを確認します。
- GitHubプロファイル( - https://github.com/{あなたのユーザー名})でプロファイルを編集し、Notionで使用しているメールアドレスを追加します。
これにより、自分がメンバーであるワークスペースに対して、同期データベースに自分のIDがマッピングされます。

GitHubのプルリクエストをNotionにリンクするには、データベースにプレフィックス付きのユニークIDプロパティが必要です。
Notionデータベース内のGitHubプルリクエストプロパティは、タスクのステータスを部門横断的なチームに自動的に通知してくれます。また、ロールアップ、数式、フィルターで使用できる属性も多数あります。
- Notionデータベースで - +をクリックし、新しいプロパティを追加します。
- GitHubプルリクエストプロパティを検索してクリックし、データベースに追加します。
- データベースに ユニークIDプロパティ があることを確認してください。このプロパティがデータベースにまだない場合は、追加されます。 
- GitHubプルリクエストプロパティを使用するには、GitHubアカウントがNotionに接続されている必要があります。 接続したら、NotionタスクのユニークIDをプルリクエストに追加するか、GitHubプルリクエストURLをプロパティに貼り付けます。 
Notionはデフォルトで、NotionタスクからGitHubへのバックリンクを有効にします。 これをオフにする場合は、データベースのGitHubプルリクエストプロパティをクリックし、プロパティを編集 を選択したら、GitHubのリンクバックをオフに切り替えます。
タスクステータス更新の自動化
このGitHubプルリクエストプロパティを使うと、Notion上のタスクのステータスを自動的に更新することができます。
- GitHubプルリクエストのプロパティ名の部分をクリックして、- プロパティを編集を選択します。
- 自動更新のセクションで、ドロップダウンメニューから自動更新したいステータスプロパティを選択します。
- GitHubプルリクエストのOpened、Review Requested、Approved、Mergedに対応するタスクステータスを選択します。 
- これで、GitHubでプルリクエストに進捗があると、Notionのタスクステータスが設定に基づいて自動的に更新されるようになります。 
リンクされたNotionタスクに、GitHubのアクティビティを表示することもできます。 これを行うには、データベース内のGitHubプロパティをクリックし、プロパティを編集 を選択したら、アクティビティコメント をオンにします。

マジックワードでGitHubプルリクエストをNotionタスクにリンク
GitHubプルリクエストを1つ以上のNotionタスクにリンクする場合は、プルリクエストの説明にマジックワードとNotionタスクのユニークIDを入力するだけです。
マジックワードは、NotionタスクとGitHubプルリクエストとの間の関係を確立するのに役立つキーワードのことです。 次の単語のどれでも使えます。
- close / closes / closed 
- fix / fixes / fixed 
- resolve / resolves / resolved 
- complete / completes / completed / completing 
- ref / references 
- part of 
- related to 
- contributes to 
- towards 
たとえば、PRに「fixes CTT-13」という説明を付けると、IDが「CTT-13」のNotionタスクがそのプルリクエストにリンクされます。
プルリクエストの説明にタスクの終了や完了に関するマジックワードが使われている場合、プルリクエストがマージされるときにNotionタスクは完了とマークされます。
プルリクエストの説明にタスクの参照や関連に関するマジックワードが使用されている場合、プルリクエストがマージされてもNotionタスクは完了とマークされません。
Notionタスクを参照専用としてリンクすると、それらのタスクは完了としてマークされません。
NotionからGitHubを接続解除するには、Notionワークスペースオーナーの権限が必要です。
- 設定に移動します。
- コネクトを選択します。
- 「GitHub」の横にある - •••→- すべてのユーザーとの接続を解除をクリックします。
GitHubをNotionから接続解除すると、インテグレーションは再度設定しない限りワークスペース内の誰も使用できなくなります。
