Revisión de Jira

Intermedio

Este es unEngineering, Product, AIflujo de automatización del dominio deautomatización que contiene 13 nodos.Utiliza principalmente nodos como If, Set, Jira, Summarize, GoogleDocs, combinando tecnología de inteligencia artificial para lograr automatización inteligente. Usar AI y Google Docs para generar informes de lecciones aprendidas de epics de Jira

Requisitos previos
  • Clave de API de OpenAI
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": "U1xUqDLvBYYSU6EU",
  "meta": {
    "instanceId": "8d54a4232b4618928ac9df0152e207cb858f5f9ffa6f3ba2d31d941bdcaec9d7",
    "templateCredsSetupCompleted": true
  },
  "name": "Jira Retrospective",
  "tags": [],
  "nodes": [
    {
      "id": "b91c4727-8c63-4bf3-8101-6282aa6f592c",
      "name": "Jira Obtener Todos los Issues",
      "type": "n8n-nodes-base.jira",
      "position": [
        60,
        60
      ],
      "parameters": {
        "options": {},
        "operation": "getAll"
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "AqnrDWxoCa8luriP",
          "name": "Jira SW Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4cf0689c-2a1f-4a90-81f4-d3483c63fc96",
      "name": "Jira Obtener Todos los Comentarios",
      "type": "n8n-nodes-base.jira",
      "position": [
        280,
        60
      ],
      "parameters": {
        "options": {},
        "issueKey": "={{ $json.key }}",
        "resource": "issueComment",
        "operation": "getAll"
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "AqnrDWxoCa8luriP",
          "name": "Jira SW Cloud account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "26803742-1a94-4969-878b-2f757aced4f8",
      "name": "Agentee de IA",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "position": [
        940,
        60
      ],
      "parameters": {
        "text": "=comments = {{ $json.concatenated_Comment }}\ndescription = {{ $json.Description }}\ntitle = {{ $json.Title }}\nstatus = {{ $json.EpicStatus }}\nepic_name = {{ $json.EpicName }}\n",
        "options": {
          "systemMessage": "=You are an AI assistant specialized in creating comprehensive Agile retrospective documents. Your task is to analyze the provided information about a completed task and generate an insightful **Lessons Learned** report formatted in **clean Markdown**, optimized for seamless conversion to Google Docs.\n\n---\n\n### 📥 Input Format\nYou will receive structured input containing:\n* `epic_name`: The broader initiative or project category\n* `title`: The specific task or user story name\n* `description`: A concise explanation of what the task involved\n\n---\n\n### 📤 Output Instructions\nGenerate a detailed **Lessons Learned** report using the following **Markdown** structure:\n\n# LESSONS LEARNED REPORT\n\n**Epic:** {epic_name} \n**Date:** {{$today.format('yyyy-MM-dd')}}}  \n**Task:** {title}  \n**Description:** {description}\n\n## Key Findings\n\n* Clear, specific insight about a technical challenge encountered\n* Process-related discovery that impacted delivery\n* Team dynamics observation or workflow improvement identified\n* {Add more if needed}\n\n## Comments & Observations\n\n{Write 2–3 paragraphs with:}\n\n* Specific examples from task execution\n* Feedback or quotes from team members (if available)\n* Comparisons to prior approaches\n* Unexpected challenges or positive surprises\n\n## Actionable Recommendations\n\n1. Specific, implementable action to address a finding\n2. Concrete suggestion for process improvement\n3. Recommendation for knowledge sharing or team development\n4. {Add more as needed}\n\n## Metrics & Impact\n\n{When possible, include:}\n\n* Time saved or efficiency gained\n* Quality improvements\n* User/customer feedback\n* Cost implications\n\n## Tags\n\n`#lessons-learned` `#{normalized_epic_name}` `#{relevant_technology}` `#{improvement_area}`\n\n---\n\n### 📝 Guidelines\n\n1. **Be specific** – use real details, not vague statements\n2. **Stay relevant** – stick to the task and its broader context\n3. **Focus on learning** – prioritize transferable insights\n4. **Balance** – include both wins and challenges\n5. **Actionability** – make every suggestion doable\n6. **Concise yet clear** – avoid fluff; write for impact\n7. **Formatting Guidelines for Google Docs compatibility:**\n   * Use only asterisks (*) for bullet points, never hyphens (-)\n   * Add two spaces after each line in lists for proper line breaks\n   * Always leave a blank line before and after headings\n   * Avoid using underscores (_) in text; use hyphens (-) instead\n   * For emphasis, use consistently **bold** for important points and *italics* for supplementary information\n   * When mentioning code or technical terms, use `single backticks`, never triple backticks\n   * Use a pipe-separated format for tables as shown in the template\n   * Keep paragraphs short (3-5 sentences) for better readability\n8. **Metadata Handling:** Include the epic name and task title exactly as provided in the input, without modification\n9. **Date Format:** Use YYYY-MM-DD format for the date for consistent sorting and display\n10. **Tags:** Keep tags lowercase, with hyphens instead of spaces, and relevant to the content\n\n---"
        },
        "promptType": "define"
      },
      "typeVersion": 1.9
    },
    {
      "id": "29e37c80-68a4-490a-8952-2dcf974ff8d3",
      "name": "OpenAI Modelo de Chat",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        920,
        280
      ],
      "parameters": {
        "model": {
          "__rl": true,
          "mode": "list",
          "value": "gpt-4o-mini"
        },
        "options": {}
      },
      "credentials": {
        "openAiApi": {
          "id": "f3KRKVUp9GyRxd6U",
          "name": "OpenAi account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "da5e365b-cc69-4bdd-bd58-e5b2ecb17387",
      "name": "Editar Campos",
      "type": "n8n-nodes-base.set",
      "position": [
        500,
        60
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "84fcaf69-4234-46be-9fa7-15026c60fed4",
              "name": "EpicName",
              "type": "string",
              "value": "={{ $('Jira Get All Issues').item.json.fields.parent.fields.summary }}"
            },
            {
              "id": "a7890a6b-1d0d-4486-908e-d3db571b89af",
              "name": "EpicStatus",
              "type": "string",
              "value": "={{ $('Jira Get All Issues').item.json.fields.parent.fields.status.statusCategory.name }}"
            },
            {
              "id": "c2c58d73-17a8-47b5-beb6-8295905cd8c2",
              "name": "Title",
              "type": "string",
              "value": "={{ $('Jira Get All Issues').item.json.fields.summary }}"
            },
            {
              "id": "baa10a35-ab3e-490f-b9ed-e661a6e9f4aa",
              "name": "Description",
              "type": "string",
              "value": "={{ $('Jira Get All Issues').item.json.fields.description }}"
            },
            {
              "id": "5da4ae54-07e6-41b8-bd51-054fe56beb5f",
              "name": "Comment",
              "type": "string",
              "value": "={{ $json.body.content[0].content[0].text }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "9718b066-e28f-41ea-97c2-559cbd894764",
      "name": "Resumir",
      "type": "n8n-nodes-base.summarize",
      "position": [
        720,
        60
      ],
      "parameters": {
        "options": {},
        "fieldsToSplitBy": "EpicName, EpicStatus, Title, Description",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "Comment",
              "separateBy": "\n",
              "aggregation": "concatenate"
            }
          ]
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "1d37efb7-09f1-43a7-a6c0-77d07b1f7a6b",
      "name": "Google Docs",
      "type": "n8n-nodes-base.googleDocs",
      "position": [
        1280,
        60
      ],
      "parameters": {
        "simple": false,
        "actionsUi": {
          "actionFields": [
            {
              "text": "={{ $json.output }}",
              "action": "insert"
            }
          ]
        },
        "operation": "update",
        "documentURL": "14X5gcowEprmL6ORyoo9tIrWWEB1HlhkixXUelesCLXs"
      },
      "credentials": {
        "googleDocsOAuth2Api": {
          "id": "Qe3TZG3K1euzTr3n",
          "name": "Google Docs account"
        }
      },
      "typeVersion": 2
    },
    {
      "id": "bfab4af8-1f26-45b0-952b-1bd5f411d5f4",
      "name": "Jira Activador",
      "type": "n8n-nodes-base.jiraTrigger",
      "position": [
        -380,
        180
      ],
      "webhookId": "3eb46690-d7b1-4a69-9a99-8adf8f843ed9",
      "parameters": {
        "events": [
          "jira:issue_updated"
        ],
        "additionalFields": {
          "filter": ""
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "AqnrDWxoCa8luriP",
          "name": "Jira SW Cloud account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "cc654cf3-c360-4704-a4b7-57447dbec8c6",
      "name": "If",
      "type": "n8n-nodes-base.if",
      "position": [
        -200,
        180
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "a7028dd9-e262-4528-a20f-c80a26a28202",
              "operator": {
                "name": "filter.operator.equals",
                "type": "string",
                "operation": "equals"
              },
              "leftValue": "={{ $json.changelog.items[0].toString }}",
              "rightValue": "Done"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "b3ccd93e-a412-46f5-858d-ef8a2cd0efa9",
      "name": "Memoria Simple",
      "type": "@n8n/n8n-nodes-langchain.memoryBufferWindow",
      "position": [
        1080,
        280
      ],
      "parameters": {
        "sessionKey": "47",
        "sessionIdType": "customKey"
      },
      "typeVersion": 1.3
    },
    {
      "id": "e8379684-93ca-4118-bab5-f52a444c50e1",
      "name": "Nota Adhesiva",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -420,
        -120
      ],
      "parameters": {
        "width": 380,
        "height": 580,
        "content": "## Epic Done?\nThis Node is Triggered on any issue change in Jira. However it only triggers the automation when the Epic status is changed to **Done**"
      },
      "typeVersion": 1
    },
    {
      "id": "cdddcd3f-f896-4dbf-89e2-09060111cbc6",
      "name": "Nota Adhesiva1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        -120
      ],
      "parameters": {
        "color": 5,
        "width": 820,
        "height": 580,
        "content": "## Fetch issue Description and Comments\nOnce the Epic is Done, these nodes fetch issues and comments that fall under the Epic. For further processing the output is bundled."
      },
      "typeVersion": 1
    },
    {
      "id": "c718a2e8-be7b-47b9-b7cc-9f4549a1060f",
      "name": "Nota Adhesiva2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        880,
        -120
      ],
      "parameters": {
        "color": 3,
        "width": 540,
        "height": 580,
        "content": "## Summarize and send to Google Docs\nThe LLM is summarizing the description / comments and generates a report with a layout defined in the System Message. Finally the output is send to Google Docs."
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "793ad505-261f-44ae-a197-a7c0e496dd69",
  "connections": {
    "cc654cf3-c360-4704-a4b7-57447dbec8c6": {
      "main": [
        [
          {
            "node": "b91c4727-8c63-4bf3-8101-6282aa6f592c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Agente de IA": {
      "main": [
        [
          {
            "node": "1d37efb7-09f1-43a7-a6c0-77d07b1f7a6b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "9718b066-e28f-41ea-97c2-559cbd894764": {
      "main": [
        [
          {
            "node": "Agente de IA",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "da5e365b-cc69-4bdd-bd58-e5b2ecb17387": {
      "main": [
        [
          {
            "node": "9718b066-e28f-41ea-97c2-559cbd894764",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bfab4af8-1f26-45b0-952b-1bd5f411d5f4": {
      "main": [
        [
          {
            "node": "cc654cf3-c360-4704-a4b7-57447dbec8c6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b3ccd93e-a412-46f5-858d-ef8a2cd0efa9": {
      "ai_memory": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_memory",
            "index": 0
          }
        ]
      ]
    },
    "29e37c80-68a4-490a-8952-2dcf974ff8d3": {
      "ai_languageModel": [
        [
          {
            "node": "Agente de IA",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "b91c4727-8c63-4bf3-8101-6282aa6f592c": {
      "main": [
        [
          {
            "node": "4cf0689c-2a1f-4a90-81f4-d3483c63fc96",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4cf0689c-2a1f-4a90-81f4-d3483c63fc96": {
      "main": [
        [
          {
            "node": "da5e365b-cc69-4bdd-bd58-e5b2ecb17387",
            "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?

Intermedio - Ingeniería, Producto, Inteligencia Artificial

¿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
Intermedio
Número de nodos13
Categoría3
Tipos de nodos10
Descripción de la dificultad

Adecuado para usuarios con experiencia intermedia, flujos de trabajo de complejidad media con 6-15 nodos

Autor
Tarek Mustafa

Tarek Mustafa

@tarekadam

Project manager with internet in AI and Automation

Enlaces externos
Ver en n8n.io

Compartir este flujo de trabajo

Categorías

Categorías: 34