8
n8n 中文网amn8n.com

Jira智能体

高级

这是一个Project Management, AI Chatbot领域的自动化工作流,包含 23 个节点。主要使用 If, Set, Function, JiraTool, Telegram 等节点。 通过Telegram和GPT-4o使用自然语言管理Jira问题

前置要求
  • Telegram Bot Token
  • OpenAI API Key
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "kPEqMYdlMwW08JG1",
  "meta": {
    "instanceId": "b78775038dd0551b144b274015d3475f3d849cef508e40745901d6f4436e7d88",
    "templateCredsSetupCompleted": true
  },
  "name": "Jira智能体",
  "tags": [],
  "nodes": [
    {
      "id": "87eb83d5-fad5-45d1-bc23-3adcff7c8842",
      "name": "OpenAI 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatOpenAi",
      "position": [
        -240,
        192
      ],
      "parameters": {
        "model": "gpt-4o",
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "467060d3-80da-44c3-b52a-a1fb9d78fcd4",
      "name": "重试",
      "type": "n8n-nodes-base.set",
      "position": [
        672,
        48
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "7ab380a2-a8d3-421c-ab4e-748ea8fb7904",
              "name": "response",
              "type": "string",
              "value": "Unable to perform task. Please try again."
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "b223b489-de88-412d-92dc-5ce5b5fa9093",
      "name": "在 Jira Software 中删除问题",
      "type": "n8n-nodes-base.jiraTool",
      "position": [
        176,
        352
      ],
      "parameters": {
        "issueKey": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Issue_Key', ``, 'string') }}",
        "operation": "delete"
      },
      "typeVersion": 1
    },
    {
      "id": "9de0b6bf-bc56-4973-b8fd-35643034463d",
      "name": "在 Jira Software 中更新问题",
      "type": "n8n-nodes-base.jiraTool",
      "position": [
        448,
        320
      ],
      "parameters": {
        "issueKey": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Issue_Key', ``, 'string') }}",
        "operation": "update",
        "updateFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "282dd679-5d62-4b00-b9ab-5686da85fd9e",
      "name": "Jira 智能体",
      "type": "@n8n/n8n-nodes-langchain.agent",
      "onError": "continueErrorOutput",
      "position": [
        16,
        -80
      ],
      "parameters": {
        "text": "={{ $json.text }}{{ $json.data }}",
        "options": {
          "systemMessage": "=You are a Jira assistant. Your responsibilities include creating, retrieving, updating, and managing Jira issues such as epics, stories, tasks, and bugs. You can also transition issues to the \"Done\" state.\n\nJira Management Tools\n\nUse \"Create Issue\" to create new tasks, stories, epics, or bugs. Specify the issue type and required fields (e.g., summary, project, and description).\n\nUse \"Get Issue\" to retrieve details about a specific issue. Requires the issue key (e.g., SCRUM-123) or the issue name.\n\nUse \"Update Issue\" to change fields like summary, description, priority, or assignee. Requires the issue key.\n\nUse \"Transition Issue\" to move an issue to another status (e.g., move to \"Done\"). Use \"Get Issue\" first to retrieve the list of available transitions.\n\nUse \"Search Issues\" to find issues using JQL (Jira Query Language). Useful for filtering by assignee, project, status, etc.\n\nFinal Notes\nHere is the current date/time: {{ $now }}\nIf the issue type isn’t specified, default to Story.\nIf transitioning to \"Done\", ensure the issue is in a status that allows that transition."
        },
        "promptType": "define"
      },
      "typeVersion": 1.6
    },
    {
      "id": "c17f65ec-96ba-48a1-abfa-47d6a11aa301",
      "name": "在 Jira Software 中获取多个问题1",
      "type": "n8n-nodes-base.jiraTool",
      "position": [
        16,
        352
      ],
      "parameters": {
        "options": {},
        "operation": "getAll"
      },
      "typeVersion": 1
    },
    {
      "id": "a47f63fb-6a84-4f04-bae8-c100a9c43494",
      "name": "在 Jira Software 中创建问题",
      "type": "n8n-nodes-base.jiraTool",
      "position": [
        304,
        352
      ],
      "parameters": {
        "project": {
          "__rl": true,
          "mode": "list",
          "value": "10000",
          "cachedResultName": "HumbleTurtle"
        },
        "summary": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Summary', ``, 'string') }}",
        "issueType": {
          "__rl": true,
          "mode": "list",
          "value": "10003",
          "cachedResultName": "Story"
        },
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "963f8359-9548-4b17-b155-53b39855ae92",
      "name": "在 Jira Software 中获取问题状态",
      "type": "n8n-nodes-base.jiraTool",
      "position": [
        592,
        240
      ],
      "parameters": {
        "issueKey": "={{ /*n8n-auto-generated-fromAI-override*/ $fromAI('Issue_Key', ``, 'string') }}",
        "operation": "transitions",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "73c165c7-3014-41f1-8ed4-186d6efcd9a2",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        32,
        -512
      ],
      "parameters": {
        "color": 6,
        "width": 248,
        "height": 388,
        "content": "## Jira 智能体"
      },
      "typeVersion": 1
    },
    {
      "id": "42805ff0-5bc1-446b-8510-55f63fc42059",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        112,
        528
      ],
      "parameters": {
        "color": 6,
        "content": "## JIRA 操作"
      },
      "typeVersion": 1
    },
    {
      "id": "0d5fbde7-c305-46ec-ab26-a017743713b5",
      "name": "Telegram 触发器",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        -1024,
        -112
      ],
      "webhookId": "7d8f7ff2-aafe-4356-be63-02628a58816a",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "typeVersion": 1.1
    },
    {
      "id": "2502ad6c-98be-457c-ab58-8022d4a05c74",
      "name": "设置 '文本'",
      "type": "n8n-nodes-base.set",
      "position": [
        -864,
        -112
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "fe7ecc99-e1e8-4a5e-bdd6-6fce9757b234",
              "name": "text",
              "type": "string",
              "value": "={{ $json.message.text }}"
            },
            {
              "id": "d5e3a384-033d-44d3-9c74-af9cecf90de1",
              "name": "chat_id",
              "type": "string",
              "value": "={{$json[\"message\"]?.chat?.id}}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "337ac77d-3e8d-4bac-813b-0b5da3706d45",
      "name": "提取任务",
      "type": "n8n-nodes-base.function",
      "position": [
        -704,
        -112
      ],
      "parameters": {
        "functionCode": "const input = $json[\"text\"]?.toLowerCase().trim() || \"\";\nconst chatId = $json[\"chat_id\"]; // you must ensure chat_id is passed in\n\nif ((input.startsWith(\"create story\"))) {\n  const parts = input.split(\" \");\n  const task = parts.slice(2).join(\" \").trim();\n  return [{\n    json: {\n      task,\n      type: parts[1],\n      chat_id: chatId,\n      should_respond: true,\n      form_prompt: `Let's create a new ${parts[1]}.\\n\\nPlease answer the following:\\n\\nTitle:\\nSummary:\\nDue date (YYYY-MM-DD):\\nDuration (in hours):`,\n      original_message: $json[\"text\"] || \"\"\n    }\n  }];\n}\n\nreturn [{\n  json: {\n    chat_id: chatId,\n    original_message: $json[\"text\"] || \"\",\n    should_respond: false\n  }\n}];\n"
      },
      "typeVersion": 1
    },
    {
      "id": "965604d0-75c4-4e37-8b4e-7eb226eb587a",
      "name": "发送文本消息1",
      "type": "n8n-nodes-base.telegram",
      "position": [
        -352,
        -256
      ],
      "webhookId": "4e5f8113-5694-4872-a69e-cca3d70c843e",
      "parameters": {
        "chatId": "={{ $json.chat_id }}",
        "message": "={{ $json.form_prompt }}",
        "options": {},
        "operation": "sendAndWait",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Title",
              "placeholder": "eg. create health dashboard",
              "requiredField": true
            },
            {
              "fieldLabel": "Summary",
              "placeholder": "eg. should contain the vpv percentage"
            },
            {
              "fieldType": "dropdown",
              "fieldLabel": "Due date",
              "fieldOptions": {
                "values": [
                  {
                    "option": "today"
                  },
                  {
                    "option": "tomorrow"
                  },
                  {
                    "option": "this week"
                  },
                  {
                    "option": "within 2 weeks"
                  },
                  {
                    "option": "this month"
                  },
                  {
                    "option": "this quarter"
                  }
                ]
              },
              "requiredField": true
            },
            {
              "fieldType": "number",
              "fieldLabel": "Duration (in hours)",
              "placeholder": "1",
              "requiredField": true
            }
          ]
        },
        "responseType": "customForm"
      },
      "typeVersion": 1.2
    },
    {
      "id": "f0c799f8-751d-4d98-98c4-76ff67a0091b",
      "name": "如果1",
      "type": "n8n-nodes-base.if",
      "position": [
        -544,
        -112
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "ca74ddb7-495e-4a29-97cc-8d568e16f728",
              "operator": {
                "type": "boolean",
                "operation": "true",
                "singleValue": true
              },
              "leftValue": "={{ $json.should_respond }}",
              "rightValue": "True"
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "7547894f-50d0-4ade-b816-b9a3699c3af7",
      "name": "设置 '文本'1",
      "type": "n8n-nodes-base.set",
      "position": [
        -224,
        -80
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "fe7ecc99-e1e8-4a5e-bdd6-6fce9757b234",
              "name": "text",
              "type": "string",
              "value": "={{ $json.original_message }}"
            },
            {
              "id": "d5e3a384-033d-44d3-9c74-af9cecf90de1",
              "name": "chat_id",
              "type": "string",
              "value": "={{ $json.chat_id }}"
            },
            {
              "id": "ba588e4a-bbf8-42a7-95a3-600f4bc12aa0",
              "name": "original_message",
              "type": "string",
              "value": "={{ $json.original_message }}"
            },
            {
              "id": "4298249a-f15a-4acf-ac49-72a884247373",
              "name": "data",
              "type": "string",
              "value": "={{ $json.data }}"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "e6f05603-d69d-4241-b56c-7dc881e6a20e",
      "name": "便签2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -1872
      ],
      "parameters": {
        "color": 5,
        "width": 2468,
        "height": 396,
        "content": "# 通过 Telegram 和 GPT-4o 使用自然语言管理 Jira 问题"
      },
      "typeVersion": 1
    },
    {
      "id": "8ae99243-df7a-4279-b3c0-8af0f2c48da9",
      "name": "响应",
      "type": "n8n-nodes-base.telegram",
      "position": [
        672,
        -160
      ],
      "webhookId": "ed66661a-5906-45ac-abec-65076da1c8d4",
      "parameters": {
        "text": "={{ $json.output }}",
        "chatId": "={{ $('Telegram Trigger').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "f1639c04-f250-4517-b769-13a93ca257f6",
      "name": "便签3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        80
      ],
      "parameters": {
        "color": 6,
        "width": 384,
        "height": 288,
        "content": "## Telegram 消息"
      },
      "typeVersion": 1
    },
    {
      "id": "a8e099ed-c4aa-4e60-9b74-50012df4a686",
      "name": "便签4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -1456
      ],
      "parameters": {
        "color": 3,
        "width": 816,
        "height": 848,
        "content": "## 配置 Telegram 机器人"
      },
      "typeVersion": 1
    },
    {
      "id": "63704731-cba3-4123-9552-a9c6126dba80",
      "name": "便签 6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -368,
        -1456
      ],
      "parameters": {
        "color": 3,
        "width": 816,
        "height": 848,
        "content": "## 配置 Jira"
      },
      "typeVersion": 1
    },
    {
      "id": "b1d42508-5d94-4cec-9674-009412b6506e",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        464,
        -1456
      ],
      "parameters": {
        "color": 3,
        "width": 816,
        "height": 848,
        "content": "## 设置 OpenAI API 访问"
      },
      "typeVersion": 1
    },
    {
      "id": "18fb581d-f779-4b58-b7c1-d441c8cdd5fa",
      "name": "便签5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -1200,
        -576
      ],
      "parameters": {
        "color": 4,
        "width": 2480,
        "height": 1296,
        "content": ""
      },
      "typeVersion": 1
    }
  ],
  "active": false,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "28435f91-fe15-4f0d-aae2-a5afb508c8d4",
  "connections": {
    "If1": {
      "main": [
        [
          {
            "node": "Send a text message1",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Set 'Text'1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Jira Agent": {
      "main": [
        [
          {
            "node": "Response",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "Try Again",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set 'Text'": {
      "main": [
        [
          {
            "node": "Extract Task",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set 'Text'1": {
      "main": [
        [
          {
            "node": "Jira Agent",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Extract Task": {
      "main": [
        [
          {
            "node": "If1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger": {
      "main": [
        [
          {
            "node": "Set 'Text'",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "OpenAI Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Send a text message1": {
      "main": [
        [
          {
            "node": "Set 'Text'1",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Create an issue in Jira Software": {
      "ai_tool": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Delete an issue in Jira Software": {
      "ai_tool": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Update an issue in Jira Software": {
      "ai_tool": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get many issues in Jira Software1": {
      "ai_tool": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    },
    "Get the status of an issue in Jira Software": {
      "ai_tool": [
        [
          {
            "node": "Jira Agent",
            "type": "ai_tool",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

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

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

高级 - 项目管理, AI 聊天机器人

需要付费吗?

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

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

适合高级用户,包含 16+ 个节点的复杂工作流

作者
Humble Turtle

Humble Turtle

@humbleturtle

Elegant AI agents that quietly do the work for you

外部链接
在 n8n.io 查看

分享此工作流