こんにちは!開発チームのベロシティを最大化し、日々の開発を心地よいリズムに変えるアジャイルコーチです。
突然ですが、こんな無駄な作業に消耗していませんか?
- 「PR(プルリクエスト)を出したのに、Linearのタスクステータスを『In Progress』から『Done』に動かし忘れて怒られた」
- 「どのブランチがどの課題に対応しているのか、コミットログを見てもさっぱり分からない」
- 「チケットとコードの往復だけで、一日の認知負荷が高まっている」
開発者にとって、タスク管理ツールへの「手動でのステータス更新」ほど生産性のない作業はありません。コードを書くこと、そしてレビューに集中すべきです。
今回は、爆速かつ洗練されたタスク管理ツール Linear と、開発の要である GitHub を完全同期させ、「PRを出すだけで、マージされた瞬間にタスクが自動で完了する」 という、一度味わうと二度と手放せなくなる最強の連携環境を構築する方法を、優しく徹底的に解説していきます。
これをマスターすれば、あなたの開発体験は劇的に、そして美しく変わりますよ。ついてきてくださいね!
—
1. そもそもなぜ、GitHubとLinearを連携させるのか?
多くのチームが「ツールを導入しただけで満足してしまう」という罠に陥ります。Jiraの重い画面でステータスを手動ポチポチ……。これではアジャイル開発の魂である「スピード」が死んでしまいます。
Linearが愛される理由は、「開発者の自然なワークフロー(Gitの操作)にタスク管理を完全に溶け込ませる」という設計思想にあります。
連携が生み出す圧倒的なメリット
1. コンテキストスイッチの消滅: ブラウザを開いてLinearのボードを触る必要がゼロになります。
2. トレーサビリティの自動化: 「どのコードが、どの仕様(イシュー)のために書かれたのか」が100%紐づきます。
3. ヒューマンエラーの根絶: ステータス変更の「し忘れ」が物理的に発生しなくなります。
それでは、この魔法のような環境を一緒に作っていきましょう!
—
2. 基礎セットアップ:GitHubとLinearをつなぐ
まずは、LinearとGitHubの公式インテグレーションを有効化します。数分で終わるのでリラックスしていきましょう。
手順1: Linear側からGitHubアプリをインストールする
1. Linearのワークスペースを開き、左下のプロフィールアイコン(またはワークスペース名)をクリックします。
2. 「Settings(設定)」 を開きます。
3. サイドメニューの 「Integrations」 から 「GitHub」 を探し、「Connect」 ボタンをクリックします。
4. GitHubの認証画面に遷移するので、連携したいアカウント、または組織(Organization)を選択し、権限を付与(Install)します。
> 知的な先輩からのアドバイス:
> 組織全体で連携する場合は、必ずGitHubの権限を持つ管理者(Owner)アカウントで行ってください。また、リポジトリへのアクセス権は「All repositories(全リポジトリ)」にするか、開発で使う特定のリポジトリに絞るかを選択できますが、基本的にはチームで使うリポジトリすべてに許可を出しておくのがスムーズです。
—
3. 魔法の核心:「イシューID」のルールを理解する
連携ができたら、次に重要なのが「どうやってLinearとGitHubを紐づけるか」のルール(文法)です。仕組みは非常にシンプル。Linearが発行する「イシューID(例: `ENG-123`)」を、Gitの作法に混ぜ込むだけです。
Linearのイシューを開いてみてください。タイトルの左側に `ENG-123` や `PROJ-42` のような文字列が見つかるはずです。これがあなたの魔法の呪文になります。
—
4. 実践!プルリクエスト連動でステータスを自動化する設定
ここが今回のメインディッシュです。GitHub上でPRを作成したとき、あるいはマージしたときに、Linear側のステータスを自動で動かす設定を有効化します。
設定画面でのWorkflow設定
1. Linearの Settings > Integrations > GitHub に戻ります。
2. インテグレーションの設定項目の中に、「Workflow automation(ワークフローの自動化)」 というセクションがあります。
3. ここで、以下のような連動ルールをONにします(チームの運用に合わせて調整してください)。
| GitHub上のアクション | Linearのイシューの状態変化 | 推奨設定 |
| :— | :— | :— |
| PRが作成された(Draft含む) | `Todo` / `Backlog` $\rightarrow$ `In Progress` | ON(開発開始を検知) |
| PRがレビューに出された | $\rightarrow$ `In Review` | (お好みで) |
| PRがマージされた | $\rightarrow$ `Done` (完了) | 絶対ON! |
| PRがクローズされた(未マージ) | $\rightarrow$ `Canceled` または元に戻す | (お好みで) |
この設定を有効にしておくだけで、バックグラウンドでLinearがGitHubのWebhooksを監視し、自動でチケットを動かしてくれます。
—
5. 精度高い「HelloWorld」的動作確認:実際にやってみよう!
設定が正しく完了しているか、実際に手を動かしてテスト(HelloWorld)してみましょう。ここが一番ワクワクする瞬間です。
Step 1: Linearでテスト用イシューを作る
Linearで適当なタスクを1つ作成します。
- イシューIDが `ENG-1` (仮)だとします。
- タイトル:「GitHub連携の動作確認テスト」
Step 2: ブランチを切る
ターミナルを開き、Gitリポジトリで作業用ブランチを作成します。
この時、ブランチ名にイシューIDを含めると、さらに連携がスムーズになります(Linearの拡張機能やUIで検知しやすくなります)。
LinearのイシューIDをブランチ名に含めるのがプロの作法
git checkout -b feature/eng-1-test-github-integration
Step 3: コードを修正してプッシュする
適当なファイルを変更し、コミットしてリモートにプッシュします。
git add .
コミットメッセージにイシューIDを入れると、Linear側からこのコミットが参照できるようになります!
git commit -m “feat(core): ENG-1 動作確認用のテストコードを追加”
git push origin feature/eng-1-test-github-integration
Step 4: GitHubでプルリクエストを作成する
GitHub上でPRを作成します。
ここで重要なポイントがあります。PRのタイトル、または本文(Description)の中に、必ずイシューID(例: `ENG-1`)を含めてください。
> プルリクエストのタイトルの例:
> `feat: 動作確認用のテストを追加 (ENG-1)`
- ※ もし「Close #ENG-1」や「Resolves ENG-1」といったキーワードをPRの説明文に書いておくと、GitHub側とのリンクもより強固になりますが、Linearのインテグレーションが入っていれば単に `ENG-1` と書くだけでも十分に認識されます。
Step 5: マージしてLinearを確認する!
さあ、準備は整いました。GitHub上でそのPRを 「Merge(マージ)」 してみましょう。
そして、ブラウザでLinearのボード画面を開いてみてください……。
どうですか?
あなたが手動でステータスを動かしていないにもかかわらず、`ENG-1` のチケットが鮮やかに「Done」の列に移動しているはずです! さらに、イシューの詳細画面を開くと、関連付けられたPRやコミットの履歴が綺麗に紐づいています。
おめでとうございます!これで、面倒なタスク管理の呪縛から解放され、純粋に「コードを書くこと」だけに集中できる最強の環境が手に入りました。
—
おわりに:ツールに働かせ、人間は創造に集中する
今回設定したGitHubとLinearの連携は、単なる「便利機能」ではありません。
チーム全体の認知負荷を下げ、開発のベロシティ(流速)を極限まで高めるためのエンジニアリング基盤そのものです。
「タスクを動かすためにジラジラ悩む時間」をゼロにし、最高のプロダクトを作ることに全力を注ぎましょう。
毎日の開発が劇的に楽になったと感じられたら、ぜひチームの仲間にもこの知見をシェアしてあげてくださいね。それでは、快適なアジャイルライフを!