CI/CDとの統合
OpenAPI仕様の更新をGitBookで自動化する方法を学ぶ
GitBook は、OpenAPI 仕様の管理に既に使用している任意の CI/CD パイプラインと連携できます。GitBook CLI を使用することで、API リファレンスの更新を自動化できます。
仕様ファイルをアップロードする
OpenAPI 仕様が CI プロセス中に生成される場合、ビルド環境から直接アップロードできます:
# GitBook の API トークンを環境変数として設定
export GITBOOK_TOKEN=<api-token>
gitbook openapi publish \
--spec spec_name \
--organization organization_id \
example.openapi.yaml新しいソース URL を設定するか更新をトリガーする
OpenAPI 仕様が URL にホストされている場合、GitBook は自動的に更新をチェックします。リリース後などに更新を強制するには、次を実行します:
# GitBook の API トークンを環境変数として設定
export GITBOOK_TOKEN=<api-token>
gitbook openapi publish \
--spec spec_name \
--organization organization_id \
https://api.example.com/openapi.yamlGitHub Actions で仕様を更新する
OpenAPI 仕様を公開するワークフローを設定する場合、リポジトリで次の手順を完了してください:
リポジトリで「Settings → Secrets and variables → Actions」に移動します。
シークレットを追加:
GITBOOK_TOKEN(あなたの GitBook API トークン)。変数を追加する(またはワークフローにハードコードする):
GITBOOK_SPEC_NAME→ GitBook 内のあなたの仕様の名前GITBOOK_ORGANIZATION_ID→ あなたの GitBook 組織 ID
ワークフローファイルを次の名前で保存:
.github/workflows/gitbook-openapi-publish.yml.変更を “main” にプッシュする(またはワークフローを手動で実行する)。
その後、このアクションを使用して仕様を更新できます:
name: Publish OpenAPI to GitBook
on:
push:
branches: [ "main" ]
paths:
- "**/*.yaml"
- "**/*.yml"
- "**/*.json"
workflow_dispatch:
jobs:
publish:
runs-on: ubuntu-latest
env:
# 必須のシークレット
GITBOOK_TOKEN: ${{ secrets.GITBOOK_TOKEN }}
# 可能ならリポジトリ/組織の変数を優先;必要ならインライン文字列にフォールバック
GITBOOK_SPEC_NAME: ${{ vars.GITBOOK_SPEC_NAME }}
GITBOOK_ORGANIZATION_ID: ${{ vars.GITBOOK_ORGANIZATION_ID }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Publish spec file to GitBook
run: |
npx -y @gitbook/cli@latest openapi publish \
--spec "$GITBOOK_SPEC_NAME" \
--organization "$GITBOOK_ORGANIZATION_ID" \
<path_to_spec>最終更新
役に立ちましたか?