Problema de Bug

Avanzado

Este es unProject Management, AI Summarizationflujo de automatización del dominio deautomatización que contiene 16 nodos.Utiliza principalmente nodos como If, Set, Gmail, Github, Webhook. Seguimiento de bugs impulsado por IA basado en Gemini, integrado con GitHub Issues y notificaciones por Telegram

Requisitos previos
  • Cuenta de Google y credenciales de API de Gmail
  • Personal Access Token de GitHub
  • Punto final de HTTP Webhook (n8n generará automáticamente)
  • Bot Token de Telegram
  • Clave de API de Google Gemini
Vista previa del flujo de trabajo
Visualización de las conexiones entre nodos, con soporte para zoom y panorámica
Exportar flujo de trabajo
Copie la siguiente configuración JSON en n8n para importar y usar este flujo de trabajo
{
  "id": "oMPzIvHGqBMRtDqs",
  "meta": {
    "instanceId": "d02289ff41436fdfe97f97a509483d64007d2a482e6a216298112e027bb59fbf",
    "templateCredsSetupCompleted": true
  },
  "name": "Bug Issue",
  "tags": [],
  "nodes": [
    {
      "id": "f6c0e6ea-e5f6-4cd2-9c52-74a85d4a998a",
      "name": "Disparador Webhook",
      "type": "n8n-nodes-base.webhook",
      "position": [
        -208,
        0
      ],
      "webhookId": "c16e3a34-5998-41c2-8a94-c9f0bddf3f27",
      "parameters": {
        "path": "c16e3a34-5998-41c2-8a94-c9f0bddf3f27",
        "options": {},
        "httpMethod": "POST"
      },
      "typeVersion": 2
    },
    {
      "id": "2a817d54-8ecf-42c6-ab5f-bc987ebdc08a",
      "name": "Modelo de chat Google Gemini",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        16,
        192
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "LqsDVdm5OmSBk8zP",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "dc29d312-a00b-485d-803e-f8af7fa0f920",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        592,
        176
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "fee097c0-d7c0-454e-b935-32d2ca3b8eff",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.data.approved }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "14d12835-4bbe-4b62-830b-54d9943b69e7",
      "name": "Modelo de chat Google Gemini1",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        992,
        144
      ],
      "parameters": {
        "options": {}
      },
      "credentials": {
        "googlePalmApi": {
          "id": "LqsDVdm5OmSBk8zP",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "2017650b-61f7-4d8d-9366-047dc68b8c97",
      "name": "Create an issue",
      "type": "n8n-nodes-base.github",
      "position": [
        1360,
        -16
      ],
      "webhookId": "db0affcc-d36a-4e2e-8cea-77aaa4c0018b",
      "parameters": {
        "body": "=Summary:\n{{ $json.output.text }}\n\nDescription:\n{{ $('Filter').item.json.message }}\n\nImage: ![Image]({{ $('Bug Classifier').item.json.body.imageUrl }})\n",
        "owner": {
          "__rl": true,
          "mode": "url",
          "value": "https://github.com/rully-saputra15"
        },
        "title": "=New issue from {{ $('Filter').item.json.body.name }} - {{ $('Filter').item.json.body.userId }}",
        "labels": [],
        "assignees": [],
        "repository": {
          "__rl": true,
          "mode": "list",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        }
      },
      "credentials": {
        "githubApi": {
          "id": "fofPmxw5wsjoQtBE",
          "name": "GitHub account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "76527e66-3b6c-4d09-a494-c7393992bf3f",
      "name": "Approval from Manager",
      "type": "n8n-nodes-base.gmail",
      "position": [
        384,
        176
      ],
      "webhookId": "31831aca-b5ed-4f4d-845c-b97ee26ec41e",
      "parameters": {
        "sendTo": "rully.saputra4@gmail.com",
        "message": "=Review: {{ $json.body.message }}\n\nBy: {{ $json.body.name }}\nUser Id: {{ $json.body.userId }}",
        "options": {},
        "subject": "=Approval to create a issue bug by {{ $json.body.name }}",
        "operation": "sendAndWait",
        "approvalOptions": {
          "values": {
            "approvalType": "double"
          }
        }
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "jnWB2PPVjndum47v",
          "name": "Gmail account"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "58b044b1-12ff-4128-9d51-0525cf2eec89",
      "name": "Filtrar",
      "type": "n8n-nodes-base.set",
      "position": [
        800,
        -16
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "618eaa69-fe2e-45b0-b2c0-0ceeda914576",
              "name": "message",
              "type": "string",
              "value": "={{ $('Webhook').item.json.body.message }}"
            },
            {
              "id": "65078ccf-1874-44fe-949e-3233e0c14eb6",
              "name": "body.name",
              "type": "string",
              "value": "={{ $('Webhook').item.json.body.name }}"
            },
            {
              "id": "b835283c-9624-48ac-b393-43fb934ac143",
              "name": "body.userId",
              "type": "string",
              "value": "={{ $('Webhook').item.json.body.userId }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "6e262f05-116d-45cd-9092-7fdea722b434",
      "name": "Notify Group",
      "type": "n8n-nodes-base.telegram",
      "position": [
        816,
        352
      ],
      "webhookId": "fd9e0146-26d4-431e-aeae-675081e45e59",
      "parameters": {
        "text": "=Severity: Low\n\nIssue: {{ $('Bug Classifier').item.json.body.message }}\n\nName: {{ $('Bug Classifier').item.json.body.name }}\n\nUser ID: {{ $('Bug Classifier').item.json.body.userId }}",
        "chatId": "",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "BDQbUISqJJFVGPsF",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "b55c9000-7bb6-45e9-923c-a2c804b777c5",
      "name": "Notify Manager Group",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1536,
        -16
      ],
      "webhookId": "fd9e0146-26d4-431e-aeae-675081e45e59",
      "parameters": {
        "text": "=❗❗❗Severity: High❗❗❗\n\nSummary: {{ $('Bug Description Summarizer').item.json.output.text }}\n\nIssue: {{ $('Bug Classifier').item.json.body.message }}\n\nName: {{ $('Bug Classifier').item.json.body.name }}\n\nUser ID: {{ $('Bug Classifier').item.json.body.userId }}\n\nGithub Link: {{ $json.html_url }}",
        "chatId": "",
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "BDQbUISqJJFVGPsF",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "40efd4b5-ec3c-41fd-b484-822093fa081e",
      "name": "Nota adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -256,
        -352
      ],
      "parameters": {
        "width": 752,
        "height": 304,
        "content": "## Auto-Create GitHub Issues from Webhook Events & Notify via Telegram 🚀\nAutomate bug or task creation using a smart classifier and summarizer powered by Gemini. This setups listens forincoming data, automatically classifies it, and sends a real-time notification to Telegram group.\n\nTo make it more robust, consider adding manager approval for the low-severity issues, in case only high-severity issues are meant to be included in Github Repo.\n\nThis solution is perfect for teams that receive bug reports or logs from external soruces and need immediate visibility.\n\nYou can replace Telegram with your preferred messaging platform."
      },
      "typeVersion": 1
    },
    {
      "id": "3966e550-09a1-430c-8e11-7f0300cf7552",
      "name": "Bug Classifier",
      "type": "@n8n/n8n-nodes-langchain.textClassifier",
      "position": [
        16,
        0
      ],
      "parameters": {
        "options": {
          "systemPromptTemplate": "Please classify the text provided by the user that report bug from our platform into one of the following categories: {categories}, and use the provided formatting instructions below. Don't explain, and only output the json."
        },
        "inputText": "={{ $('Webhook').item.json.body.message }}",
        "categories": {
          "categories": [
            {
              "category": "High",
              "description": "A bug that disrupt the main user flow."
            },
            {
              "category": "Low",
              "description": "A bug that didn't impact the user flow but could reduce the user experience."
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "2a02b306-9926-4d86-be92-06d5bba9dfe3",
      "name": "Nota adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        768,
        -224
      ],
      "parameters": {
        "color": 7,
        "content": "## Filter\nEnsure that only the relevant value is passed to the bug description summarizer."
      },
      "typeVersion": 1
    },
    {
      "id": "17a9943c-2bd5-4dc5-8789-2d951eee606d",
      "name": "Bug Description Resumirr",
      "type": "@n8n/n8n-nodes-langchain.chainSummarization",
      "position": [
        992,
        -16
      ],
      "parameters": {
        "options": {},
        "chunkSize": 100000
      },
      "typeVersion": 2.1
    },
    {
      "id": "dbdb329d-de7f-4e85-97d6-d2db98f7e48d",
      "name": "Nota adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        176
      ],
      "parameters": {
        "color": 7,
        "content": "## Github\nYou can change with your repo link."
      },
      "typeVersion": 1
    },
    {
      "id": "37083a4e-9a3d-452c-9415-3563b075841c",
      "name": "Nota adhesiva3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        416
      ],
      "parameters": {
        "color": 7,
        "width": 368,
        "height": 224,
        "content": "## Messaging Platform\nYou can use seperate approaches for Telegram messages based on low or high severity.\n\nTelegram tutorial: https://docs.n8n.io/integrations/builtin/app-nodes/n8n-nodes-base.telegram/message-operations/#send-message"
      },
      "typeVersion": 1
    },
    {
      "id": "9a8eaa1a-df98-44c6-a0ef-8ed5abe73d43",
      "name": "Nota adhesiva4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        128
      ],
      "parameters": {
        "color": 7,
        "width": 208,
        "height": 96,
        "content": "Define the conditions for “High” vs “Low” severity based on your data."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "78491155-5d99-456e-afd8-f3c5bb9689ab",
  "connections": {
    "dc29d312-a00b-485d-803e-f8af7fa0f920": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "6e262f05-116d-45cd-9092-7fdea722b434",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Filter": {
      "main": [
        [
          {
            "node": "Bug Description Summarizer",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Webhook": {
      "main": [
        [
          {
            "node": "3966e550-09a1-430c-8e11-7f0300cf7552",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "3966e550-09a1-430c-8e11-7f0300cf7552": {
      "main": [
        [
          {
            "node": "Filter",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "76527e66-3b6c-4d09-a494-c7393992bf3f",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "2017650b-61f7-4d8d-9366-047dc68b8c97": {
      "main": [
        [
          {
            "node": "b55c9000-7bb6-45e9-923c-a2c804b777c5",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "76527e66-3b6c-4d09-a494-c7393992bf3f": {
      "main": [
        [
          {
            "node": "dc29d312-a00b-485d-803e-f8af7fa0f920",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "3966e550-09a1-430c-8e11-7f0300cf7552",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model1": {
      "ai_languageModel": [
        [
          {
            "node": "Bug Description Summarizer",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Bug Description Summarizer": {
      "main": [
        [
          {
            "node": "2017650b-61f7-4d8d-9366-047dc68b8c97",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Preguntas frecuentes

¿Cómo usar este flujo de trabajo?

Copie el código de configuración JSON de arriba, cree un nuevo flujo de trabajo en su instancia de n8n y seleccione "Importar desde JSON", pegue la configuración y luego modifique la configuración de credenciales según sea necesario.

¿En qué escenarios es adecuado este flujo de trabajo?

Avanzado - Gestión de proyectos, Resumen de IA

¿Es de pago?

Este flujo de trabajo es completamente gratuito, puede importarlo y usarlo directamente. Sin embargo, tenga en cuenta que los servicios de terceros utilizados en el flujo de trabajo (como la API de OpenAI) pueden requerir un pago por su cuenta.

Información del flujo de trabajo
Nivel de dificultad
Avanzado
Número de nodos16
Categoría2
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios avanzados, flujos de trabajo complejos con 16+ nodos

Autor
Rully Saputra

Rully Saputra

@rullysaputra15

Specializing in software engineering with over 5 years of hands-on experience. In addition to my expertise in web development, I also have experience in creating Hybrid mobile apps.

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34