Täglicher Jira-Ticket-Zusammenfassungs-Generator (GPT-5 + Jira API)
Dies ist ein AI Summarization, Multimodal AI-Bereich Automatisierungsworkflow mit 24 Nodes. Hauptsächlich werden Set, Code, Jira, Gmail, Merge und andere Nodes verwendet. Täglicher Jira-Ticket-Zusammenfassungs-Generator mit GPT-5 und Jira API
- •Google-Konto + Gmail API-Anmeldedaten
- •OpenAI API Key
Verwendete Nodes (24)
Kategorie
{
"meta": {
"instanceId": "d1786ab0d745a7498abf13a9c2cdabb1374c006e889b79eef64ce0386b8f8a41"
},
"nodes": [
{
"id": "aac771be-d274-4ede-93ef-412767b3ee7a",
"name": "Bei Klick auf 'Workflow testen'",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-1100,
400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b38b29ce-860c-4b2c-a8e9-2785aee2dbbb",
"name": "Zusammenführen",
"type": "n8n-nodes-base.merge",
"position": [
420,
300
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.1
},
{
"id": "2327ba0f-e22f-4a1f-92a7-711ff9a547f2",
"name": "Aggregieren",
"type": "n8n-nodes-base.aggregate",
"position": [
0,
20
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{
"fieldToAggregate": "output"
}
]
}
},
"typeVersion": 1
},
{
"id": "0704872b-8cb4-4054-b758-a520eb631059",
"name": "Zusammenführen5",
"type": "n8n-nodes-base.merge",
"position": [
440,
680
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.1
},
{
"id": "a10e25fe-da51-4883-bf9b-a756343b4f81",
"name": "Alle Tickets von heute abrufen",
"type": "n8n-nodes-base.jira",
"position": [
-600,
480
],
"parameters": {
"limit": 12,
"options": {
"jql": "=project = SUP AND created >= startOfDay()"
},
"operation": "getAll"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "758029d7-ef63-4c6a-8fb5-df9a0469b21b",
"name": "Alle Tickets abrufen",
"type": "n8n-nodes-base.jira",
"position": [
-700,
260
],
"parameters": {
"options": {
"jql": "=project = {{ $json['Project Key'] }} AND created >= startOfDay()"
},
"operation": "getAll",
"returnAll": true
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "d0aa22aa-35a1-4825-b92c-3f0d12fa8e33",
"name": "Aufteilen",
"type": "n8n-nodes-base.splitOut",
"position": [
-480,
260
],
"parameters": {
"include": "selectedOtherFields",
"options": {},
"fieldToSplitOut": "key",
"fieldsToInclude": "fields.description, fields.summary"
},
"typeVersion": 1
},
{
"id": "f665fb25-944c-4e2b-a201-fa2ec43317a7",
"name": "Tickets durchlaufen",
"type": "n8n-nodes-base.splitInBatches",
"position": [
-220,
120
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "abbfeb78-c5ad-4192-a372-8686df79a479",
"name": "Ticket-Zusammenfasser",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
660,
300
],
"parameters": {
"text": "=Ticket Title:\n{{ $json['fields.summary'] }}\n\nTicket Description:\n{{ $json['fields.description'] }}\n\nTicket Comments:\n{{ JSON.stringify($json.body.content) }}\n\nSummarize all the ticket information, the comments, also the solution found\n\nOutput using this json format:\n{\n \"Ticket Summary\": \"Write a professional and concise summary that combines all relevant tickets into a single narrative. Include the core issue reported in each ticket, key findings from the comments or conversations (such as user feedback, internal investigation, and developer notes), and the progress or troubleshooting steps taken. Ensure the summary reads fluently like a report, highlights patterns across tickets if any, and avoids repeating ticket IDs unless necessary. Use clear language for stakeholders who may not be technical.\",\n \"Proposed Solution\": \"Step-by-step explanation or resolution applied.\"\n}",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "3b47508e-37fe-46c2-968a-c51fd4dc0fae",
"name": "Kommentare aus Ticket abrufen",
"type": "n8n-nodes-base.jira",
"position": [
-100,
520
],
"parameters": {
"options": {},
"issueKey": "={{ $json.key }}",
"resource": "issueComment",
"operation": "getAll",
"returnAll": true
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "a7706ca1-36eb-42a3-8017-13da6cc7bd90",
"name": "Ausgabe setzen",
"type": "n8n-nodes-base.set",
"position": [
840,
760
],
"parameters": {
"mode": "raw",
"options": {},
"jsonOutput": "={\n \"output\": {\n \"Ticket Summary\": {{ JSON.stringify($json.output['Ticket Summary']) }},\n \"Proposed Solution\": {{ JSON.stringify($json.output['Proposed Solution']) }},\n \"Key\": {{ JSON.stringify($json.key) }},\n \"Title\": {{ JSON.stringify($json['fields.summary']) }},\n \"Description\": {{ JSON.stringify($json['fields.description']) }}\n }\n}"
},
"typeVersion": 3.4
},
{
"id": "effe713c-a706-42df-a090-4ec561571aed",
"name": "Text formatieren",
"type": "n8n-nodes-base.code",
"position": [
220,
20
],
"parameters": {
"jsCode": "const tickets = $json.output;\nconst formatted = tickets.map(ticket => {\n return `Key: ${ticket.Key}\nTitle: ${ticket.Title}\nDescription: ${ticket.Description}\nSummaries: ${ticket[\"Ticket Summary\"]}\nSolution: ${ticket[\"Proposed Solution\"]}\nTicket Link: https://nodemationhub.atlassian.net/jira/servicedesk/projects/SUP/queues/custom/1/${ticket.Key}\\n`;\n}).join('\\n');\n\nreturn [\n {\n json: {\n formattedOutput: formatted\n }\n }\n];\n"
},
"typeVersion": 2
},
{
"id": "1474c7dc-acf4-4cd4-a770-4d3fa597ec02",
"name": "Ticket-Zusammenfassungen senden",
"type": "n8n-nodes-base.gmail",
"position": [
440,
20
],
"webhookId": "3aa3755d-4c6f-4914-aa75-b7bf30203ebd",
"parameters": {
"sendTo": "n8n_test_result_replace_me@yopmail.com",
"message": "={{ $json.formattedOutput }}",
"options": {
"appendAttribution": false
},
"subject": "=Daily Ticket Summaries – {{ $now.format('dd MMM yyyy') }}",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "CeBpTZBQSAMKVKJY",
"name": "Gmail account (Billy Email 2)"
}
},
"typeVersion": 2.1
},
{
"id": "0af73efa-e3ed-4b48-aa30-d54486fc7861",
"name": "OpenAI Chat-Modell",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
740,
540
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5",
"cachedResultName": "gpt-5"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "MGwGMKEkdcjzlYCw",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "68a48d49-276a-430a-b918-e161350d7676",
"name": "Strukturierter Ausgabe-Parser",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
960,
520
],
"parameters": {
"jsonSchemaExample": "{\n \"Ticket Summary\": \"Write a professional and concise summary that combines all relevant tickets into a single narrative. Include the core issue reported in each ticket, key findings from the comments or conversations (such as user feedback, internal investigation, and developer notes), and the progress or troubleshooting steps taken. Ensure the summary reads fluently like a report, highlights patterns across tickets if any, and avoids repeating ticket IDs unless necessary. Use clear language for stakeholders who may not be technical.\",\n \"Proposed Solution\": \"Step-by-step explanation or resolution applied.\"\n}"
},
"typeVersion": 1.2
},
{
"id": "13de2032-fdf3-421b-9b15-c1a91e23cc42",
"name": "Projektschlüssel setzen",
"type": "n8n-nodes-base.set",
"position": [
-880,
260
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "f9c91322-0594-46f1-af00-21bd6b7f93a5",
"name": "Project Key",
"type": "string",
"value": "SUP"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "d5edcb5b-916b-498e-a1b9-edb008d05ca6",
"name": "Alle Tickets ohne Filter abrufen",
"type": "n8n-nodes-base.jira",
"position": [
-820,
480
],
"parameters": {
"limit": 2,
"options": {
"jql": "=project = {{ $json[\"Project Key\"] }}"
},
"operation": "getAll"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "3c440031-3e61-4f63-b6d5-74679081a06b",
"name": "Haftnotiz1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1180,
-620
],
"parameters": {
"color": 4,
"width": 640,
"height": 360,
"content": "## 🎫 Daily Jira Ticket Summarizer using GPT-5 and Jira API\n\nWhat This Template Does:\n\n- Automatically fetches Jira tickets from a specified project (SUP) created today\n- Retrieves detailed ticket information including title, description, and all comments\n- Uses OpenAI's GPT-5 model to intelligently analyze and summarize each ticket\n- Generates professional summaries that combine ticket details, comments, and proposed solutions\n- Compiles all ticket summaries into a formatted daily report\n- Sends the comprehensive report via Gmail with ticket links for easy access\n- Processes tickets individually through batch processing to ensure accurate AI analysis"
},
"typeVersion": 1
},
{
"id": "2cfb5098-77bf-4ba6-8a6d-d166a6ae12b5",
"name": "Haftnotiz",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1180,
-240
],
"parameters": {
"color": 4,
"width": 640,
"height": 300,
"content": "## SETUP REQUIRED\n\nWorkflow Configurations:\n- Adjust the JQL query filters in Jira nodes based on your requirements\n- Configure the email recipient in \"Send Ticket Summaries\" node\n- Modify the AI prompt in \"Ticket Summarizer\" node to match your reporting needs\n\nRequired Credentials:\n- Jira Software Cloud API Credential\n- Gmail OAuth2 Credential \n- OpenAI API Key"
},
"typeVersion": 1
},
{
"id": "90ba0d1a-47e9-4807-ae45-3367c79f15e8",
"name": "Haftnotiz2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-520,
-620
],
"parameters": {
"color": 4,
"width": 640,
"height": 460,
"content": "## 📋 WORKFLOW PROCESS OVERVIEW\n\nStep 1: 🚀 Manual Trigger / Schedule Trigger initiates the workflow\nStep 2: ⚙️ Set Project Key defines the Jira project identifier for ticket filtering\nStep 3: 🎫 Get All Tickets from the specified project created today\nStep 4: 📤 Split Out extracts individual ticket data including key, summary, and description\nStep 5: 🔄 Loop Tickets processes each ticket individually through batch splitting mechanism\nStep 6: 💬 Get Comments from Ticket retrieves all comments and conversations for each ticket\nStep 7: 🔗 Merge combines ticket data with its associated comments for complete context\nStep 8: 🤖 Ticket Summarizer (AI Agent) analyzes ticket information using OpenAI GPT-5 to generate:\n - Professional ticket summary combining all relevant information\n - Proposed solution with step-by-step explanations\nStep 9: 📊 Set Output structures the AI analysis into standardized JSON format\nStep 10: 📈 Aggregate collects all processed ticket summaries into a single dataset\nStep 11: 📝 Format Body creates a readable email format with ticket links to Jira\nStep 12: 📧 Send Ticket Summaries delivers the daily report via Gmail with subject \"Daily Ticket Summaries – [Date]\""
},
"typeVersion": 1
},
{
"id": "59006434-fa20-467c-b405-30ea1ec7197c",
"name": "Haftnotiz4",
"type": "n8n-nodes-base.stickyNote",
"position": [
180,
-920
],
"parameters": {
"color": 4,
"width": 380,
"height": 760,
"content": "# 👋 Hi, I’m Billy\n\nI help businesses build **n8n workflows** & **AI automation projects**. \nNeed help with n8n or AI Automation projects? \nContact me and let’s build your automation together.\n\n📩 **Email:** billychartanto@gmail.com \n🤝 **n8n Creator:** [n8n.io/creators/billy](https://n8n.io/creators/billy/)\n🌐 **My n8n Projects:** [billychristi.com/n8n](https://www.billychristi.com/n8n) \n\n\n\n---\n💡 Feel free to get in touch if you’d like help on your next automation project or if you have any feedback or thoughts to share.\n"
},
"typeVersion": 1
},
{
"id": "c3c26cc1-1187-49be-8f5e-c6aa6fd355ce",
"name": "Haftnotiz3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
160
],
"parameters": {
"color": 4,
"width": 220,
"height": 280,
"content": "Configuration:\nUpdate the Jira credentials with yours."
},
"typeVersion": 1
},
{
"id": "86acccd2-f4c5-445a-b1c6-82a8e88ca73a",
"name": "Haftnotiz6",
"type": "n8n-nodes-base.stickyNote",
"position": [
360,
-120
],
"parameters": {
"color": 4,
"width": 380,
"height": 380,
"content": "## Gmail - Send Notification\nYou can adjust the subject & body of the notification here.\nAlso, update the recipient email."
},
"typeVersion": 1
},
{
"id": "c83cb8a2-9a61-4195-8167-503287b8787e",
"name": "Zeitplan-Trigger",
"type": "n8n-nodes-base.scheduleTrigger",
"position": [
-1100,
120
],
"parameters": {
"rule": {
"interval": [
{}
]
}
},
"typeVersion": 1.2
}
],
"pinData": {},
"connections": {
"b38b29ce-860c-4b2c-a8e9-2785aee2dbbb": {
"main": [
[
{
"node": "abbfeb78-c5ad-4192-a372-8686df79a479",
"type": "main",
"index": 0
}
]
]
},
"0704872b-8cb4-4054-b758-a520eb631059": {
"main": [
[
{
"node": "a7706ca1-36eb-42a3-8017-13da6cc7bd90",
"type": "main",
"index": 0
}
]
]
},
"2327ba0f-e22f-4a1f-92a7-711ff9a547f2": {
"main": [
[
{
"node": "effe713c-a706-42df-a090-4ec561571aed",
"type": "main",
"index": 0
}
]
]
},
"d0aa22aa-35a1-4825-b92c-3f0d12fa8e33": {
"main": [
[
{
"node": "f665fb25-944c-4e2b-a201-fa2ec43317a7",
"type": "main",
"index": 0
}
]
]
},
"a7706ca1-36eb-42a3-8017-13da6cc7bd90": {
"main": [
[
{
"node": "f665fb25-944c-4e2b-a201-fa2ec43317a7",
"type": "main",
"index": 0
}
]
]
},
"effe713c-a706-42df-a090-4ec561571aed": {
"main": [
[
{
"node": "1474c7dc-acf4-4cd4-a770-4d3fa597ec02",
"type": "main",
"index": 0
}
]
]
},
"f665fb25-944c-4e2b-a201-fa2ec43317a7": {
"main": [
[
{
"node": "2327ba0f-e22f-4a1f-92a7-711ff9a547f2",
"type": "main",
"index": 0
}
],
[
{
"node": "3b47508e-37fe-46c2-968a-c51fd4dc0fae",
"type": "main",
"index": 0
},
{
"node": "b38b29ce-860c-4b2c-a8e9-2785aee2dbbb",
"type": "main",
"index": 1
},
{
"node": "0704872b-8cb4-4054-b758-a520eb631059",
"type": "main",
"index": 1
}
]
]
},
"758029d7-ef63-4c6a-8fb5-df9a0469b21b": {
"main": [
[
{
"node": "d0aa22aa-35a1-4825-b92c-3f0d12fa8e33",
"type": "main",
"index": 0
}
]
]
},
"13de2032-fdf3-421b-9b15-c1a91e23cc42": {
"main": [
[
{
"node": "758029d7-ef63-4c6a-8fb5-df9a0469b21b",
"type": "main",
"index": 0
}
]
]
},
"c83cb8a2-9a61-4195-8167-503287b8787e": {
"main": [
[
{
"node": "13de2032-fdf3-421b-9b15-c1a91e23cc42",
"type": "main",
"index": 0
}
]
]
},
"0af73efa-e3ed-4b48-aa30-d54486fc7861": {
"ai_languageModel": [
[
{
"node": "abbfeb78-c5ad-4192-a372-8686df79a479",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"abbfeb78-c5ad-4192-a372-8686df79a479": {
"main": [
[
{
"node": "0704872b-8cb4-4054-b758-a520eb631059",
"type": "main",
"index": 0
}
]
]
},
"3b47508e-37fe-46c2-968a-c51fd4dc0fae": {
"main": [
[
{
"node": "b38b29ce-860c-4b2c-a8e9-2785aee2dbbb",
"type": "main",
"index": 0
}
]
]
},
"68a48d49-276a-430a-b918-e161350d7676": {
"ai_outputParser": [
[
{
"node": "abbfeb78-c5ad-4192-a372-8686df79a479",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"aac771be-d274-4ede-93ef-412767b3ee7a": {
"main": [
[
{
"node": "13de2032-fdf3-421b-9b15-c1a91e23cc42",
"type": "main",
"index": 0
}
]
]
}
}
}Wie verwende ich diesen Workflow?
Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.
Für welche Szenarien ist dieser Workflow geeignet?
Experte - KI-Zusammenfassung, Multimodales KI
Ist es kostenpflichtig?
Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.
Verwandte Workflows
Billy Christi
@billyI build scalable automation systems with n8n to help businesses save time and cut costs. 💼 n8n expert available for new projects 📩 billychartanto@gmail.com
Diesen Workflow teilen