Git问题管理工具

一个用于管理和跟踪Git问题的工具,支持分页和多种过滤条件。

  • by for-alisia
  • Java
  • 本地部署
  • 更新于
在 GitHub 查看 for-alisia/delivery-flow

使用说明

GitlabFlow

此存储库分为两部分:

  • flow-orchestrator/ -Spring Boot启动器应用程序
  • mcp-server/ -TypeScript MCP服务器

跑

弹簧靴:

cd flow-orchestrator
cp src/main/resources/application-local.example.yml src/main/resources/application-local.yml
mvn spring-boot:run

如果在VS Code之外运行Spring Boot,请显式激活本地配置文件:

cd flow-orchestrator
SPRING_PROFILES_ACTIVE=local mvn spring-boot:run

MCP服务器:

cd mcp-server
npm install
npm run build
npm start

格式化和验证:

./scripts/final-check.sh

./scripts/final-check.sh 应用存储库格式,然后运行完整的验证门。

使用 ./scripts/format-code.sh check 用于跨Java和TypeScript模块进行只读格式验证。

发布API(MVP)

flow-orchestrator 通过以下方式公开只读问题端点 POST /api/issues.

  • 请求正文是可选的。
  • 基线项目来自服务器配置(app.gitlab.url)不是来自客户。
  • 分页默认为 page=1 和 perPage=40 当省略时。
  • 支持的过滤器有 state, labels, assignee,以及 milestone.
  • labels, assignee,以及 milestone 每个最多只能包含一个值。

请求示例:

{}
{
	"pagination": {
		"page": 2,
		"perPage": 20
	},
	"filters": {
		"state": "opened",
		"labels": ["backend"],
		"assignee": ["alice"],
		"milestone": ["M1"]
	}
}

响应形状:

{
	"items": [
		{
			"id": 99,
			"title": "Mapped issue",
			"description": "Issue description",
			"state": "opened",
			"labels": ["backend"],
			"assignee": "alice",
			"milestone": "M1",
			"parent": 42
		}
	],
	"count": 1,
	"page": 2
}

验证错误形状:

{
	"code": "VALIDATION_ERROR",
	"message": "Request validation failed",
	"details": [
		"filters.labels must contain at most 1 value"
	]
}