使用GPT-5 Mini、Jira和表单界面自动化敏捷项目设置
高级
这是一个Multimodal AI领域的自动化工作流,包含 42 个节点。主要使用 Set, Jira, Gmail, Limit, Merge 等节点。 使用GPT-5 Mini、Jira和表单界面自动化敏捷项目设置
前置要求
- •Google 账号和 Gmail API 凭证
- •可能需要目标 API 的认证凭证
- •OpenAI API Key
使用的节点 (42)
分类
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "d1786ab0d745a7498abf13a9c2cdabb1374c006e889b79eef64ce0386b8f8a41"
},
"nodes": [
{
"id": "437ca695-4819-42a9-bd4d-acfaf65b0d32",
"name": "点击“测试工作流”时",
"type": "n8n-nodes-base.manualTrigger",
"position": [
-3580,
200
],
"parameters": {},
"typeVersion": 1
},
{
"id": "7e3b7bf0-dc63-4e6e-b867-4ebf173a016d",
"name": "表单提交时",
"type": "n8n-nodes-base.formTrigger",
"position": [
-3580,
-80
],
"webhookId": "acdbaaf3-4030-4459-a5a9-4d552bc23a4a",
"parameters": {
"options": {},
"formTitle": "Jira Full Project Generator",
"formFields": {
"values": [
{
"fieldLabel": "Project Name",
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Project Full Features",
"requiredField": true
}
]
}
},
"typeVersion": 2.2
},
{
"id": "f616ce48-7636-4abc-b5de-67d01de03501",
"name": "OpenAI 聊天模型",
"type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
"position": [
-700,
260
],
"parameters": {
"model": {
"__rl": true,
"mode": "list",
"value": "gpt-5-mini",
"cachedResultName": "gpt-5-mini"
},
"options": {}
},
"credentials": {
"openAiApi": {
"id": "MGwGMKEkdcjzlYCw",
"name": "OpenAi account"
}
},
"typeVersion": 1.2
},
{
"id": "fc44a4e8-a301-48dc-b9f7-a09f639844f0",
"name": "结构化输出解析器",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-500,
260
],
"parameters": {
"jsonSchemaExample": "[\n {\n \"story_title\": \"As a [user], I want to [goal], so that [benefit]\",\n \"story_description\": \"Describe what the user needs and why this feature matters to the business or experience.\",\n \"epic\": \"Optional Epic Name\",\n \"sub_tasks\": [\n {\n \"title\": \"Design UI for the feature\",\n \"description\": \"Create wireframes and visual designs for the new feature, ensuring usability and responsiveness.\"\n },\n {\n \"title\": \"Implement frontend logic using React\",\n \"description\": \"Develop the UI components and integrate them with the application state using React.\"\n },\n {\n \"title\": \"Build backend API endpoint\",\n \"description\": \"Create the necessary API endpoints using appropriate frameworks to handle feature data.\"\n },\n {\n \"title\": \"Write unit tests\",\n \"description\": \"Develop unit tests for both frontend and backend components to ensure correctness and reliability.\"\n },\n {\n \"title\": \"Perform integration testing\",\n \"description\": \"Test how different components interact and ensure the overall feature functions as expected.\"\n },\n {\n \"title\": \"Update project documentation\",\n \"description\": \"Document the feature’s design, usage instructions, and API endpoints in the project’s knowledge base.\"\n }\n ]\n },\n {\n \"story_title\": \"As a [user], I want to [another goal], so that [another benefit]\",\n \"story_description\": \"Explain why this goal is needed and how it improves user experience or system functionality.\",\n \"epic\": \"Same or another epic name\",\n \"sub_tasks\": [\n {\n \"title\": \"Task A title\",\n \"description\": \"Brief but complete description of Task A.\"\n },\n {\n \"title\": \"Task B title\",\n \"description\": \"Brief but complete description of Task B.\"\n },\n {\n \"title\": \"Task C title\",\n \"description\": \"Brief but complete description of Task C.\"\n }\n ]\n }\n]"
},
"typeVersion": 1.2
},
{
"id": "6b1c7dcb-8ef0-4e87-a116-6d757dfdb089",
"name": "遍历项目",
"type": "n8n-nodes-base.splitInBatches",
"position": [
0,
100
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "70df1f92-7042-400c-a022-6056ac631c4e",
"name": "拆分输出",
"type": "n8n-nodes-base.splitOut",
"position": [
-280,
80
],
"parameters": {
"options": {},
"fieldToSplitOut": "output"
},
"typeVersion": 1
},
{
"id": "f44c306d-7ad8-44b7-9682-cd9a3a0d04de",
"name": "创建项目",
"type": "n8n-nodes-base.httpRequest",
"position": [
-2360,
100
],
"parameters": {
"url": "https://nodemationhub.atlassian.net/rest/api/3/project",
"method": "POST",
"options": {},
"jsonBody": "={\n \"key\": \"{{ $('Project Naming').item.json.output.project_key }}\",\n \"name\": \"{{ $('Project Naming').item.json.output.project_name }}\",\n \"projectTypeKey\": \"software\",\n \"projectTemplateKey\": \"com.pyxis.greenhopper.jira:gh-simplified-agility-scrum\",\n \"description\": \"Project created via n8n\",\n \"leadAccountId\": \"5e9e80770d58350c2be60166\", \n \"assigneeType\": \"PROJECT_LEAD\"\n}\n",
"sendBody": true,
"specifyBody": "json",
"authentication": "predefinedCredentialType",
"nodeCredentialType": "jiraSoftwareCloudApi"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 4.2
},
{
"id": "12ac8921-14ab-4d14-b89a-570b546370a8",
"name": "结构化输出解析器1",
"type": "@n8n/n8n-nodes-langchain.outputParserStructured",
"position": [
-1900,
400
],
"parameters": {
"jsonSchemaExample": "{\n \"project_name\": \"Clean and professional project name here\",\n \"project_description\": \"Clear and concise one-paragraph description of the project with technical clarity and business relevance.\",\n \"project_key\": \"ABCDE\"\n}"
},
"typeVersion": 1.2
},
{
"id": "3c07cc6e-9f1b-44a6-8622-2f995679d9d6",
"name": "项目命名",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-3260,
100
],
"parameters": {
"text": "=You are a naming expert and technical writer. \nYour task is to clean up and enhance the following rough input into a professional-sounding **project name** and **concise, clear project description**, and generate a suitable **Jira project key**.\n\nThe project key must be 5 uppercase letters, randomly generated and not necessarily related to the project name. For example, it could be \"XQJTR\" or \"MBZKD\"\n\nReturn only the result in JSON format with three fields: `project_name`, `project_description`, and `project_key`.\n\n---\n\n### Input:\nRaw Project Name: `{{ $json['Project Name'] }}` \nRaw Project Description: `{{ $json['Project Full Features'] }}`\n\n---\n\n### Output format:\n```json\n{\n \"project_name\": \"Clean and professional project name here\",\n \"project_description\": \"Clear and concise one-paragraph description of the project with technical clarity and business relevance.\",\n \"project_key\": \"ABCDE\"\n}\n```\n\nOnly return the JSON. Do not include any commentary or explanation.\n",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "974e678e-7267-42d3-ae7c-fe65eec46bbd",
"name": "检查项目密钥并获取状态 ID",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-2600,
100
],
"parameters": {
"url": "=https://nodemationhub.atlassian.net/rest/api/3/project/{{ $('Set Jira URL').item.json['Jira url'] }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "jiraSoftwareCloudApi"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 4.2
},
{
"id": "c5e3b150-6db2-4cdb-9543-00ef8110ed13",
"name": "获取状态 ID",
"type": "n8n-nodes-base.httpRequest",
"onError": "continueRegularOutput",
"position": [
-2140,
100
],
"parameters": {
"url": "=https://nodemationhub.atlassian.net/rest/api/3/project/{{ $json.key }}",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "jiraSoftwareCloudApi"
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 4.2
},
{
"id": "5660be4c-19f2-4b44-8b5c-c20a14aced12",
"name": "拆分输出1",
"type": "n8n-nodes-base.splitOut",
"position": [
720,
100
],
"parameters": {
"options": {},
"fieldToSplitOut": "sub_tasks"
},
"typeVersion": 1
},
{
"id": "14129b11-aaba-4fcd-bea6-c796f3fe71d9",
"name": "创建故事",
"type": "n8n-nodes-base.jira",
"position": [
240,
180
],
"parameters": {
"project": {
"__rl": true,
"mode": "id",
"value": "={{ $('Get Status ID').item.json.id }}"
},
"summary": "={{ $json.story_title }}",
"issueType": {
"__rl": true,
"mode": "id",
"value": "={{ $('Jira Issue ID').item.json[\"story id\"] }}"
},
"additionalFields": {
"description": "={{ $json.story_description }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "16ddae67-4e53-48b0-a928-6053798b53e1",
"name": "合并",
"type": "n8n-nodes-base.merge",
"position": [
460,
560
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.1
},
{
"id": "3d64bb50-6887-46cd-b6cf-f6c84160c82c",
"name": "限制",
"type": "n8n-nodes-base.limit",
"position": [
-200,
400
],
"parameters": {},
"typeVersion": 1
},
{
"id": "1507418d-2328-4126-b188-ba3ee8a54c66",
"name": "聚合",
"type": "n8n-nodes-base.aggregate",
"position": [
200,
-100
],
"parameters": {
"options": {},
"fieldsToAggregate": {
"fieldToAggregate": [
{}
]
}
},
"typeVersion": 1
},
{
"id": "57987e01-7da1-4615-b70f-43a19d785e4d",
"name": "过滤器",
"type": "n8n-nodes-base.filter",
"position": [
-1640,
80
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2fb0dfa5-853a-4970-8d6a-26d26852c4a8",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.name }}",
"rightValue": "Story"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "a26ab23f-11c0-4957-ac16-04b23994416f",
"name": "过滤器1",
"type": "n8n-nodes-base.filter",
"position": [
-1640,
260
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "2fb0dfa5-853a-4970-8d6a-26d26852c4a8",
"operator": {
"name": "filter.operator.equals",
"type": "string",
"operation": "equals"
},
"leftValue": "={{ $json.name }}",
"rightValue": "Subtask"
}
]
}
},
"typeVersion": 2.2
},
{
"id": "d6a7c1ab-958b-4f8f-add0-d1d326278535",
"name": "拆分输出4",
"type": "n8n-nodes-base.splitOut",
"position": [
-1800,
80
],
"parameters": {
"options": {},
"fieldToSplitOut": "issueTypes"
},
"typeVersion": 1
},
{
"id": "8de2bd70-f220-4022-b2cf-876c7532ffa6",
"name": "限制2",
"type": "n8n-nodes-base.limit",
"position": [
-1440,
80
],
"parameters": {},
"typeVersion": 1
},
{
"id": "74f719d4-3db2-4c5e-8566-9f9842678428",
"name": "限制3",
"type": "n8n-nodes-base.limit",
"position": [
-1440,
260
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d8a51ff0-807a-4d25-b048-43c19738ca42",
"name": "Jira 故事状态 ID",
"type": "n8n-nodes-base.set",
"position": [
-1220,
80
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1b64c7dd-dcfb-4550-b6ff-851c0d319070",
"name": "story id",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "5d2997aa-9b19-4c08-bc40-34ab6a9834cc",
"name": "Jira 子任务状态 ID",
"type": "n8n-nodes-base.set",
"position": [
-1220,
260
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "1b64c7dd-dcfb-4550-b6ff-851c0d319070",
"name": "task id",
"type": "string",
"value": "={{ $json.id }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "eb86e993-152b-4525-8591-f889b3954b5b",
"name": "Jira 问题 ID",
"type": "n8n-nodes-base.merge",
"position": [
-1020,
180
],
"parameters": {
"mode": "combine",
"options": {},
"combineBy": "combineAll"
},
"typeVersion": 3.1
},
{
"id": "55eb4c0f-0657-45ce-a355-a48455c36626",
"name": "当由其他工作流执行时",
"type": "n8n-nodes-base.executeWorkflowTrigger",
"position": [
1160,
580
],
"parameters": {
"workflowInputs": {
"values": [
{
"name": "story_id"
},
{
"name": "key"
},
{
"name": "subtask_title"
},
{
"name": "subtask_description"
},
{
"name": "project_id"
},
{
"name": "subtask_type"
}
]
}
},
"typeVersion": 1.1
},
{
"id": "0e8622d4-2d53-4413-aa92-f17b54a06057",
"name": "创建子任务",
"type": "n8n-nodes-base.jira",
"position": [
1720,
580
],
"parameters": {
"project": {
"__rl": true,
"mode": "id",
"value": "={{ $json.project_id }}"
},
"summary": "={{ $json.subtask_title }}",
"issueType": {
"__rl": true,
"mode": "id",
"value": "={{ $json.subtask_type }}"
},
"additionalFields": {
"description": "={{ $json.subtask_description }}",
"parentIssueKey": "={{ $json.key }}"
}
},
"credentials": {
"jiraSoftwareCloudApi": {
"id": "eLBjV5VAQ7XxyjyY",
"name": "Jira SW Cloud account"
}
},
"typeVersion": 1
},
{
"id": "f59e37d0-f2cd-4b5e-8231-213420143407",
"name": "遍历项目1循环",
"type": "n8n-nodes-base.splitInBatches",
"position": [
1420,
580
],
"parameters": {
"options": {}
},
"typeVersion": 3
},
{
"id": "5c44b6b4-25c2-4fa8-92c8-374b2b823de0",
"name": "便签 4",
"type": "n8n-nodes-base.stickyNote",
"position": [
-940,
-860
],
"parameters": {
"color": 4,
"width": 380,
"height": 760,
"content": "# 👋 你好,我是 Billy"
},
"typeVersion": 1
},
{
"id": "9ee76aee-e9ba-4ce1-8493-4ed125defa97",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2840,
-440
],
"parameters": {
"color": 4,
"width": 780,
"height": 340,
"content": "## 需要设置"
},
"typeVersion": 1
},
{
"id": "7eacbd69-8bf5-4739-a4e4-b7506b91a482",
"name": "便签 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2840,
-860
],
"parameters": {
"color": 4,
"width": 780,
"height": 400,
"content": "## 使用 GPT-5 的表单界面 JIRA 项目生成器和 JIRA 故事创建器"
},
"typeVersion": 1
},
{
"id": "c2db7332-eb11-4c4e-8e03-4ed9634ff817",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2000,
-440
],
"parameters": {
"color": 4,
"width": 980,
"height": 340,
"content": "## 工作流流程概述"
},
"typeVersion": 1
},
{
"id": "13a9d4b6-f175-4de1-8deb-d2d7ab99c3c5",
"name": "便签 3",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2640,
-20
],
"parameters": {
"color": 4,
"width": 620,
"height": 300,
"content": "## 创建项目流程"
},
"typeVersion": 1
},
{
"id": "3cdb986d-69d7-41b8-ae77-d3bda9dee5c2",
"name": "便签 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
-740,
-40
],
"parameters": {
"color": 4,
"width": 400,
"height": 280,
"content": "## Jira 票据生成器"
},
"typeVersion": 1
},
{
"id": "5c7d7e57-c431-4642-9662-88b3e21ee8a7",
"name": "Jira 故事生成器",
"type": "@n8n/n8n-nodes-langchain.chainLlm",
"position": [
-660,
80
],
"parameters": {
"text": "=You are a professional Agile project manager and software architect. \nBased on the following input, generate a detailed list of user stories and their corresponding sub-tasks in **clean JSON format**, ready to be used in Jira.\n\nEach story should follow Agile best practices, structured as: \n**\"As a [user], I want to [goal], so that [reason]\"**.\n\nEach story and sub-task must include:\n- A **clear and concise title**\n- A **short but detailed description** (1–3 sentences)\n\n---\n\n### Input:\n**Project Name**: `{{ $('When clicking ‘Test workflow’').item.json['Project Name'] }}` \n**Full Project Feature Description**: \n`{{ $('When clicking ‘Test workflow’').item.json['Project Full Features'] }}`\n\n---\n\n### Output format:\n```json\n[\n {\n \"story_title\": \"As a [user], I want to [goal], so that [benefit]\",\n \"story_description\": \"Describe what the user needs and why this feature matters to the business or experience.\",\n \"epic\": \"Optional Epic Name\",\n \"sub_tasks\": [\n {\n \"title\": \"Design UI for the feature\",\n \"description\": \"Create wireframes and visual designs for the new feature, ensuring usability and responsiveness.\"\n },\n {\n \"title\": \"Implement frontend logic using React\",\n \"description\": \"Develop the UI components and integrate them with the application state using React.\"\n },\n {\n \"title\": \"Build backend API endpoint\",\n \"description\": \"Create the necessary API endpoints using appropriate frameworks to handle feature data.\"\n },\n {\n \"title\": \"Write unit tests\",\n \"description\": \"Develop unit tests for both frontend and backend components to ensure correctness and reliability.\"\n },\n {\n \"title\": \"Perform integration testing\",\n \"description\": \"Test how different components interact and ensure the overall feature functions as expected.\"\n },\n {\n \"title\": \"Update project documentation\",\n \"description\": \"Document the feature’s design, usage instructions, and API endpoints in the project’s knowledge base.\"\n }\n ]\n },\n {\n \"story_title\": \"As a [user], I want to [another goal], so that [another benefit]\",\n \"story_description\": \"Explain why this goal is needed and how it improves user experience or system functionality.\",\n \"epic\": \"Same or another epic name\",\n \"sub_tasks\": [\n {\n \"title\": \"Task A title\",\n \"description\": \"Brief but complete description of Task A.\"\n },\n {\n \"title\": \"Task B title\",\n \"description\": \"Brief but complete description of Task B.\"\n },\n {\n \"title\": \"Task C title\",\n \"description\": \"Brief but complete description of Task C.\"\n }\n ]\n }\n]\n",
"promptType": "define",
"hasOutputParser": true
},
"typeVersion": 1.6
},
{
"id": "e5283ece-c93f-4e26-bd18-edb44a738566",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
320,
-220
],
"parameters": {
"color": 4,
"width": 440,
"height": 280,
"content": "## Gmail - 发送通知"
},
"typeVersion": 1
},
{
"id": "a1bc89b7-03c8-44df-8117-4e53cc1ac374",
"name": "Gmail - 发送通知",
"type": "n8n-nodes-base.gmail",
"position": [
380,
-100
],
"webhookId": "50d0ac6a-772b-4ec3-88a1-2d234afa56d4",
"parameters": {
"sendTo": "n8n_test_result_replace_me@yopmail.com",
"message": "={{ $('Project Naming').first().json.output.project_name }} is successfully generated on Jira\nProject ID: {{ $('Create Project').first().json.id }}\nProject Key: {{ $('Create Project').first().json.key }}\nProject Link: https://nodemationhub.atlassian.net/jira/servicedesk/projects/{{ $('Create Project').first().json.key }}",
"options": {
"appendAttribution": false
},
"subject": "Project successfully generated",
"emailType": "text"
},
"credentials": {
"gmailOAuth2": {
"id": "CeBpTZBQSAMKVKJY",
"name": "Gmail account (Billy Email 2)"
}
},
"typeVersion": 2.1
},
{
"id": "0269710e-0785-4681-9da5-ad4d9b8a193c",
"name": "设置 Jira URL",
"type": "n8n-nodes-base.set",
"position": [
-2860,
100
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "31fe9b8d-1cea-40e8-9381-453bea1d2ad1",
"name": "Jira url",
"type": "string",
"value": "https://nodemationhub.atlassian.net"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "a521d267-7c7f-4f8f-a3f5-710169392a9d",
"name": "设置数组子任务",
"type": "n8n-nodes-base.set",
"position": [
500,
100
],
"parameters": {
"options": {},
"assignments": {
"assignments": [
{
"id": "b65992ed-e101-4975-9c54-fb6e13d1fd40",
"name": "sub_tasks",
"type": "array",
"value": "={{ $('Loop Over Items').item.json.sub_tasks }}"
}
]
}
},
"typeVersion": 3.4
},
{
"id": "8210520b-f9ab-4b1a-8b31-3bcc2cc1130f",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
-2940,
0
],
"parameters": {
"color": 4,
"width": 260,
"height": 260,
"content": "使用您的 Jira 实例 URL 更新 Jira URL(示例:https://testproject.atlassian.net)"
},
"typeVersion": 1
},
{
"id": "d38423f7-1a04-42de-8d5b-65c912d1f32c",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
-1840,
-20
],
"parameters": {
"color": 4,
"width": 980,
"height": 480,
"content": "## 获取故事和子任务的问题 ID"
},
"typeVersion": 1
},
{
"id": "24d11677-ed13-412d-8f74-0b56efdec1f5",
"name": "执行子任务创建器工作流",
"type": "n8n-nodes-base.executeWorkflow",
"position": [
920,
580
],
"parameters": {
"options": {},
"workflowId": {
"__rl": true,
"mode": "list",
"value": "YeXZlTxxL8OaYXWN",
"cachedResultName": "Jira Project Generator Template"
},
"workflowInputs": {
"value": {
"key": "={{ $json.key }}",
"story_id": "={{ $json.id }}",
"project_id": "={{ $('Get Status ID').item.json.id }}",
"subtask_type": "={{ $('Jira Issue ID').item.json[\"task id\"] }}",
"subtask_title": "={{ $json.title }}",
"subtask_description": "={{ $json.description }}"
},
"schema": [
{
"id": "story_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "story_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "key",
"type": "string",
"display": true,
"required": false,
"displayName": "key",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subtask_title",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "subtask_title",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subtask_description",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "subtask_description",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "project_id",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "project_id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "subtask_type",
"type": "string",
"display": true,
"removed": false,
"required": false,
"displayName": "subtask_type",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [],
"attemptToConvertTypes": false,
"convertFieldsToString": true
}
},
"typeVersion": 1.2
},
{
"id": "fc0bca3f-2050-46ee-b275-8c8f215dbcba",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
1120,
440
],
"parameters": {
"color": 4,
"width": 800,
"height": 400,
"content": "## 子任务创建器工作流"
},
"typeVersion": 1
}
],
"pinData": {
"When Executed by Another Workflow": [
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Design UI for adaptive goal creation flow",
"subtask_description": "Create wireframes and mockups for the adaptive goal setup and progress-tracking screens."
},
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Implement adaptive goal logic on the frontend",
"subtask_description": "Develop the React components that let users create, view, and adjust their personalized fitness goals."
},
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Build backend logic for adaptive goal adjustments",
"subtask_description": "Develop backend algorithms and endpoints to evaluate user data and update goals dynamically over time."
},
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Write unit tests for adaptive goal components",
"subtask_description": "Ensure all critical logic is covered with unit tests for both client-side and server-side functionality."
},
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Perform integration and behavior-based testing",
"subtask_description": "Test how users interact with adaptive goals over time and validate correctness of data and suggestions."
},
{
"key": "JGTLW-1",
"story_id": "10495",
"project_id": "10165",
"subtask_type": "10170",
"subtask_title": "Document adaptive goals feature implementation",
"subtask_description": "Update internal and user-facing documentation detailing how adaptive goal logic works and how to use it."
}
],
"When clicking ‘Test workflow’": [
{
"formMode": "test",
"submittedAt": "2025-07-31T13:06:47.458+08:00",
"Project Name": "Daily planner schedule - Daily planner project",
"Project Full Features": "Daily planner schedule - Daily planner project"
}
]
},
"connections": {
"Limit": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"Merge": {
"main": [
[
{
"node": "Execute Sub-task creator Workflow",
"type": "main",
"index": 0
}
]
]
},
"Filter": {
"main": [
[
{
"node": "Limit2",
"type": "main",
"index": 0
}
]
]
},
"Limit2": {
"main": [
[
{
"node": "Jira Story Status ID",
"type": "main",
"index": 0
}
]
]
},
"Limit3": {
"main": [
[
{
"node": "Jira Sub-task Status ID",
"type": "main",
"index": 0
}
]
]
},
"Filter1": {
"main": [
[
{
"node": "Limit3",
"type": "main",
"index": 0
}
]
]
},
"Aggregate": {
"main": [
[
{
"node": "Gmail - Send Notification",
"type": "main",
"index": 0
}
]
]
},
"Split Out": {
"main": [
[
{
"node": "Limit",
"type": "main",
"index": 0
}
]
]
},
"Split Out1": {
"main": [
[
{
"node": "Merge",
"type": "main",
"index": 1
}
]
]
},
"Split Out4": {
"main": [
[
{
"node": "Filter",
"type": "main",
"index": 0
},
{
"node": "Filter1",
"type": "main",
"index": 0
}
]
]
},
"Create Story": {
"main": [
[
{
"node": "Set Array Sub Tasks",
"type": "main",
"index": 0
},
{
"node": "Merge",
"type": "main",
"index": 0
}
]
]
},
"Set Jira URL": {
"main": [
[
{
"node": "Check Project Key & Get Status ID",
"type": "main",
"index": 0
}
]
]
},
"Get Status ID": {
"main": [
[
{
"node": "Split Out4",
"type": "main",
"index": 0
}
]
]
},
"Jira Issue ID": {
"main": [
[
{
"node": "Jira Story Generator",
"type": "main",
"index": 0
}
]
]
},
"Create Project": {
"main": [
[
{
"node": "Get Status ID",
"type": "main",
"index": 0
}
]
]
},
"Project Naming": {
"main": [
[
{
"node": "Set Jira URL",
"type": "main",
"index": 0
}
]
]
},
"Create Sub Task": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items": {
"main": [
[
{
"node": "Aggregate",
"type": "main",
"index": 0
}
],
[
{
"node": "Create Story",
"type": "main",
"index": 0
}
]
]
},
"Loop Over Items1": {
"main": [
[],
[
{
"node": "Create Sub Task",
"type": "main",
"index": 0
}
]
]
},
"OpenAI Chat Model": {
"ai_languageModel": [
[
{
"node": "Project Naming",
"type": "ai_languageModel",
"index": 0
},
{
"node": "Jira Story Generator",
"type": "ai_languageModel",
"index": 0
}
]
]
},
"On form submission": {
"main": [
[
{
"node": "Project Naming",
"type": "main",
"index": 0
}
]
]
},
"Set Array Sub Tasks": {
"main": [
[
{
"node": "Split Out1",
"type": "main",
"index": 0
}
]
]
},
"Jira Story Generator": {
"main": [
[
{
"node": "Split Out",
"type": "main",
"index": 0
}
]
]
},
"Jira Story Status ID": {
"main": [
[
{
"node": "Jira Issue ID",
"type": "main",
"index": 0
}
]
]
},
"Jira Sub-task Status ID": {
"main": [
[
{
"node": "Jira Issue ID",
"type": "main",
"index": 1
}
]
]
},
"Structured Output Parser": {
"ai_outputParser": [
[
{
"node": "Jira Story Generator",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Structured Output Parser1": {
"ai_outputParser": [
[
{
"node": "Project Naming",
"type": "ai_outputParser",
"index": 0
}
]
]
},
"Check Project Key & Get Status ID": {
"main": [
[
{
"node": "Create Project",
"type": "main",
"index": 0
}
]
]
},
"Execute Sub-task creator Workflow": {
"main": [
[
{
"node": "Loop Over Items",
"type": "main",
"index": 0
}
]
]
},
"When Executed by Another Workflow": {
"main": [
[
{
"node": "Loop Over Items1",
"type": "main",
"index": 0
}
]
]
},
"When clicking ‘Test workflow’": {
"main": [
[
{
"node": "Project Naming",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
高级 - 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
使用GPT-5和表单的ClickUp任务层级敏捷项目生成器
使用GPT-5和表单的ClickUp任务层级敏捷项目生成器
Set
Gmail
Limit
+13
28 节点Billy Christi
多模态 AI
在可视化参考库中探索n8n节点
在可视化参考库中探索n8n节点
If
Ftp
Set
+93
113 节点I versus AI
其他
WordPress博客自动化专业版(深度研究)v2.1市场
使用GPT-4o、Perplexity AI和多语言支持自动化SEO优化的博客创建
If
Set
Xml
+27
125 节点Daniel Ng
内容创作
每日Jira工单摘要生成器(GPT-5 + Jira API)
使用GPT-5和Jira API的每日Jira工单摘要生成器
Set
Code
Jira
+11
24 节点Billy Christi
AI 摘要总结
(Duc)深度研究市场模板
集成PerplexityAI研究和OpenAI内容的多层级WordPress博客生成器
If
Set
Xml
+28
132 节点Daniel Ng
人工智能
内容生成器 v3
AI驱动博客自动化:使用GPT-4生成并发布SEO文章至WordPress和Twitter
If
Set
Code
+25
144 节点Jay Emp0
内容创作
工作流信息
难度等级
高级
节点数量42
分类1
节点类型18
作者
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
外部链接
在 n8n.io 查看 →
分享此工作流