FlowPilot 将 Jira 和 GitLab 串联起来,把日常开发工作流中的重复操作自动化:
- 配置 Jira / GitLab / Jenkins 凭证
- 创建发布申请(自动提取版本号、创建 Jira Issue)
- 结束当前任务(rebase → push → 创建 MR → 更新 Jira)
- 创建 Merge Request(选分支 → push → 创建 MR → 触发流水线)
- 更多流程持续增加中…
所有凭证仅存储在本地 ~/.flowpilot/config.json,不会发送到任何外部服务。支持中文 / 英文自动切换。
npm install -g flowpilot需要 Node.js >= 22.13。
flowpilot config # CLI 交互式配置
flowpilot config --open # 打开 Web 页面配置| 配置项 | 说明 |
|---|---|
| Jira 地址 | 带协议前缀,如 https://jira.example.com |
| Jira 账号 | 用户名(无 @ 后缀) |
| Jira 密码 | 仅本地存储 |
| GitLab 地址 | 带协议前缀,如 http://git.example.com |
| GitLab Token | 在 GitLab Settings → Access Tokens 生成 |
| Jenkins 地址 | 带协议前缀,如 https://jenkins.example.com |
| Jenkins 账号 | 用户名 |
| Jenkins 密码 | 密码 / API Token,仅本地存储 |
每个命令都支持 CLI 交互和 Web 页面两种操作方式,--open 打开对应的浏览器页面。
所有带输入的命令支持历史记录快速执行:保存每次的输入数据,下次一键复用,无需重新填写。
自动从 GitLab 项目分支提取 pom.xml 版本号,在 Jira 创建发布 Issue,链接自动复制到剪贴板。
变量提取规则:
- 版本号:从
pom.xml的<version>标签提取(自动去除-SNAPSHOT等后缀) - 项目名称(flowPilotName):从
pom.xml的<properties><flowPilotName>标签提取,用于生成版本名和 Issue 概要。若<properties>中无<flowPilotName>,则回退使用 GitLab 项目名称 - Jira 版本名:
{flowPilotName}-{version},如my-flow-app-1.2.3 - Issue 概要:
{flowPilotName}-{version} release request
flowpilot release # CLI
flowpilot release --open # Web完成功能分支的全部收尾:rebase、push、创建 MR(自动关联 Jira issue)、更新 Jira 状态。
flowpilot end # 自动检测源分支
flowpilot end -b develop # 指定目标分支
flowpilot end --open # Web选择源分支与目标分支,自动推送并创建 MR,支持流水线触发和 Jira 状态更新。
flowpilot mr # CLI 交互式
flowpilot mr -t develop # 指定目标分支
flowpilot mr --draft # 创建为草稿 MR
flowpilot mr --open # Webflowpilot serve # 启动后台服务
flowpilot stop # 停止
flowpilot restart # 重启ISC