自動化のための動的なGitHubバージョン管理 - n8n ワークフロー

この特化型n8nワークフローを使用してDevOpsプラクティスを簡素化します。バージョン管理のためにGitHubと連携し、ローカルのn8nワークフローステータスを比較し、コミットを容易に管理します。

ワークフロープレビュー

自動化の準備はいいですか?

このn8nワークフローテンプレートをダウンロードして、今すぐ使い始めましょう。

こんな方におすすめ

• プロジェクトでバージョン管理を必要とする自動化スペシャリスト
• 本番環境とステージング環境のn8nテンプレートを管理するDevOpsチーム
• 稼働中のn8nワークフローとリモートのGitHubバックアップとの差分比較が必要なユーザー
• n8nプロジェクトに対して堅牢な変更管理ツールを求める開発者

概要

適切なバージョン管理なしに重要な自動化ロジックの変更を管理するのは困難な場合があります。この複雑なn8nワークフローは、アクティブなn8nワークフローとGitHubを直接リンクするバージョン管理インターフェースとして機能することで、この問題を解決します。複数のn8nトリガーWebhookを利用して、利用可能なフローの一覧表示、ワークフローステータスの取得、ローカルの変更とGitHubとの比較、更新のコミットという4つの主要な操作を処理します。n8nノードを活用することで、このソリューションはライブのワークフローデータを取得してパッケージ化し、次にGitHub n8nノードを使用してファイル操作(読み取りとコミット)を管理し、n8nテンプレートのためのシームレスで追跡可能な開発環境を構築します。

仕組み

この強力なn8nワークフローは、それぞれ専用のn8nトリガーWebhookによって開始される4つの明確な操作ブランチで動作します。


  1. UI生成(GitHubワークフローの一覧表示): Webhook-ideogener8r というWebhookトリガーがリクエストを捕捉します。フローは必要な変数を設定し、GitHub n8nノードを使用してワークフローファイルのリストを取得します。このデータが集約され、HTML-UI n8nノードに渡され、機能的なユーザーインターフェースがレンダリングされ、Respond with UI n8nノードを介して応答されます。

  2. ワークフローの比較: Get-Workflow-Changes Webhookが比較処理を開始します。フローはまずGitHub n8nノードを使用してGitHubから指定されたワークフローJSONを取得します。次に、Get n8n Workflow n8nノードを使用して、ローカルインスタンス上の同じn8nワークフローのライブ定義を取得します。後続のCode n8nノード (ComapreNodes) がロジックを実行して差分をハイライトし、その結果がWebhook応答として返されます。

  3. ローカルワークフローの一覧表示: Get-n8n-workflows トリガーは、n8n | get wf1 n8nノードを使用して、インスタンス上のすべてのアクティブなn8nテンプレートの一覧を取得します。このリストは処理され、コントロールパネルに表示されるためにWebhook経由で返されます。

  4. 変更のコミット: submit-form Webhookが更新の保存を処理します。Switch1 n8nノードを介して、ユーザーが既存のワークフローを編集しているのか、新規作成しているのかを判断します。どちらのパスもn8nノードを使用して現在のワークフローコンテンツを取得してから、適切なGitHub n8nノード(Commit Workflow Edit または Commit New File)に渡し、バージョン管理プロセスを完了します。すべてのコミットはGitHub n8nノードを使用して、ライブのn8nワークフローとリモートリポジトリ間の同期を確実に行います。

インストールガイド

この包括的なn8nワークフローをデプロイするには、以下を実行します:


  1. インポート: 提供されたJSONデータをコピーし、n8nインスタンスで「新規作成」->「JSONからインポート」機能を使用して貼り付けます。

  2. 認証情報: 主に2つのセットの認証情報を設定する必要があります:

GitHub認証情報: GitHub n8nノードの接続を設定し、リポジトリへのアクセスを許可します(リポジトリスコープ、ファイル読み取り/書き込み権限が必要です)。
n8n API認証情報: 個人APIキーまたはベーシック認証を使用してn8nノードの接続を設定し、ローカルn8nインスタンスのワークフローへの読み取りと書き込みを許可します。これは、n8nノードがライブ定義を取得するために不可欠です。

  1. Webhook URL: 起動後、4つのn8nトリガーノード(Webhook-ideogener8r, Get-Workflow-Changes, Get-n8n-workflows, submit-form)すべてのWebhook URLを取得します。これらは、このバージョン管理システムを駆動するフロントエンドUIコンポーネントによって使用されます。

  2. パスの設定: 各種Set n8nノード(例: Set Workflow Variables, Set GH Repo and Path3)のパラメータを調整し、n8nワークフローファイルを保存するための特定のリポジトリ名や目的のファイルパスを指すようにします。

ノード詳細

Webhook(複数トリガー): UI操作、比較リクエスト、コミット送信の入口(n8n trigger)として機能します。
Set n8nノード: 広範に使用され(例: Set Workflow Variables, Set Flows)、後続のGitHubノードやn8nノードの操作に必要なリポジトリ名、ファイルパス、ワークフローIDなどの変数を抽出、名前変更、設定します。
n8nノード(例: n8n | get wf1, Get n8n Workflow): n8n API自体との通信に不可欠です。主な機能は、すべての既存n8nワークフローを一覧表示する(getAll)か、IDに基づいて特定のn8nワークフローのJSON定義を取得する(get)ことです。
GitHub n8nノード: リポジトリ内のファイル一覧表示、保存されているn8nワークフローファイルのコンテンツ読み取り、編集済みまたは新規のワークフローJSONをリポジトリにコミットすることを含む、すべてのバージョン管理操作を処理します。
HTML n8nノード: 最初のフロー(HTML-UI)で使用され、他のWebhookエンドポイントと対話するユーザーインターフェースを動的に生成・提供し、n8nテンプレート管理専用のUIを実現します。
Respond to Webhook n8nノード: n8nワークフローパスの実行後、データ(HTML UI、比較結果、またはコミット確認)をユーザーまたはリクエスト元のクライアントに返します。


  • Switch n8nノード (Switch1): フォーム送信時の実行パスを決定し、GitHubリポジトリ内の既存のn8nワークフローファイルを更新する場合と新規作成する場合を区別します。

関連するn8nワークフロー

有料

ノード: 11 ノード
更新済み: 12月 26 2025
すべて表示

特徴*