8
n8n 中文网amn8n.com

Google Forms → Jira 问题创建器

中级

这是一个Miscellaneous, Multimodal AI领域的自动化工作流,包含 9 个节点。主要使用 Code, Jira, Gmail, GoogleSheets, GoogleSheetsTrigger 等节点。 从Google表单创建Jira工单,含表格更新和邮件通知

前置要求
  • Google 账号和 Gmail API 凭证
  • Google Sheets API 凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "JmH0beZB5ZUgJGor",
  "meta": {
    "instanceId": "0430772da25f7bca29bf5ef2b251086a85fb4096503a6f781526d32befd038d6",
    "templateCredsSetupCompleted": true
  },
  "name": "Google Forms → Jira 问题创建器",
  "tags": [
    {
      "id": "MxIJ6vHorSEdfi3v",
      "name": "google form",
      "createdAt": "2025-08-18T07:16:22.720Z",
      "updatedAt": "2025-08-18T07:16:22.720Z"
    },
    {
      "id": "eAzNESqLUWwWMrE9",
      "name": "gmail",
      "createdAt": "2025-08-18T07:16:22.709Z",
      "updatedAt": "2025-08-18T07:16:22.709Z"
    },
    {
      "id": "EYNbAs3Q9sg9NksG",
      "name": "Jira",
      "createdAt": "2025-09-10T10:47:53.750Z",
      "updatedAt": "2025-09-10T10:47:53.750Z"
    },
    {
      "id": "7zEwLFClveXBEcdb",
      "name": "google sheet",
      "createdAt": "2025-08-18T07:16:22.756Z",
      "updatedAt": "2025-08-18T07:16:22.756Z"
    }
  ],
  "nodes": [
    {
      "id": "8b90ebac-96e0-4b28-8024-edd6692f45c9",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -224,
        -544
      ],
      "parameters": {
        "color": 3,
        "width": 304,
        "height": 176,
        "content": "## 必需条件"
      },
      "typeVersion": 1
    },
    {
      "id": "f7d9bcc1-d9c2-4844-ab4d-7d9d6b8610c3",
      "name": "添加行时触发",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        208,
        -16
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "id",
          "value": "",
          "cachedResultUrl": "",
          "cachedResultName": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsTriggerOAuth2Api": {
          "id": "3lAHCn7CBb11QTMg",
          "name": "Google Sheets Trigger account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "5278e62a-2d6c-4aa5-8621-77e38efd9dc6",
      "name": "规范化字段",
      "type": "n8n-nodes-base.code",
      "position": [
        416,
        -16
      ],
      "parameters": {
        "jsCode": "const priorityMap = {\n  \"Highest\": \"1\",\n  \"High\": \"2\", \n  \"Medium\": \"3\",\n  \"Low\": \"4\",\n  \"Lowest\": \"5\"\n};\n\nconst sheetPriority = ($json['Priority'] || \"\").toString().trim();\nconst jiraPriority = priorityMap[sheetPriority] || \"3\";\nconst context = $json['Context'] || \"No context provided\";\nconst email = $json['Adresse e-mail'] || $json['Email'] || \"No email provided\";\n\n// keep data from the  Google Sheets Trigger\nconst originalData = $input.first().json;\n\nreturn {\n  ...originalData,  // keep all data from trigger\n  priority: jiraPriority,\n  summary: context,\n  description: `Email: ${email}\\nContext: ${context}\\nSteps to reproduce: ${$json['If bug, steps to reproduce'] || \"N/A\"}\\nAcceptance criteria: ${$json['Acceptance criteria'] || \"N/A\"}`\n};"
      },
      "typeVersion": 2
    },
    {
      "id": "ce1d830b-85af-423f-81d1-36089e5ce1ae",
      "name": "创建 Jira 工单",
      "type": "n8n-nodes-base.jira",
      "position": [
        672,
        -16
      ],
      "parameters": {
        "project": {
          "__rl": true,
          "mode": "list",
          "value": "10002",
          "cachedResultName": "test2"
        },
        "summary": "={{$json.summary}}",
        "issueType": {
          "__rl": true,
          "mode": "list",
          "value": "10014",
          "cachedResultName": "Story"
        },
        "additionalFields": {
          "priority": {
            "__rl": true,
            "mode": "",
            "value": "={{$json.priority}}"
          },
          "description": "={{$json.description}}"
        }
      },
      "credentials": {
        "jiraSoftwareCloudApi": {
          "id": "lvsJXpsetLJRz9RJ",
          "name": "Jira SW Cloud account 2"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "387f2792-94a0-43ec-b358-a27229c50566",
      "name": "使用工单信息更新 Google 表格",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        976,
        -16
      ],
      "parameters": {
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": ""
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": ""
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "c1iXpA4kOmymMGXu",
          "name": "Google Sheets account 2"
        }
      },
      "typeVersion": 4.7
    },
    {
      "id": "5cc9d8ed-dea5-44cc-bc5f-60fcc2a8b464",
      "name": "通知邮件",
      "type": "n8n-nodes-base.gmail",
      "position": [
        1296,
        -16
      ],
      "webhookId": "875c21fa-2282-4652-b4f7-7894df8d7769",
      "parameters": {
        "message": "=<p>Hello, you just received a new Jira ticket created.</p>\n\n<p><strong>Details:</strong></p>\n<ul>\n  <li><strong>Reference:</strong> {{$node[\"Cretate Jira Ticket\"].json.key}}</li>\n  <li><strong>URL:</strong> \n    <a href=\"https://YOURSITE.atlassian.net/browse/{{$node['Cretate Jira Ticket'].json.key}}\">View ticket</a>\n  </li>\n  <li><strong>Title:</strong> {{\n    (String($node[\"Normalize fields\"].json.summary ?? '')\n      .replace(/\\s+/g,' ')\n      .trim())\n    || 'New issue from Google Form'\n  }}</li>\n  <li><strong>Priority:</strong> {{\n    (()=>{\n         const p = String($node[\"Normalize fields\"].json.priority ?? $json.priority ?? '').toLowerCase().trim();\n         const map = { '1':'Highest','2':'High','3':'Medium','4':'Low','5':'Lowest',\n                       'highest':'Highest','high':'High','medium':'Medium','low':'Low','lowest':'Lowest' };\n         return map[p] || (p || 'Medium');\n       })()\n  }}</li>\n  <li><strong>Status:</strong> {{ String($json.status ?? 'Created') }}</li>\n</ul>\n\n<p><strong>Requester:</strong></p>\n<ul>\n  <li><strong>Email:</strong> {{\n    $node[\"Trigger when row added\"].json[\"Adresse e-mail\"]\n    || $node[\"Trigger when row added\"].json.Email\n    || $node[\"Normalize fields\"].json[\"Adresse e-mail\"]\n    || $node[\"Normalize fields\"].json.Email\n    || ''\n  }}</li>\n</ul>",
        "options": {},
        "subject": "You just received a new ticket"
      },
      "credentials": {
        "gmailOAuth2": {
          "id": "C7dkDtQlmRSRwBlz",
          "name": "Gmail account 2"
        }
      },
      "typeVersion": 2.1
    },
    {
      "id": "d4016ada-d836-4ff2-9c57-882fda5d1e1f",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        -544
      ],
      "parameters": {
        "width": 448,
        "height": 704,
        "content": "## 1) 触发和规范化"
      },
      "typeVersion": 1
    },
    {
      "id": "0df66792-90e8-4802-9e0b-33d46d8f9e0d",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        576,
        -544
      ],
      "parameters": {
        "color": 5,
        "width": 304,
        "height": 704,
        "content": "## 2) 创建 Jira 工单"
      },
      "typeVersion": 1
    },
    {
      "id": "6379b494-5fd6-4795-8310-2b3b28dbf39a",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        896,
        -544
      ],
      "parameters": {
        "color": 4,
        "width": 576,
        "height": 704,
        "content": "## 3) 更新表格并发送 Gmail 通知"
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "9e5ef1b9-61ec-41c0-bd9a-ae923ff3e582",
  "connections": {
    "Normalize fields": {
      "main": [
        [
          {
            "node": "Cretate Jira Ticket",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Cretate Jira Ticket": {
      "main": [
        [
          {
            "node": "Update the Google sheet with tickets information",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Trigger when row added": {
      "main": [
        [
          {
            "node": "Normalize fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Update the Google sheet with tickets information": {
      "main": [
        [
          {
            "node": "Notification email",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

中级 - 杂项, 多模态 AI

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
中级
节点数量9
分类2
节点类型6
难度说明

适合有一定经验的用户,包含 6-15 个节点的中等复杂度工作流

作者
Yassin Zehar

Yassin Zehar

@yassinzehar

Digital & IT Project Manager | Data-oriented | Agile certified (PSM I, PSPO I) | Paris

外部链接
在 n8n.io 查看

分享此工作流