GitHubとLinearの完全同期:プルリク連動で開発ベロシティを極限まで高める自動化の極意
開発チームのベロシティが落ちる最大の原因は何か?
コードを書く遅さではない。「コンテキストのスイッチングコスト」と「ステータス更新という無駄な事務作業」だ。
優秀なエンジニアが、GitHubでコードを書き、レビューし、マージした後に、わざわざLinearを開いて「In Progress」から「Done」にドラッグ&ドロップする。この数秒の連続が、フロー状態を断ち切り、チーム全体の認知負荷を高める。
Linearの真価は、単なる「綺麗なJiraの代替」ではない。開発者の自然なワークフロー(Gitを中心とした営み)の中にタスク管理を完全に溶け込ませる能力にある。
今回は、GitHubとLinearを極限まで連携させ、プルリクエスト(PR)のライフサイクルに連動してタスクステータスを自動化する最強の仕組みの構築手順を、プロの実践知見を交えて徹底解説する。
—
1. 思想:なぜGitHubとLinearの連携が必要なのか
アジャイル開発において、ナレッジと進捗のサイロ化は最大の敵だ。「コードはこのPRにあるのに、なぜかLinearのチケットにはリンクがない」「誰がこの仕様を決めたのか辿れない」。
GitHubとLinearを正しく連携させると、以下のエコシステムが完成する。
1. トレーサビリティの完全自動化: どのコードがどの課題(Issue)を解決したのかが双方向で完全に紐づく。
2. ステータス同期のゼロ・フリクション: 開発者はGitの作法(コミットやPR)に従うだけで、タスクボードが勝手に動く。
3. コンテキストの集中: レビュアーはPRからワンクリックでLinearの仕様(背景・デザイン・AC)にアクセスできる。
これを実現するための具体的な設定ステップを見ていこう。
—
2. 構築手順:GitHub連携とステータス自動化のセットアップ
Step 1: Linear公式GitHub Appのインストールと権限設定
まずはLinearとGitHubを繋ぐ。ここで重要なのは、リポジトリのスコープを適切に絞りつつ、必要な権限を確実に付与することだ。
1. Linearの `Settings` > `Integrations` > `GitHub` に移動する。
2. 「Add GitHub」をクリックし、GitHubの組織(Organization)または個人アカウントを選択する。
3. 重要: すべてのリポジトリ(All repositories)ではなく、対象のプロダクトリポジトリのみ(Only select repositories)に絞ることを強く推奨する。権限の肥大化を防ぎ、セキュリティを担保するためだ。
4. インストール時に以下の権限が要求されることを確認する:
- Pull requests (Read/Write)
- Commits (Read)
- Metadata (Read)
Step 2: ワークフロー自動化(Workflow Automation)の構成
Linear側で、PRのアクションに連動してステータスを変えるルールを定義する。
1. Linearの `Settings` > `Team` > `Workflow` に移動する。
2. 「GitHub integration」セクションを開く。
3. 以下のマッピングを有効化する:
- When a pull request is opened: ステータ스를 `In Progress` に移行。
- When a pull request is reviewed (Changes requested): 必要に応じて `In Review` や `Blocked` に。
- When a pull request is merged: ステータスを `Done` に自動移行。
- When a pull request is closed (without merging): ステータスを `Canceled` または元のバックログに戻す。
—
3. 現場で即効性を発揮する「コミット・PR命名規則」のルール化
自動化の魔法を機能させるための唯一の条件が、「イシューIDの適切な包含」である。チーム全体で以下の規約を徹底してほしい。
イシューIDの埋め込み方
LinearのイシューID(例: `ENG-123`)は、以下のいずれかの場所に含めればLinearが自動検知する。
- プルリクエストのタイトル: `feat(auth): implement OAuth2 login (ENG-123)`
- プルリクエストの本文: `Resolves ENG-123` または `Fixes ENG-123`(GitHubのKeywordsも連動可能)
- コミットメッセージ: `git commit -m “fix(api): handle null pointer in user payload [ENG-123]”`
チーム共有のためのPRテンプレート(YAML/Markdown)
チームメンバーが迷わずルールに則ったPRを作成できるよう、`.github/pull_request_template.md` をリポジトリに配置する。
関連するLinearイシュー
- Fixes
変更内容
スクリーンショット / 動作確認結果
チェックリスト
- [ ] セルフレビューを完了した
- [ ] 必要なテストを追加/修正した
- [ ] Linearのステータスが「In Progress」になっていることを確認した
—
4. プロの隠し技:開発効率を爆発させるテクニック
ここからは、単なる公式機能の紹介を超えた、現場のテックリードが実践している「一歩進んだハック」を伝授する。
① Linear CLI & キーボードショートカットの極意
マウスに手を伸ばした瞬間から、開発のフローは途切れる。Linearはキーボード操作だけで完結するように設計されている。
- `G` 押下の後に `I` を押す: どこにいても一瞬で自分のイシュー一覧(My Issues)へジャンプ。
- `C` キー: どこでも新規イシュー作成。
- イシュー上で `⌘ + Shift + .` (Mac) / `Ctrl + Shift + .` (Windows): GitHubのブランチ名をクリップボードにコピー。
この「ブランチ名コピー」が神がかっている。生成されるブランチ名は `eng-123-implement-oauth2-login` のように、イシューIDとタイトルが自動スラッグ化されたものになる。これをそのままターミナルに貼り付けて `git checkout -b` すれば、それだけでLinearとGitの密結合が完了する。
② 開発を加速させる神プラグイン・拡張機能
- Linear ブラウザ拡張機能 (Chrome/Firefox):
GitHub上でプルリクエストを見ているとき、あるいは新規PRを作成するときに、Linearのイシュー情報をサイドバーやポップアップでシームレスに参照できる。
- VS Code / JetBrains用 Linear 拡張機能:
エディタから離れることなく、割り当てられたタスクを確認し、タイマーを動かしたり、ブランチを切り替えたりできる。
—
5. ベストプラクティス:実用的な設定ファイル構成
チーム全体のCI/CDパイプラインとLinearをさらに強固に結びつけるために、GitHub Actionsを活用した高度な連携設定を紹介する。
例えば、「PRがマージされた際、特定のラベルが付いていたらLinear側でリリースノート用のカスタムフィールドを自動更新する」といった高度な自動化だ。
`.github/workflows/linear-sync.yml`
name: Linear Status & PR Sync
on:
pull_request:
types: [opened, closed, review_requested]
jobs:
linear-sync:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Log PR Event Context
run: |
echo “PR Action: ${{ github.event.action }}”
echo “PR Title: ${{ github.event.pull_request.title }}”
echo “PR Body: ${{ github.event.pull_request.body }}”
# ここで必要に応じてLinear APIを叩くカスタムスクリプトやActionを呼び出すことも可能
> アーキテクトからの助言:
> 基本的なステータス遷移(OpenでIn Progress、MergeでDone)はLinearの公式インテグレーションだけで十分に動作する。複雑なカスタムロジック(特定のレビューア承認時にQAステータスへ送るなど)が必要な場合のみ、LinearのGraphQL APIとGitHub Actionsを組み合わせた独自スクリプトを導入せよ。過剰なエンジニアリングはメンテナンスコストを増大させる。
—
6. おわりに:ツールに使われるな、ツールを使い倒せ
GitHubとLinearの連携は、単に「タスクを手動で動かす手間を省く」というレベルの話ではない。
開発者が「コードを書くこと」「良い設計を考えること」「チームメンバーと議論すること」という本質的なクリエイティブワークに100%の認知能力を脳のメモリを割くためのインフラストラクチャである。
今日からチームのPRテンプレートを整備し、イシューIDの紐付けをルール化し、マウスを捨ててキーボードショートカットを体に叩き込め。
チームのベロシティが劇的に跳ね上がる瞬間を、ぜひ体感してほしい。