地方在住IT系ニート

bkds

BrunoのインストールとPostmanからの移行メモ【Git管理できるAPIクライアント】

はじめに

BrunoはPostmanやInsomniaの代替として注目されているオープンソースのAPIクライアントです。 クラウド同期なし・ローカルファースト・完全オープンソースというシンプルで制御しやすいツールです。

最近のPostmanはアカウント作成が必須になったり、クラウド同期がデフォルトになったりと、個人開発やセキュリティに敏感なプロジェクトでは使いにくい部分が増えています。 Brunoはそういった不満を解消してくれるツールです。

PostmanとBrunoの比較

項目PostmanBruno
ライセンスフリーミアム(有料プランあり)オープンソース(MIT)
データの保存場所クラウド(同期必須)ローカルファイル
アカウント必須不要
ファイル形式JSON(差分が読みにくい).bru(テキスト形式・差分が読みやすい)
Git管理しにくい得意
動作の重さ重め軽量・高速
CI/CD連携Newman(CLI)Bruno CLI

Brunoが向いている人

以下の条件に当てはまる場合はBrunoがおすすめです。

インストール

macOS(Homebrew)

brew install bruno

Windows

公式サイトからインストーラーをダウンロードして実行します。

Linux(AppImage)

GitHubリリースページからAppImageをダウンロードします。

chmod +x bruno-*.AppImage
./bruno-*.AppImage

基本的な使い方

コレクションの作成

  1. Brunoを起動して Create Collection をクリック
  2. コレクション名と保存先ディレクトリを指定する
  3. 指定したディレクトリにコレクションがフォルダとして作成される

コレクションはローカルのフォルダとして管理されるため、そのままGitリポジトリに追加できます。

リクエストの作成

  1. コレクションを選択して New Request をクリック
  2. HTTPメソッド・URL・ヘッダー・ボディを設定する
  3. Send で実行する

.bruファイルの構造

Brunoのリクエストは.bruというテキスト形式で保存されます。 差分が読みやすくGitのPRレビューがしやすいのが特徴です。

meta {
  name: Get Users
  type: http
  seq: 1
}

get {
  url: {{BASE_URL}}/users
  body: none
  auth: none
}

headers {
  Authorization: Bearer {{TOKEN}}
  Content-Type: application/json
}

環境変数の設定

BrunoはPostmanと同様に環境変数(Environment)をサポートしています。

  1. コレクションの メニューから SettingsEnvironments を選択
  2. Add Environment で環境(dev・staging・prodなど)を作成
  3. 変数を追加する
BASE_URL: https://api.example.com
TOKEN: your-api-token

リクエスト内では{{BASE_URL}}の形式で参照できます。

シークレットの管理

APIキーなどの機密情報は.envファイルで管理できます。 .env.gitignoreに追加してGitにコミットしないようにします。

# .env
TOKEN=your-secret-api-token

Postmanからの移行

BrunoはPostmanのコレクションのインポートに対応しています。

  1. Postmanでコレクションを Export してJSONファイルを保存する
  2. BrunoでコレクションのImportから Postman Collection を選択する
  3. エクスポートしたJSONファイルを指定する

Bruno CLIによるCI/CD連携

Brunoには@usebruno/cliというCLIツールがあり、CI/CDパイプラインでのAPIテスト自動化に活用できます。

# インストール
npm install -g @usebruno/cli

# コレクションを実行
bru run --env production

# 特定のリクエストを実行
bru run requests/users/get-users.bru --env production

GitHub Actionsとの組み合わせ例です。

- name: Run Bruno API Tests
  run: |
    npm install -g @usebruno/cli
    bru run --env production
  working-directory: ./api-collection

まとめ

Brunoを使うことでAPIコレクションをローカルファイルとして管理でき、Gitでのバージョン管理やチーム共有がスムーズになります。 クラウドへのデータ送信がないため、セキュリティに敏感なプロジェクトにも安心して使えます。 Postmanからの移行もインポート機能で手軽に行えます。

<-- Back to home
にほんブログ村 IT技術ブログ IT技術メモへ PVアクセスランキング にほんブログ村