Gemini AI を使用した不具合レポートの自動化:Jotform から GitHub へ、そして Telegram への通知送信

中級

これは自動化ワークフローで、10個のノードを含みます。主にCode, Telegram, GithubTool, GoogleSheets, JotFormTriggerなどのノードを使用。 Gemini AIを使用したバグレポートの自動化:JotformからGitHubへとTelegram投稿を送信

前提条件
  • Telegram Bot Token
  • GitHub Personal Access Token
  • Google Sheets API認証情報
  • Google Gemini API Key

カテゴリー

-
ワークフロープレビュー
ノード接続関係を可視化、ズームとパンをサポート
ワークフローをエクスポート
以下のJSON設定をn8nにインポートして、このワークフローを使用できます
{
  "meta": {
    "instanceId": "93f396852104089b8670e7494b0f3668b420464668ae4a8c1d6b4b5799f8e3ef"
  },
  "nodes": [
    {
      "id": "50464290-3352-49d8-a055-af7d43754ef7",
      "name": "テキストメッセージを送信",
      "type": "n8n-nodes-base.telegram",
      "position": [
        832,
        560
      ],
      "webhookId": "7add611a-f26c-46ad-8a55-6ffe044d10cd",
      "parameters": {
        "text": "={{ $json.message }}",
        "chatId": "enter-your-chat-id",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "SswL7VO9b2dPGZ8r",
          "name": "jobaibot"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "0a0a55fe-d075-482a-baca-cd64cc8c207e",
      "name": "JotFormトリガー",
      "type": "n8n-nodes-base.jotFormTrigger",
      "position": [
        -240,
        560
      ],
      "webhookId": "9a85ab7e-20a4-47f2-ac30-119563a0b22c",
      "parameters": {
        "form": "252865896233066",
        "onlyAnswers": false
      },
      "credentials": {
        "jotFormApi": {
          "id": "4612J1BsqtC505ac",
          "name": "secondary"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
      "name": "AIエージェント",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        16,
        560
      ],
      "parameters": {
        "text": "=1. Firstly read the user submitted bug description from the below content:\n\n{{ $json.rawRequest['Bug Description'] }}\n\n2. Then secondly check whether the bug is already created in github repo or not for that use the tool named \"Get issues of a repository in GitHub\" and just check whethere the bug is already listed or not based on the context.\n\n3. If that particular issue is not there in github repo then simply create a new issue with appropiate names and for that just use the tool named \"Create an issue in GitHub\".\n\n4. And then only after following these above 3 steps above and then give output only in JSON with appropiate details:\n\nexample output:\n{\n  \"issue_name\": \"UI Freeze on Back Navigation from Settings to Home\",\n  \"issue_description\": \"A critical navigation bug occurs when a user attempts to return to the Home screen from the Settings screen. Upon initiating the back navigation action, the application's view transitions to the Home screen, but the user interface becomes completely unresponsive. All interactive elements fail to register any input, effectively trapping the user on a frozen Home screen and necessitating a full application restart to restore functionality.\",\n  \"present_in_github\": false\n}",
        "options": {},
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 2.2
    },
    {
      "id": "663dd67a-bfff-4d6b-8792-c285a65f4747",
      "name": "GitHubのイシューを取得",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        0,
        816
      ],
      "webhookId": "94b33202-124c-418c-a040-f86b7ba04075",
      "parameters": {
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "resource": "repository",
        "repository": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "getRepositoryIssuesFilters": {}
      },
      "credentials": {
        "githubApi": {
          "id": "pCtsjSJXJxiMp1uG",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "de299064-b480-4b29-9f33-68a002531bad",
      "name": "Google Gemini チャットモデル",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        -176,
        832
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "qsaK3VMNWQDWLweQ",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "e2d56ba4-fd1b-4510-95da-20e2535fb766",
      "name": "GitHubにイシューを作成",
      "type": "n8n-nodes-base.githubTool",
      "position": [
        176,
        816
      ],
      "webhookId": "71e184d6-29ff-4088-a6ca-bc068c48c912",
      "parameters": {
        "body": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Body', ``, 'string') }}",
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "="
        },
        "title": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Title', ``, 'string') }}",
        "labels": [],
        "assignees": [],
        "repository": {
          "__rl": true,
          "mode": "url",
          "value": "="
        }
      },
      "credentials": {
        "githubApi": {
          "id": "pCtsjSJXJxiMp1uG",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "bf1272a6-7ba4-4939-b984-4d328420eb94",
      "name": "構造化出力パーサー",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        336,
        832
      ],
      "parameters": {
        "jsonSchemaExample": "{\n  \"issue_name\": \"UI Freeze on Back Navigation from Settings to Home\",\n  \"issue_description\": \"A critical navigation bug occurs when a user attempts to return to the Home screen from the Settings screen. Upon initiating the back navigation action, the application's view transitions to the Home screen, but the user interface becomes completely unresponsive. All interactive elements fail to register any input, effectively trapping the user on a frozen Home screen and necessitating a full application restart to restore functionality.\",\n  \"present_in_github\": false\n}"
      },
      "typeVersion": 1.3
    },
    {
      "id": "3b1f6ac3-c695-48cf-aef9-90f00224bec4",
      "name": "シートの行を追加または更新",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        400,
        560
      ],
      "parameters": {
        "columns": {
          "value": {
            "id": "={{ $('JotForm Trigger').item.json.submissionID }}",
            "email": "={{ $('JotForm Trigger').item.json.rawRequest['Your Email Address'] }}",
            "issue": "={{ $json.output.issue_description }}",
            "Full name": "={{ $('JotForm Trigger').item.json.rawRequest['Your Name'].first }} {{ $('JotForm Trigger').item.json.rawRequest['Your Name'].last }}",
            "present_in_github?": "={{ $json.output.present_in_github }}"
          },
          "schema": [
            {
              "id": "id",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "id",
              "defaultMatch": true,
              "canBeUsedToMatch": true
            },
            {
              "id": "Full name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Full name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "email",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "email",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "issue",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "issue",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "present_in_github?",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "present_in_github?",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "id"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw/edit#gid=0",
          "cachedResultName": "Sheet1"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1WhQv-pyvnN4-j2hvH7DgYXSS3BZKrCLZlzV2a3eVJAw/edit?usp=drivesdk",
          "cachedResultName": "Github user submitted BUGS log"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "vemTjHgIvPJgj9C5",
          "name": "Google Sheets account"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "6f5df4f5-563c-4d8b-ae1f-fede2b464754",
      "name": "JavaScriptコード",
      "type": "n8n-nodes-base.code",
      "position": [
        608,
        560
      ],
      "parameters": {
        "jsCode": "const item = items[0];\n\nconst issueDetails = item.json.issue;\nconst isPresentOnGithub = item.json['present_in_github?'];\n\nlet message = `An user submitted an issue....\\n\\n**Issue:** \"${issueDetails}\"\\n\\n`;\n\nif (isPresentOnGithub) {\n  message += \"✅ You don't need to do anything regarding this, as the issue is already reported on GitHub.\";\n} else {\n  message += \"❗ Please look into this. The issue has just been created in our GitHub repo, so take your time to review and fix it.\";\n}\n\nitem.json.message = message;\n\nreturn item;"
      },
      "typeVersion": 2
    },
    {
      "id": "aaafdc7e-0b25-471b-8ae5-eaca969d9994",
      "name": "付箋",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -320,
        224
      ],
      "parameters": {
        "width": 1360,
        "height": 768,
        "content": "This workflow automates the process of handling bug reports submitted through a form, from checking for duplicates on GitHub to logging the report and sending a notification.\n\n---\nA bug report is submitted via a JotForm, initiating the workflow.\n\nAn AI agent checks for duplicates on GitHub, creating a new issue if the bug is unique.\n\nThe form submission and the AI's analysis are logged in a Google Sheet for record-keeping.\n\nA dynamic notification is sent to a Telegram chat, alerting the team to the new or existing issue."
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "66f6ed0c-2263-4e75-8265-c8ee563e2205": {
      "main": [
        [
          {
            "node": "3b1f6ac3-c695-48cf-aef9-90f00224bec4",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0a0a55fe-d075-482a-baca-cd64cc8c207e": {
      "main": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6f5df4f5-563c-4d8b-ae1f-fede2b464754": {
      "main": [
        [
          {
            "node": "50464290-3352-49d8-a055-af7d43754ef7",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "de299064-b480-4b29-9f33-68a002531bad": {
      "ai_languageModel": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "bf1272a6-7ba4-4939-b984-4d328420eb94": {
      "ai_outputParser": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "e2d56ba4-fd1b-4510-95da-20e2535fb766": {
      "ai_tool": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "3b1f6ac3-c695-48cf-aef9-90f00224bec4": {
      "main": [
        [
          {
            "node": "6f5df4f5-563c-4d8b-ae1f-fede2b464754",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "663dd67a-bfff-4d6b-8792-c285a65f4747": {
      "ai_tool": [
        [
          {
            "node": "66f6ed0c-2263-4e75-8265-c8ee563e2205",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
よくある質問

このワークフローの使い方は?

上記のJSON設定コードをコピーし、n8nインスタンスで新しいワークフローを作成して「JSONからインポート」を選択、設定を貼り付けて認証情報を必要に応じて変更してください。

このワークフローはどんな場面に適していますか?

中級

有料ですか?

このワークフローは完全無料です。ただし、ワークフローで使用するサードパーティサービス(OpenAI APIなど)は別途料金が発生する場合があります。

関連ワークフロー

JotformおよびGeminiを使用したフリーランス案件の自動受け取り
JotformとGeminiを使用したフリーランスプロジェクトの受注明自動化とカスタムプレゼンターション
If
Gmail
Google Sheets
+
If
Gmail
Google Sheets
9 ノードiamvaar
Jotform、Gemini AI、Google Sheets を使用した内部クレーム処理の自動化
Jotform、Gemini AI、Google Sheetsを使って、内部でのクレーム処理を自動化
If
Gmail
Google Sheets
+
If
Gmail
Google Sheets
22 ノードiamvaar
チケット管理
Jotform、GDrive、Gemini を使用した自動後_processor_製品配信とアップセル販売
Jotform・GDrive・Gemini を使用した自動後梱品の交付とアップセル
Gmail
Google Drive
Google Sheets
+
Gmail
Google Drive
Google Sheets
8 ノードiamvaar
AI駆動のNDA審査と即時アラートシステム - JotForm、Gemini、Telegram
JotForm、Gemini、Telegramを基盤としたAI駆動のNDA審査と即時アラートシステム
Telegram
Http Request
Jot Form Trigger
+
Telegram
Http Request
Jot Form Trigger
13 ノードiamvaar
AI、JotForm、WhatsApp、カレンダーに基づく自動化された法律事務所のリード管理とスケジューリング
AI、JotForm、WhatsApp、およびカレンダーによる自動化された法律事務所リード管理とスケジューリング
If
Whats App
Google Sheets
+
If
Whats App
Google Sheets
16 ノードiamvaar
コンテンツ作成
Supabase、Google スプレッドシート、Gmail に基づく自動のなユーザー再活性化システム
Supabase、Googleスプレッドシート、Gmailを使用した自動用戶再活性化システム
Set
Code
Gmail
+
Set
Code
Gmail
14 ノードiamvaar
ソーシャルメディア
ワークフロー情報
難易度
中級
ノード数10
カテゴリー-
ノードタイプ9
難易度説明

経験者向け、6-15ノードの中程度の複雑さのワークフロー

外部リンク
n8n.ioで表示

このワークフローを共有

カテゴリー

カテゴリー: 34