mcpField
B
bruno-endpoint-creation

bruno-endpoint-creation

github.com/steveclarkeテスト・品質36156 回インストール今日更新
リポジトリ

bruno-endpoint-creation について

REST コレクションを扱う開発者向けに、Bruno の `.bru` エンドポイントファイル作成パターンを解説するスキルです。環境変数、認証の継承、リクエストスクリプト、エンドポイント文書を扱います。

主な機能

  1. 01HTTP エンドポイントファイルの構成
  2. 02コレクション変数とシークレット変数の設定
  3. 03認証の継承または上書き
  4. 04リクエスト前後のスクリプト
  5. 05エンドポイント文書の追加

活用シーン

  1. 01ローカルやステージング API 用エンドポイントの作成
  2. 02コレクション単位の Bearer 認証の再利用
  3. 03レスポンスから取得した ID の後続リクエストへの受け渡し
  4. 04動的なリクエストデータの生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/steveclarke/dotfiles --skill bruno-endpoint-creation

インストール後、Claude Code で/bruno-endpoint-creationを入力して読み込まれたか確認します。

詳細

Bruno エンドポイントの作成

.bru エンドポイントファイルを作成するための、Bruno 固有のパターンです。REST の規約に精通していることを前提としています。

環境設定

開発(Local.bru):

vars {
  baseUrl: http://localhost:3001
  linkId:
  apiKey: dev_api_key_change_in_production
}

本番/ステージング — 機密データには vars:secret を使用します:

vars {
  baseUrl: https://api.yourdomain.com
  linkId:
}
vars:secret [
  apiKey
]

コレクションレベルの認証

collection.bru で一度認証を設定すると、すべてのエンドポイントに継承されます:

auth {
  mode: bearer
}

auth:bearer {
  token: {{apiKey}}
}

個々のエンドポイントでは、auth: inherit を指定して継承します:

post {
  url: {{baseUrl}}/api/v1/resources
  body: json
  auth: inherit
}

認証がコレクションと異なる場合に限り、エンドポイントごとに上書きしてください。

リクエスト構造

meta {
  name: "Create Resource"
  type: http
  seq: 1
}

post {
  url: {{baseUrl}}/api/v1/resources
  body: json
  auth: inherit
}

body:json {
  {
    "resource": {
      "field1": "value1",
      "field2": "value2"
    }
  }
}

params:path {
  id: {{resourceId}}
}

params:query {
  page: 1
  limit: 20
  sort: created_at
  order: desc
}

スクリプト API

レスポンス後 — 後続のリクエストで使用するデータを抽出します:

script:post-response {
  if (res.status === 201 && res.body && res.body.id) {
    bru.setVar("resourceId", res.body.id);
  }
}

リクエスト前 — 動的なデータを生成します:

script:pre-request {
  const timestamp = Date.now();
  bru.setVar("uniqueEmail", `test-${timestamp}@example.com`);
}

主な違い:

  • bru.setVar() — ランタイム変数(一時的で、現在のコレクションの実行中のみ有効)
  • bru.setEnvVar() — 環境変数(保持され、「Environment」タブに表示されます)

テスト実行で抽出した ID などの一時的な値には、bru.setVar() を使用してください。

ドキュメントブロック

docs {
  Create a new resource in the system.

  **Required Fields:**
  - field1: Description
  - field2: Description

  **Optional Fields:**
  - optional_field: Description
}

コレクションのフォルダー構造

Bruno Collection/
├── Environments/
│   ├── Local.bru
│   ├── Staging.bru
│   └── Production.bru
├── Authentication/
│   ├── Login.bru
│   └── Refresh Token.bru
├── Resources/
│   ├── List Resources.bru
│   ├── Get Resource.bru
│   ├── Create Resource.bru
│   ├── Update Resource.bru
│   └── Delete Resource.bru
└── Health/
    └── Health Check.bru

コメント