SuperAPI AI 工具集

jira-issue-to-pr

通用与其它

查看项目

更新于 10-16 03:11

技能介绍

用途:把 Jira 议题自动转成 GitHub 拉取请求。部署一个 cron 自动化,按固定频率轮询 Jira Cloud 中带可配置标签(默认 create-pr)的开放议题,为每个新议题启动独立的 OpenHands 智能体会话,由智能体从议题正文提取目标仓库(owner/repo),克隆仓库、创建分支、实现或占位改动并开 PR,随后在议题下评论“I'm on it: <会话 URL>”。

主要能力:轮询使用 POST /rest/api/3/search/jql;首次运行写入 first_run_at 基线,之后按基线与 KV 中已处理议题键去重,并用 max_new_per_run(默认 5)限制每次触发启动的会话数;本地调用 POST /api/conversations,OpenHands Cloud 调用 POST /api/v1/app-conversations;轮询脚本仅用标准库,无 SDK 依赖,只有发现新议题时才产生 LLM 成本。

使用方式:需准备 Jira API token(存为 OpenHands 密钥)、GitHub 访问权限(本地需 repo + workflow 范围 token;Cloud 用已连接的 GitHub 集成)、Cloud 需启用 KV store、Jira 标签与目标仓库存在。收集 jira_base_url、jira_email、jira_token_secret、jira_label、max_new_per_run、cron_schedule 后写 config.json,与 scripts/main.py 一起打包上传,再创建 cron 自动化并可用 dispatch 验证。也提供基于 Jira webhook 的事件式替代方案(scripts/setup_webhook.py),但该方案不使用 main.py,去重与评论需在提示中自行要求。

限制:去重比较议题整体 updated 时间戳,部署时已带标签的旧议题若因无关改动被更新,可能被误处理;已处理议题键写入 KV 后永久跳过,只能清空 KV 或重建自动化才能重跑。事件式方案中 Jira 标签为纯字符串,过滤器需读 issue.fields.labels;非管理员需手动配置 webhook。具体收费与价格暂未提供。