邮件到Jira自动工单创建器(AI驱动)与n8n
这是一个Project Management, AI Summarization领域的自动化工作流,包含 11 个节点。主要使用 Code, Jira, Wait, Gmail, GmailTrigger 等节点。 AI驱动的邮件转Jira工单创建系统,使用Llama 3.2
- •Google 账号和 Gmail API 凭证
{
"id": "IIsrIl8ZXuHxxrrN",
"meta": {
"instanceId": "dd69efaf8212c74ad206700d104739d3329588a6f3f8381a46a481f34c9cc281",
"templateCredsSetupCompleted": true
},
"name": "Email-to-Jira Auto Ticket Creator (AI-powered) with n8n",
"tags": [],
"nodes": [
{
"id": "80da05bf-11e1-4e94-bdc2-c720d2e0149f",
"name": "Fetch Full Email Content\t",
"type": "n8n-nodes-base.gmail",
"position": [
220,
0
],
"webhookId": "6c809fc4-0532-4094-b32b-43951734fad1",
"parameters": {
"simple": false,
"options": {},
"messageId": "={{ $json.id }}",
"operation": "get"
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 2.1
},
{
"id": "c674d95f-f1bb-4244-b894-357d44e95fbb",
"name": "Analyze Email & Extract Tasks\t",
"type": "@n8n/n8n-nodes-langchain.agent",
"position": [
440,
0
],
"parameters": {
"text": "={{ $json.text }}",
"options": {
"systemMessage": "=You are a Jira assistant.\n\nAnalyze the following email content and generate structured output in **pure JSON** format.\n\nInstructions:\n1. Identify if the email is about a \"feature\" or an \"issue\".\n2. Provide a short but clear summary (`main_ticket`) for the main ticket.\n3. Include a meaningful one-liner (`main_description`) describing the overall goal.\n4. Break down all actionable items into `sub_tasks`, each with:\n - a short `summary`\n - a short `description` that elaborates slightly more on the task.\n5. Respond ONLY in a valid JSON object. No extra explanation, no Markdown, no bullet points, no formatting — only raw JSON.\n\nExpected JSON format:\n{\n \"category\": \"Issue\" | \"Feature\",\n \"main_ticket\": \"Short summary of the main ticket\",\n \"main_description\": \"One-liner describing the main ticket goal\",\n \"sub_tasks\": [\n {\n \"summary\": \"Short sub-task summary\",\n \"description\": \"Slightly more detailed description\"\n },\n ...\n ]\n}\n\nuse think tool also if needed.\nInput:\n{{ $json.text }}\n"
},
"promptType": "define"
},
"typeVersion": 1.8
},
{
"id": "51d2c717-4eda-4e1d-a155-eda1729b3c61",
"name": "AI Tool - Think Support\t",
"type": "@n8n/n8n-nodes-langchain.toolThink",
"position": [
588,
220
],
"parameters": {},
"typeVersion": 1
},
{
"id": "5a611d35-2d2f-4508-99b1-c3ea3144b6bf",
"name": "Chat Model",
"type": "@n8n/n8n-nodes-langchain.lmChatOllama",
"position": [
468,
220
],
"parameters": {
"model": "=llama3.2",
"options": {}
},
"credentials": {
"ollamaApi": {
"id": "7td3WzXCW2wNhraP",
"name": "Ollama - test"
}
},
"typeVersion": 1
},
{
"id": "65448a27-838d-4860-8425-9ea8d9ad363a",
"name": "Parse JSON Output from AI\t",
"type": "n8n-nodes-base.code",
"position": [
1036,
0
],
"parameters": {
"jsCode": "// Get the raw output from the previous AI Agent node\nconst rawOutput = $input.first().json.output;\n\n// Remove code block wrappers like ```json and ```\nconst cleaned = rawOutput\n .replace(/^```json/, '')\n .replace(/```$/, '')\n .trim();\n\nlet parsed;\ntry {\n parsed = JSON.parse(cleaned);\n} catch (err) {\n throw new Error(\"Failed to parse AI output as JSON: \" + err.message);\n}\n\n// Now return the structured data so it can be used by later nodes\nreturn parsed;"
},
"typeVersion": 2
},
{
"id": "e590efd2-0fdb-489f-ae41-e27d2b15afcf",
"name": "Sticky Note",
"type": "n8n-nodes-base.stickyNote",
"position": [
-20,
-540
],
"parameters": {
"width": 540,
"height": 440,
"content": "📌 Email-to-Jira Auto Ticket Creator (AI-powered) – Overview\n\nThis AI-powered workflow reads emails, understands the request using an LLM, and creates structured Jira issues:\n\nFlow Steps:\n\n📨 Polls for new emails every 5 minutes.\n\n📬 Fetches full email content.\n\n🧠 Analyzes content using AI to understand the issue or feature request.\n\n📊 Parses structured task data (main task + subtasks).\n\n🧾 Creates a main Jira task.\n\n🧾 Creates all related subtasks in Jira under the main task.\n\nPerfect for project teams who get work requests via email and want them converted into actionable Jira tickets automatically."
},
"typeVersion": 1
},
{
"id": "4f22474a-0a1a-4902-b357-58aabd8c24c5",
"name": "Check for New Emails\t",
"type": "n8n-nodes-base.gmailTrigger",
"position": [
0,
0
],
"parameters": {
"filters": {
"sender": "xyz@gmail.com"
},
"pollTimes": {
"item": [
{
"mode": "everyX",
"unit": "minutes",
"value": 5
}
]
}
},
"credentials": {
"gmailOAuth2": {
"id": "PcTqvGU9uCunfltE",
"name": "Gmail account - test"
}
},
"typeVersion": 1.2
},
{
"id": "1e32f8e1-844e-45b0-b4ce-3e87b6e462ea",
"name": "Jira - Create Main Issue",
"type": "n8n-nodes-base.jira",
"position": [
1256,
0
],
"parameters": {
"project": {
"__rl": true,
"mode": "id",
"value": "10002"
},
"summary": "={{ $json.main_ticket }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10008",
"cachedResultName": "Task"
},
"additionalFields": {
"assignee": {
"__rl": true,
"mode": "list",
"value": "5fec3f15dd5eb501088e0226",
"cachedResultName": "ajay"
},
"description": "={{ $json.main_description }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "cP7JyAE1RB0zcBon",
"name": "Jira SW Cloud - test"
}
},
"executeOnce": false,
"retryOnFail": false,
"typeVersion": 1
},
{
"id": "291a29fb-bce3-4553-af91-b9be4ab6eb6e",
"name": "Create Subtasks\t",
"type": "n8n-nodes-base.jira",
"position": [
1696,
0
],
"parameters": {
"project": {
"__rl": true,
"mode": "id",
"value": "10002"
},
"summary": "={{ $json.sub_task.summary }}",
"issueType": {
"__rl": true,
"mode": "list",
"value": "10010",
"cachedResultName": "Subtask"
},
"additionalFields": {
"assignee": {
"__rl": true,
"mode": "list",
"value": "5fec3f15dd5eb501088e0226",
"cachedResultName": "ajay"
},
"description": "={{ $json.sub_task.description }}",
"parentIssueKey": "={{ $('Jira - Create Main Issue').item.json.key }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "cP7JyAE1RB0zcBon",
"name": "Jira SW Cloud - test"
}
},
"typeVersion": 1
},
{
"id": "d2912bbc-177d-4683-b8ec-c54167148931",
"name": "Split Subtasks JSON to Items\t",
"type": "n8n-nodes-base.code",
"position": [
1476,
0
],
"parameters": {
"jsCode": "const subtasks = $('Parse JSON Output from AI\t').first().json.sub_tasks;\n\nreturn subtasks.map(task => {\n return {\n json: {\n sub_task: task\n }\n };\n});"
},
"typeVersion": 2
},
{
"id": "1f1f7172-bc9d-4e48-ac2d-d7f59f396b4a",
"name": "Wait",
"type": "n8n-nodes-base.wait",
"position": [
800,
0
],
"webhookId": "d5e70f73-8c17-4e02-b029-fe0b3f703c83",
"parameters": {},
"typeVersion": 1.1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "5b67825d-b2f8-46f9-ba92-9ea9727c8d22",
"connections": {
"1f1f7172-bc9d-4e48-ac2d-d7f59f396b4a": {
"main": [
[
{
"node": "65448a27-838d-4860-8425-9ea8d9ad363a",
"type": "main",
"index": 0
}
]
]
},
"5a611d35-2d2f-4508-99b1-c3ea3144b6bf": {
"ai_languageModel": [
[
{
"node": "c674d95f-f1bb-4244-b894-357d44e95fbb",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"4f22474a-0a1a-4902-b357-58aabd8c24c5": {
"main": [
[
{
"node": "80da05bf-11e1-4e94-bdc2-c720d2e0149f",
"type": "main",
"index": 0
}
]
]
},
"51d2c717-4eda-4e1d-a155-eda1729b3c61": {
"ai_tool": [
[
{
"node": "c674d95f-f1bb-4244-b894-357d44e95fbb",
"type": "ai_tool",
"index": 0
}
]
]
},
"1e32f8e1-844e-45b0-b4ce-3e87b6e462ea": {
"main": [
[
{
"node": "d2912bbc-177d-4683-b8ec-c54167148931",
"type": "main",
"index": 0
}
]
]
},
"80da05bf-11e1-4e94-bdc2-c720d2e0149f": {
"main": [
[
{
"node": "c674d95f-f1bb-4244-b894-357d44e95fbb",
"type": "main",
"index": 0
}
]
]
},
"65448a27-838d-4860-8425-9ea8d9ad363a": {
"main": [
[
{
"node": "1e32f8e1-844e-45b0-b4ce-3e87b6e462ea",
"type": "main",
"index": 0
}
]
]
},
"d2912bbc-177d-4683-b8ec-c54167148931": {
"main": [
[
{
"node": "291a29fb-bce3-4553-af91-b9be4ab6eb6e",
"type": "main",
"index": 0
}
]
]
},
"c674d95f-f1bb-4244-b894-357d44e95fbb": {
"main": [
[
{
"node": "1f1f7172-bc9d-4e48-ac2d-d7f59f396b4a",
"type": "main",
"index": 0
}
]
]
}
}
}如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 项目管理, AI 摘要总结
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Oneclick AI Squad
@oneclick-aiThe AI Squad Initiative is a pioneering effort to build, automate and scale AI-powered workflows using n8n.io. Our mission is to help individuals and businesses integrate AI agents seamlessly into their daily operations from automating tasks and enhancing productivity to creating innovative, intelligent solutions. We design modular, reusable AI workflow templates that empower creators, developers and teams to supercharge their automation with minimal effort and maximum impact.
分享此工作流