自动拉取JIRA的bug单录入到Multica的Issue
2026/06
08
19:06
可以实现JIRA录入Bug单后,Multica自动接单并且自动修复上传到分支
创建JIRA访问令牌
进入JIRA,点用户信息,个人访问令版,创建令牌,保存好
创建拉取脚本
getJiraTask.py
import requests
import json
import os
JIRA_HOST = "http://jira.公司域名.com:端口号"
PAT_TOKEN = "NTU2Njk2MDY0ODkzOoKHXqTwoFE1jrEZOTpV45ZaHAfw"
Q_ASSIGNEE = "AND assignee in (用户名,用户名...)"
Q_STATUS = "AND status = 等待处理 AND resolution = Unresolved"
Q_CREATED = "AND created >= -48h"
JQL = f"project=KTP {Q_CREATED} {Q_STATUS} {Q_ASSIGNEE}"
URL = f"{JIRA_HOST}/rest/api/2/search"
HEADERS = { "Authorization": f"Bearer {PAT_TOKEN}", "Content-Type": "application/json" }
PARAMS = {"jql": JQL, "maxResults": 100, "startAt": 0 }
def loadLocalTaskKeys():
try:
with open("task_key.txt", "r") as f:
return [line.strip() for line in f if line.strip()]
except FileNotFoundError:
return []
def getJiraTasks():
if os.path.exists("task_new.json"):
os.remove("task_new.json")
taskKeys = loadLocalTaskKeys()
response = requests.get(URL, headers=HEADERS, params=PARAMS)
if response.status_code == 200:
data = response.json()
newTasks = []
for issue in data["issues"]:
key = issue["key"]
if key in taskKeys:
continue
summary = issue["fields"]["summary"]
lowSummary = summary.lower()
if "bot" in lowSummary:
description = issue["fields"]["description"]
assignee = issue["fields"]["assignee"]["name"]
newTasks.append({"key": key, "summary": summary, "description": description, "assignee": assignee})
if newTasks:
with open("task_new.json", "w", encoding="utf-8") as f:
json.dump(newTasks, f, ensure_ascii=False, indent=2)
getJiraTasks()
以上脚本拉取近2天的JIRA任务单,并且判断
1、标题是否有bot,没有则不创建
2、防止重复创建
Multica添加Skill:get_client_jira_task
# 工作目录
限定在xx目录中
# 生成新任务
* 运行getJiraTasks.py,将会生成task_new.json文件
* 若没有生成task_new.json文件,任务中止
# 转换为Multica issue
* task_new.json的格式为一组issue信息,单个issue信息含有key,summary,description,issue的title=key+summary
* 单个issue信息,转换为Multica的issue,项目为xxx,分配给bot_develop执行,并将key追加到task_key.txt中
添加定时器
每隔30分钟自动运行skill get_client_jira_task
bot_develop智能体配置
```md
## 你是谁
你是xxx,主要使用xxx语言
## 你的git工作区
xxxx
不得切换git分支
## 代码目录
xxxx
## 编辑与提交
- 修改前,先更新git
- 编辑完成直接commit和push
- commit提交信息与issue标题一致
```
CopyRights: The Post by BY-NC-SA For Authorization,Original If Not Noted,Reprint Please Indicate From 老刘@开发笔记
Post Link: 自动拉取JIRA的bug单录入到Multica的Issue
Post Link: 自动拉取JIRA的bug单录入到Multica的Issue