GitHubプルリクエストに対する自動ディープリンク検証 - n8n ワークフロー

GitHubのPR作成時にコード内に埋め込まれたモバイルディープリンクを自動検証する堅牢なn8nワークフローです。この専門的なn8nテンプレートはローカルのシェルスクリプトを実行し、結果をGitHubのPRコメントに直接フィードバックします。

ワークフロープレビュー

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

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

使用されているn8nノード

こんな方におすすめ

対象ユーザープロファイル:

モバイル開発チーム: ディープリンクのルーティングに関する継続的インテグレーションチェックを必要としているチーム。
DevOpsエンジニア: CI/CDパイプラインの維持管理や、マージ前チェックの自動化を担当している方。
n8nユーザー: バージョン管理システムとExecute Command n8nノードを連携させる高度な使用例を探している方。
テクニカルリード: 強力なn8nテンプレートを活用し、信頼性の高い自動化された品質ゲートの導入を検討している方。

概要

モバイルアプリケーションを開発する際、ディープリンク(アプリケーションのルーティングスキーム)が正しく設定され、機能していることを確認するのは極めて重要です。すべてのプルリクエスト(PR)に対して手動ですべてのリンクをテストするのは時間がかかり、エラーも発生しがちです。

この洗練されたn8nワークフローは、自動化された品質ゲートを提供することでこの問題を解決します。GitHubのWebhookによってトリガーされると、n8nノード環境が関連リポジトリブランチをチェックアウトし、カスタム検証スクリプト(通常はAndroidManifest.xmlや類似の設定ファイルに対してリンクをチェックするもの)を実行します。その後、結果を整形して見やすいMarkdownテーブルにし、元のPRにコメントとして自動投稿します。専用のn8nノードを使用することでテスト速度が劇的に向上し、アプリケーションルーティングの破損に関連する本番環境でのバグを減らすことができます。この強力なn8nオートメーションを導入することで、マージの高速化と不具合の削減につながります。

仕組み

このオートメーションは、重要なコンポーネントであるn8nトリガーから始まります。


  1. トリガー (GitHub PR Webhook): 設定されたWebhookパス (validate-pr) にPOSTリクエストが到達すると、n8nワークフローが開始されます。これは通常、PRの同期またはオープン時に発火するようにGitHubのWebhookとして設定されます。

  2. 設定 (CONFIG - Variables): フローは直ちにSet n8nノードに入り、Webhookペイロードから抽出されたrepoUrl、pullRequestNumber、branchName、検証スクリプトやマニフェストファイルへのパスなどの必須変数を定義します。これにより、n8nオートメーション全体の設定が一元化されます。

  3. 実行 (Run Validation Script): Execute Command n8nノードがこのテンプレートの核となります。複雑なシェルスクリプトを実行します。このスクリプトは、まず対象ブランチをローカルの一時ディレクトリ (/tmp/validation) にクローンし、実行権限を付与した後、設定された検証スクリプト (validate-links.sh) をマニフェストファイルパスを引数として実行します。スクリプトはカンマ区切りの結果(URL、ステータス)を出力することが期待されます。

  4. データ処理 (Format Markdown): Function n8nノードがコマンド実行から受け取った標準出力 (stdout) を処理します。カンマ区切りの行を反復処理し、ステータスが 'OK' かどうかを確認し、絵文字 (✅/❌) を使って検証ステータスを視覚化する、見栄えの良いMarkdownテーブルを構築します。

  5. 最終アクション (GitHub): 最後に、GitHub n8nノードが設定された認証情報を使用して、元のプルリクエストに新しいコメントを作成します。コメントの本文は、直前のステップで生成された整形済みMarkdownテーブルとなり、GitHub UI内でディープリンク検証ステータスの即時フィードバックを提供します。これにより、完全に自動化されたn8nワークフローのサイクルが完了します。

インストールガイド

このn8nワークフローの設定方法


  1. n8nテンプレートのインポート: JSONデータをコピーし、n8nインスタンスの「新規作成」メニューの「JSONからインポート」オプションから直接インポートします。

  2. 認証情報の設定:

GitHub認証情報: n8n内でGitHub API認証情報を設定する必要があります。これには、リポジトリデータの読み取りとPRコメントの書き込みに必要な適切な権限(repoスコープ)を持つ個人アクセストークン(PAT)が必要です。この認証情報をGitHub n8nノードに割り当てます。

  1. Webhook n8nトリガーの設定:

GitHub PR Webhook n8nノードは一意のURLを提供します。
このURLを対象のGitHubリポジトリのWebhook設定にコピーし、プルリクエストイベントをリッスンするように設定します。

  1. 変数の調整: CONFIG - Variables n8nノードを開き、環境に合わせて以下のプレースホルダーを更新します。

repositoryFullName: 例: your-org/your-repo。
* manifestPath および scriptPath: これらのパスが、リポジトリのルートを基準としてAndroidManifest.xml(または同等のリンク設定)とカスタム検証スクリプトが配置されている場所を正確に反映していることを確認してください。

  1. 実行環境の確保: このn8nワークフローはExecute Command n8nノードに依存しているため、n8nホストマシン(またはDockerコンテナ)のパス内にgitとshが利用可能である必要があり、コマンドが正常に実行できるようにしておかなければなりません。

ノード詳細

主要なn8nノードの詳細解説

GitHub PR Webhook (n8n trigger)
機能: 検証プロセスを開始するためにGitHubからの外部シグナルを待機する、開始ノードとして機能します。
主な設定: POSTメソッドを使用し、パス /validate-pr をリッスンするように設定されています。
CONFIG - Variables (Set n8n node)
機能: リポジトリ詳細、スクリプトパス、後続の処理に必要な動的なpullRequestNumberなどの変数を一元管理します。
主な設定: スクリプト実行とAPI連携に必要な複数の動的および静的な文字列パラメータを定義します。
Run Validation Script (Execute Command n8n node)
機能: コードのクローン、ファイル存在チェック、実行権限の設定、カスタムvalidate-links.shスクリプトの実行といった重要なシェルコマンドを実行します。このn8nテンプレートのコアロジックがここにあります。
主な設定: コマンドスクリプトは、{{ $json.repoUrl }} や {{ $json.branchName }} のような式を使用してgit cloneコマンドを動的に構築し、検証対象のPRコンテンツが正しいことを保証します。
Format Markdown (Function n8n node)
機能: スクリプトの生出力を構造化された使いやすいMarkdownに変換し、GitHubコメントの結果の可読性を高めます。
主な設定: JavaScriptを使用して出力を改行とカンマで分割し、検証ステータスに基づいた条件付き絵文字 (✅/❌) を付与して行を構築します。
GitHub (GitHub n8n node)
機能: フォーマットされた検証結果を、ソースプルリクエストに新しいコメントとして投稿します。
* 主な設定: createComment操作を使用し、CONFIG - Variables n8nノードの出力からissueNumber (PR番号) およびリポジトリ詳細を動的に取得します。

関連するn8nワークフロー

無料

ノード: 5 ノード
更新済み: 12月 26 2025
すべて表示
作成者

A Leading Software Engineering, Consulting & Outsourcing Services Company in USA & India serving Clients Globally since 1999.

特徴*