n8n GitHub バックアップ拡張(n8n-backup-extension)

Tool

概要

n8n-backup-extensionは、n8nのワークフロー編集画面に「Push to GitHub」ボタンを追加するブラウザ拡張です。編集中のワークフローを手元から直接GitHubリポジトリへ保存・更新でき、運用中のワークフローのバージョン管理やバックアップを容易にします。APIキーはChrome/Edgeの安全なストレージにローカル保存され、既存ファイルはGitHub APIでSHAを確認した上で更新されるため、データ整合性にも配慮されています。UIはインライン設定でリポジトリ情報やブランチ、保存先パスなどを簡単に指定可能です。(約300字)

GitHub

リポジトリの統計情報

  • スター数: 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字)。

リポジトリ情報:

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…