こんにちは!開発現場で「あのAPIの最新のパラメータ、どこだっけ?」「Slackに貼られたURLと、実際に動くリクエストが違うんだけど…」という絶望的なやり取りに頭を抱えた経験はありませんか?
こんにちは、君の専属の先輩エンジニアです。今日は、チーム開発におけるAPI管理のストレスを根絶やしにする魔法のような方法を教えるよ。
今日マスターするのは、「InsomniaとGitHubを連携して、API仕様とリクエスト履歴をチーム全体で美しく管理・共有する方法」だ。
これを覚えれば、バラバラだったAPIリクエストがコードと同じようにGitでバージョン管理され、チーム全員が「常に最新で動くAPI仕様書」を共有できるようになる。毎日の開発作業が劇的に楽になるから、しっかりついてきてね!
—
1. なぜInsomniaなのか?API管理のパラダイムシフト
開発現場でよくあるアンチパターンを挙げよう。
- Postmanの無料枠の制限や、複雑すぎるUIに消耗している
- APIのエンドポイントやJSONのサンプルを、ConfluenceやNotionに貼り付けている(数日後には古びてゴミになる)
- 「動くリクエスト」が個人のローカルPCのなかに隠蔽されている
Insomnia(インソムニア)は、オープンでモダン、そして何より「API開発者に寄り添った」超軽量なAPIクライアントだ。グラフィカルで美しいUIを持ちながら、内部的にはファイルベース(YAML/JSON)でデータを保持している。
つまり、「APIリクエストの定義をそのままGit(GitHub)で管理できる」という、エンジニアにとって最高の特徴を持っているんだ。
—
2. インストールと最初のセットアップ
まずは道具を揃えよう。まだInsomniaを入れていないなら、公式サイトからダウンロードしてインストールしてほしい。プラットフォームはMac、Windows、Linuxすべてに対応している。
インストールが終わったら、最初にやるべき重要なセットアップがある。それは「Git Sync(Git連携)の有効化」だ。
🚀 ステップ1:Workspace(ワークスペース)の作成
Insomniaは、プロジェクト単位で「Workspace」という概念で環境を分ける。
1. Insomniaを起動し、左上のドロップダウンから「Create Workspace」を選択。
2. ワークスペース名を入力(例:`e-commerce-api`)。
🚀 ステップ2:GitHubリポジトリとの連携(Git Sync)
ここが今日のハイライト。Insomniaのデータを直接GitHubのリポジトリに同期させよう。
1. 作成したワークスペースを開き、左上のワークスペース名をクリックして「Workspace Settings」を開く。
2. 「Git Sync」タブを選択。
3. リモートリポジトリのURL(GitHubで事前に作っておいた空のリポジトリのURL)を入力。
4. 認証方式を選ぶ。GitHubアカウント連携、またはPersonal Access Token(PAT)を使うのが確実だ。
5. 「Clone」または「Commit & Push」を実行する。
これで、Insomnia上での操作が自動的に裏側のGitリポジトリにコミットされるようになる。チームメンバーは同じGitHubリポジトリをInsomniaでクローンするだけで、全く同じAPIコレクションを手に入れられるんだ。
—
3. HelloWorld的動作確認:最初のAPIリクエストを共有する
百聞は一見に如かず。実際にAPIリクエストを作成し、GitHubに同期される流れを体験してみよう。
今回は、誰でも無料で使えるテスト用API「JSONPlaceholder」を使ってみるよ。
1. リクエストの作成
1. Insomniaの画面で「+」ボタンを押し、「New Request」を選択。
2. 以下のように設定する:
- Request Name: `Get Users List`
- Method: `GET`
- URL: `https://jsonplaceholder.typicode.com/users`
3. 「Send」ボタンを押す。右側にレスポンスとしてユーザーのJSON配列が返ってきたはずだ。
2. 環境変数(Environment)の活用
実務では、開発環境(Staging)や本番環境(Production)でURLやトークンが変わるよね。Insomniaなら環境変数管理もカンタンだ。
画面左上の「No Environment」となっている部分をクリックし、「Manage Environments」を開き、以下のようにJSONを設定してみよう。
{
“base_url”: “https://jsonplaceholder.typicode.com”,
“request_timeout”: 5000,
“intro”: {
“version”: “v1”
}
}
先ほどのリクエストのURLを、ハードコーディングではなく変数に書き換える。
- 変更前: `https://jsonplaceholder.typicode.com/users`
- 変更後: `{{ _.base_url }}/users` (※ `{{` と入力すると補完が効くよ)
もう一度「Send」を押して、同じようにレスポンスが返ってくることを確認してほしい。
3. GitHubへのプッシュ(同期)
画面左上に、Gitのブランチ名や「Changes (1)」といった表示が出ているはずだ。これは「ローカルで変更があって、まだリモートにプッシュされていないよ」という合図。
1. そのアイコンをクリック。
2. 変更内容のサマリー(例: `Add Get Users request and base environment`)をコミットメッセージとして入力。
3. 「Commit & Push」をクリック!
これで、GitHubのリポジトリを見てみてほしい。YAML形式で、あなたが作ったリクエストや環境変数が綺麗にコードとして保存されているのが確認できるはずだ。感動的だろう?
—
4. チーム開発でコンフリクトを防ぐベストプラクティス
Git連携ができると、「チームメンバーと同時編集してコンフリクト(衝突)しないか?」という心配が出てくるよね。プロとして、現場で絶対に守るべきベストプラクティスを3つ授けよう。
① 「環境変数(Secrets)」はリポジトリに含めない
APIキーや本番用パスワードなどの機密情報は、Insomniaの「Private Environment」機能を使うか、Gitの除外設定をうまく活用しよう。パブリックな環境変数ファイル(Base Environment)にはダミーや共通のエンドポイントだけを入れること。
② 小まめに「Pull / Push」する習慣をつける
チームメイトが新しいAPIリクエストを追加したかもしれない。Insomniaを開いたら、作業を始める前に必ずSyncアイコンを押して最新の状態をPullしよう。
③ 変更単位(コミット単位)を明確にする
「ユーザー認証機能の追加」「決済APIのパラメータ修正」など、意味のある単位でコミットメッセージを残すことで、GitHubのPull RequestベースでAPIの変更履歴をレビューできるようになる。
—
おわりに
どうだい? 「API仕様書の共有に悩まされる日々」から解放されるイメージが湧いてきたんじゃないかな。
InsomniaとGitHubを組み合わせるアプローチは、単にツールを便利に使うだけでなく、「API仕様もコードと同じように扱う(API as Code)」という現代的な開発思想の第一歩だ。
これを導入したその日から、チームのコミュニケーションコストは劇的に下がり、開発スピードは跳ね上がる。ぜひ今日のタスクから試してみてほしい。君のエンジニアライフが、よりスマートで快適になることを応援しているよ!