## 経緯 諸事情で[[Postman]]が使えなくなったので[[APIクライアントツール]]の代替が必要... だが - [[Neovim]]で使える要求を満たすツールがない - ターミナルで使える要求を満たすツールがない というところで困っていたところ、[[Bruno]]を知ったので。 ## インストール [[GitHub]]のREADMEから。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">GitHub - usebruno/bruno: Opensource IDE For Exploring and Testing Api's (lightweight alternative to postman/insomnia)</p> <p class="link-card-description"></p> </div> <img src="https://opengraph.githubassets.com/b7bedba1546c43e0ff2208c37fde6709a286340bfb7bb9ab22b3c843be96b773/usebruno/bruno" class="link-card-image" /> </div> <a href="https://github.com/usebruno/bruno"></a> </div> [[Scoop]]を使う。 ```console scoop install bruno ``` 1.6.1をインストール。 ## リポジトリの作成 [[Bruno]]はデータを[[Git]]管理すること前提なので、リポジトリを作っておく。 <div class="link-card"> <div class="link-card-header"> <img src="https://github.githubassets.com/favicons/favicon.svg" class="link-card-site-icon"/> <span class="link-card-site-name">GitHub</span> </div> <div class="link-card-body"> <div class="link-card-content"> <p class="link-card-title">tadashi-aikawa/bruno-collections</p> <p class="link-card-description">Contribute to tadashi-aikawa/bruno-collections development by creating an account on GitHub.</p> </div> <img src="https://opengraph.githubassets.com/4d7da3afc2bda83210920b8d47324e4a898b14b6e416b39c0943d985bdcb9bd8/tadashi-aikawa/bruno-collections" class="link-card-image" /> </div> <a href="https://github.com/tadashi-aikawa/bruno-collections"></a> </div> このリポジトリ配下に複数のコレクションを配置していく。 ## コレクションの作成 まずはコレクションを作ってみる。 ![[Pasted image 20240114212623.png]] [[Slack]]に関する[[Neovimプラグイン]]を作りたいとちょうど思っていたので[[Slack]]にする。 ![[Pasted image 20240114213117.png]] Locationは先ほど作成したリポジトリのルート。 あとは[[Postman]]と同じノリで作っていく。大体同じような操作でOK。よくできたクローンゲームみたいな感じ。 ## ファイルの中身 [[Postman]]との違いは、ファイルが本体であるということ。中身を見てみる。 ```console $ tree  . ├──  bruno.json ├──  environments │ └──  dev.bru └──  メッセージ検索.bru ``` ### bruno.json コレクションの情報が記載されている。 ```json { "version": "1", "name": "Slack", "type": "collection" } ``` ### environments/dev.bru `.bru`ファイルという独自形式。環境ごとに1ファイル。 ```bru vars { SLACK: https://slack.com/api } vars:secret [ slack_oauth_token ] ``` [[GUI]]では以下の部分に該当する。`slack_oauth_token`は`Secret`にチェックがついているのでファイルに値は記録されていなそう。 ![[2024-01-14-22-03-35.webp]] ### メッセージ検索.bru `.bru`ファイルという独自形式。リクエストごとに1ファイル。 ```bru meta { name: メッセージ検索 type: http seq: 1 } get { url: {{SLACK}}/search.messages?query=Obsidian&sort=timestamp body: none auth: none } query { query: Obsidian sort: timestamp } ``` [[GUI]]では以下の部分に該当する。`{{SLACK}}`は環境設定ファイルの`SLACK`に紐づく値。つまりここでは `https://slack.com/api` となる。 ![[2024-01-14-22-08-40.webp]] ## 設定 バージョン管理の対象外だが、設定も少し変更。 ![[2024-01-14-22-11-49.webp|frame]] *テーマはダークに* ![[2024-01-14-22-12-25.webp|frame]] *フォントはCascadia Code Nerd Font* ## コミット 普通に[[Git]]でコミットし、[[GitHub]]にpush。