Communitygithub.com

sofq/confluence-cli

開発者とAIエージェント向けのConfluence CLI — 構造化JSON出力、jqフィルタリング、バッチ操作、ワークフロー自動化。JiraのOpenAPI仕様から構築。

confluence-cli とは?

sofq/confluence-cliは、開発者とAIエージェントがConfluenceと効率的に連携できるよう設計されたコマンドラインインターフェースです。このツールは、Confluence REST APIをラップし、jqフィルタリングに対応した構造化JSON出力を提供することで、ページの取得、作成、更新、検索などの操作をスクリプトやワークフローに簡単に組み込めます。CI/CDパイプラインやAI駆動の自動化に最適で、複数の環境設定やOAuth認証もサポートしています。JiraのOpenAPI仕様に基づいて構築されており、具体的なユースケースとしては、プロジェクトドキュメントの一括更新、AIエージェントによるコンテンツ監査、定期的なレポート生成の自動化などが挙げられます。

対応~Claude Code~Codex CLI~Cursor
npx skills add sofq/confluence-cli

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

confluence-cli は何をしますか?

開発者とAIエージェント向けのConfluence CLI — 構造化JSON出力、jqフィルタリング、バッチ操作、ワークフロー自動化。JiraのOpenAPI仕様から構築。

インストール

npm install -g @sofq/confluence-cli
# または
npx @sofq/confluence-cli

クイックスタート

# 環境変数を設定
export CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
export [email protected]
export CONFLUENCE_API_TOKEN=your-api-token

# ページを取得
confluence get-page --pageId 12345

# スペース内のページを検索(jqでフィルタリング)
confluence search --cql "space=DEV" | jq '.results[] | {id, title, version}'

機能

  • 構造化JSON出力: すべてのコマンドは解析可能なJSONを返します。
  • jqフィルタリング: パイプで接続して特定のフィールドを抽出します。
  • バッチ操作: 複数のページを一度に操作します。
  • ワークフロー自動化: CI/CDパイプラインに統合します。
  • AIエージェント対応: AIエージェントがConfluenceのコンテンツを読み取り/書き込みできるように設計されています。

コマンド

ページ操作

コマンド説明
get-pageIDでページを取得
create-page新しいページを作成
update-page既存のページを更新
delete-pageページを削除
get-page-childrenページの子ページを取得

検索

コマンド説明
searchCQLを使用してページを検索
get-spaceスペースの詳細を取得
get-space-contentスペース内のすべてのコンテンツを取得

ラベル

コマンド説明
add-labelページにラベルを追加
remove-labelページからラベルを削除
get-labelsページのラベルを取得

設定

CLIは環境変数または設定ファイルで設定できます。

環境変数

export CONFLUENCE_BASE_URL=https://your-domain.atlassian.net
export [email protected]
export CONFLUENCE_API_TOKEN=your-api-token

設定ファイル

リポジトリのルートにconfluence.jsonを作成します:

{
  "baseUrl": "https://your-domain.atlassian.net",
  "username": "[email protected]",
  "apiToken": "your-api-token"
}

例

AIエージェントのワークフロー

# 最新のドキュメントを取得
confluence search --cql "type=page and space=DEV order by lastmodified desc" --limit 10 | jq '.results[] | {id, title, version, lastModified}'

# 新しいドキュメントを作成
confluence create-page --spaceKey DEV --title "API統合ガイド" --content "# API統合ガイド\n\nこれは自動生成されたドキュメントです。"

# ドキュメントのラベルを更新
confluence add-label --pageId 12345 --label "automation"

CI/CDパイプライン(GitHub Actions)

- name: Confluenceドキュメントの更新
  run: |
    npx @sofq/confluence-cli update-page \
      --pageId 12345 \
      --title "リリースノート v${{ github.event.release.tag_name }}" \
      --content "$(cat release-notes.md)"
  env:
    CONFLUENCE_BASE_URL: ${{ secrets.CONFLUENCE_BASE_URL }}
    CONFLUENCE_USERNAME: ${{ secrets.CONFLUENCE_USERNAME }}
    CONFLUENCE_API_TOKEN: ${{ secrets.CONFLUENCE_API_TOKEN }}

認証

CLIは以下の認証方法をサポートしています:

  1. APIトークン: Atlassianアカウントから生成(推奨)
  2. Basic認証: ユーザー名とパスワード(非推奨、後方互換性のため)
  3. OAuth: サーバー間OAuth(Atlassian Cloudの場合)

詳細情報

関連スキル