n8n GitHub バックアップ拡張(n8n-backup-extension)
概要
n8n-backup-extensionは、n8nのワークフロー編集画面に「Push to GitHub」ボタンを追加するブラウザ拡張です。編集中のワークフローを手元から直接GitHubリポジトリへ保存・更新でき、運用中のワークフローのバージョン管理やバックアップを容易にします。APIキーはChrome/Edgeの安全なストレージにローカル保存され、既存ファイルはGitHub APIでSHAを確認した上で更新されるため、データ整合性にも配慮されています。UIはインライン設定でリポジトリ情報やブランチ、保存先パスなどを簡単に指定可能です。(約300字)
リポジトリの統計情報
- スター数: 1
- フォーク数: 0
- ウォッチャー数: 1
- コミット数: 3
- ファイル数: 9
- メインの言語: JavaScript
主な特徴
- ワンクリックでn8nワークフローをGitHubへバックアップ
- APIキーはブラウザのSecure Storageにローカル保存(セキュア)
- GitHubのSHAを用いたスマートなファイル更新(上書き防止・整合性確保)
- 拡張UIからリポジトリ/ブランチ/パスを簡単に設定可能
技術的なポイント
この拡張は主にChrome/Edgeの拡張機能APIとGitHub REST APIを組み合わせて動作します。コンテンツスクリプト(content.js)はn8nのワークフローエディタDOMにボタンを注入し、ユーザー操作を受け取る役割を担います。ボタン押下時のバックエンド処理やネットワーク通信はbackground.jsで行い、クロスオリジンリクエストや認証トークン管理を分離しています。認証情報(GitHubのパーソナルアクセストークン等)はchrome.storage(拡張用の安全ストレージ)に保存され、manifestで必要な権限のみを要求する設計にすることでローカルに限定した安全な保管を実現しています。
GitHubへの保存処理では、まずターゲットファイルの存在と最新SHAを取得し、ファイルが既に存在する場合は取得したSHAをPUTリクエストに含めて更新(safe update)します。新規ファイルは別途作成することで競合を避けます。ワークフロー自体はn8nのエディタからJSON形式で取得され、ファイル名や保存パスは拡張の設定でカスタマイズ可能。エラー発生時や認証切れにはユーザー向けに適切なメッセージを表示できるよう、UI側とバックグラウンド側でエラーハンドリングを分離しています。
構成ファイルは比較的シンプルで、content.js/background.jsを核にアイコン資産とマニフェスト(READMEから推定)を持つ典型的なブラウザ拡張の形をとります。将来的にはGitHub AppsやOAuthフローへの対応、ワークフロー差分表示や自動コミットメッセージ生成などの機能追加が考えられます。(約700字)
プロジェクトの構成
主要なファイルとディレクトリ:
- .gitignore: file
- README.md: file
- background.js: file
- content.js: file
- icons: dir
…他 4 ファイル
まとめ
n8nの編集画面から手軽にGitHubへバックアップできる、実用的なブラウザ拡張です(約50字)。
リポジトリ情報:
- 名前: n8n-backup-extension
- 説明: 説明なし
- スター数: 1
- 言語: JavaScript
- URL: https://github.com/backendtargeted/n8n-backup-extension
- オーナー: backendtargeted
- アバター: https://avatars.githubusercontent.com/u/35263402?v=4
READMEの抜粋:
n8n GitHub Backup Extension
A Chrome/Edge browser extension that adds a “Push to GitHub” button to your n8n workflow editor, allowing you to backup workflows to GitHub with one click.
Features
- 🚀 One-Click Backup: Push workflows to GitHub directly from the n8n UI
- 🔒 Secure Storage: API keys stored locally using Chrome’s secure storage
- 🔄 Smart Updates: Automatically updates existing files using GitHub’s SHA-based versioning
- ⚙️ Easy Configuration: Inline settings p…