LinearとGitHubを連携する方法:コミットとイシューを自動紐付けする設定手順

タスク・プロジェクト管理

※本記事にはアフィリエイトリンクが含まれます。

LinearとGitHubを連携すると、タスクの状態を手動で変える機会がほぼなくなる。

「PRをマージしたのにLinearのイシューがIn Progressのままだった」という状況が自動で解決される。コミットがどのイシューに対応しているかも、コミットメッセージにイシュー番号を書くだけで紐付けられる。

設定自体は数分で終わる。この記事はその手順と、実際に使ってみた率直な感想。

LinearとGitHubを連携すると何が変わるのか

連携前と連携後で一番変わったのは「Linearを開いてタスク状態を手動更新する回数」だった。実際にLinear × GitHub連携の効果について書いているzennの記事でも「タスクの状態を触る機会が激減した」という評価が書かれている。

連携前は1日3〜5回、PRのレビュー依頼が来るたびにLinearを開いて「In Review」に変えていた。マージが終わったら「Done」に変える。地味に手間で、忘れることもあった。

連携後は、PRの状態変化に応じてLinearのイシューが自動更新される。「PRがマージされた=イシューが完了」という動きをLinearが自動でやってくれる。週に1〜2回Linearを確認するだけで、状態はだいたい正確になっていた。


連携の設定手順:WorkspaceのIntegrationsから始める

の設定は管理者権限が必要。個人の無料プランで使っている場合は自分が管理者なので問題ない。

STEP 1:SettingsのIntegrationsでGitHubを有効化する

  1. Linearの画面左上のワークスペース名をクリックする
  2. ドロップダウンから「Settings」を選択する
  3. 左サイドバーの「Integrations」タブに移動する
  4. 一覧から「GitHub」を見つけて「Add integration」をクリックする

画面がGitHubの認証ページに遷移する。

STEP 2:GitHubの認証を通す

GitHubのアカウントにサインインした状態で「Authorize Linear」をクリックする。

権限の確認画面が出るが、Linearに必要な権限(リポジトリの読み取りとPR情報の同期)だけを求めているので、基本的にそのまま承認する。

ここで「すべてのリポジトリ」か「特定のリポジトリ」かを選択する画面が出ることもある。プライベートリポジトリを含めたくない場合は「特定のリポジトリを選択」を使う。

STEP 3:連携するリポジトリを選択してSaveする

認証後、Linear側に戻り連携するGitHubリポジトリを選択する。どのTeam(またはProject)とどのリポジトリを紐付けるかを設定してSaveする。

これで基本的な連携は完了。設定自体は5分もあれば終わる。


コミットとイシューの自動紐付けはどう動くか

コミットメッセージへのイシュー番号の書き方

Linearの各イシューには「LIN-123」形式のIDが付いている(チーム名が変わると「CHORE-456」などになる)。

このIDをGitHubのコミットメッセージに含めると、LinearがそのコミットをイシューとICに自動紐付けする。

git commit -m "LIN-123: Loom連携の設定画面をリファクタリング"

このように書くだけで、LinearのイシューLIN-123にコミットへのリンクが表示される。「このイシューに対してどのコミットが積まれたか」が一目で追えるようになる。

最初の2週間、7回ぐらいイシュー番号を書き忘れた。忘れると当然紐付けは起きない。意識的に習慣にする必要があるが、3週目ぐらいからは自然に書けるようになった。

PRマージでイシューが自動クローズされる設定

PRのタイトルやブランチ名にイシュー番号を含める、またはPRの説明欄に「Closes LIN-123」と書くことで、PRがマージされた際にイシューが自動完了になる。

Linearの設定ページでは「Workflow automations」という項目で細かいルールを設定できる。「PRがマージされたらDoneにする」という設定はデフォルトで入っていることが多いが、チームの設定によっては手動で有効にする必要がある。


設定してみて実際どうだったか:タスク状態を触る回数が減った

設定後の変化は正直わかりやすかった。

PRがマージされると、Linearのイシューがそのまま「Done」に変わっている。「あ、これ変えるの忘れてた」という状態がなくなった。

コミット履歴からイシューにたどれるようにもなった。「このコミットはどのイシューのためだっけ」を後から調べるのが楽になった。個人開発では意外と役立つ。


連携が動かない時に確認すべき3点

1. コミットメッセージのIDが正しいか

「LIN-123」ではなく「lin-123」や「Linear-123」と書いても認識されないことがある。大文字・ハイフン・番号の形式を確認する。

2. リポジトリが正しく選択されているか

Linearの設定でリポジトリを選択したつもりが保存されていなかったというケースがある。Settings → Integrations → GitHubの画面でリポジトリが表示されているか確認する。

3. 権限が足りていないか

Organization所有のリポジトリを連携しようとして権限エラーが出ることがある。詳しい設定手順はLinearとGitHubの連携についてまとめたQiita記事も参考になる。個人所有のリポジトリなら基本的に問題ないが、OrganizationのリポジトリはOrganizationの管理者権限が必要になる場合がある。


GitHub連携はどういうフリーランスに必要か

正直なことを言うと、コードを書かないフリーランス(Webマーケター、ライター、デザイナー)にはほぼ不要だと思う。GitHubを使わない業務なら、この連携を設定する意味がない。

エンジニアやエンジニア寄りのフリーランス、または個人でWebサービスやツールを開発している人には間違いなく便利な機能。コードを書く→PRを出す→イシューが自動完了するというフローが自然に回る。

LinearをタスクツールとしてもGitHubを開発管理としても使っているなら、設定しない理由はない。5分で終わる設定で、タスク状態の手動更新という地味な手間が消える。


合わせて読みたい

コメント

タイトルとURLをコピーしました