AI集成Azure DevOps冲刺管理器

一个全栈的TypeScript Express后端与Streamlit前端结合的工具,用于管理Azure Boards的冲刺、问题和任务,并通过OpenRouter的DeepSeek API提供AI驱动的分析。

  • by siddhartha-04
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 siddhartha-04/azure-devops-mcp

使用说明

Azure DevOps Sprint Manager与AI集成

一个带有Streamlit前端的全栈TypeScript Express后端,用于管理Azure Boards的疾跑、问题和任务,通过OpenRouter的DeepSeek API进行AI驱动分析。

✨ 特性

  • 📊 Sprint管理:使用实时指标查看和跟踪Azure DevOps冲刺
  • 📝 工作项CRUD:创建、读取、更新和删除工作项(任务、错误、用户故事)
  • 🤖 AI分析:自动化冲刺影响评估、风险分析和建议
  • 🔄 实时更新:WebSocket支持实时冲刺和任务更新
  • 🔧 MCP集成:可选的模型上下文协议服务器集成
  • 🔐 安全配置:所有敏感数据的基于环境的配置

🏗️ 技术栈

后端

  • TypeScript -类型安全的JavaScript
  • 快速 -Web框架
  • Socket.io -实时WebSocket通信
  • 阿西奥斯 -Azure DevOps和OpenRouter API的HTTP客户端
  • Dotenv。 -环境变量管理

前端

  • 溪流 -用于数据应用程序的Python web框架
  • 请求: -后端API的HTTP客户端

集成

  • Azure DevOps REST API -Sprint和工作项管理
  • OpenRouter DeepSeek API -人工智能驱动的见解和分析

📁 项目结构

itc-prj-test/
├── backend/                    # TypeScript Express backend
│   ├── src/
│   │   ├── config/            # Configuration loader
│   │   ├── modules/           # Core business logic modules
│   │   │   ├── sprintdataloader.ts    # Azure DevOps sprint data
│   │   │   ├── workitemmanager.ts     # Work item CRUD
│   │   │   ├── integration.ts         # AI integration
│   │   │   └── mcpserver.ts           # MCP integration
│   │   ├── routes/            # API route definitions
│   │   ├── types/             # TypeScript type definitions
│   │   └── main.server.ts     # Server entry point
│   ├── package.json
│   ├── tsconfig.json
│   └── .env.example
│
├── frontend/                   # Streamlit frontend
│   ├── utils/
│   │   └── api_client.py      # Backend API client
│   ├── app.py                 # Main Streamlit application
│   ├── requirements.txt
│   └── .env.example
│
├── mcp.json                   # MCP server configuration
├── .gitignore
├── Readme.md
└── plan.md

🚀 设置和安装

先决条件

  • Node.js v16+和npm
  • python 3.9+和点
  • Azure DevOps 使用个人访问令牌(PAT)的帐户
  • OpenRouter API密钥

后端设置

  1. 导航到后端目录:

    cd backend
    
  2. 安装依赖项:

    npm install
    
  3. 配置环境变量:

    cp .env.example .env
    

    编辑 .env 并添加您的凭据:

    AZURE_ORG_URL=https://dev.azure.com/your-organization
    AZURE_PROJECT=YourProjectName
    AZURE_PAT=your-personal-access-token
    
    PORT=3000
    NODE_ENV=development
    
    OPENROUTER_API_KEY=your-openrouter-api-key
    OPENROUTER_MODEL=deepseek/deepseek-chat
    OPENROUTER_BASE_URL=https://openrouter.ai/api/v1
    
    MCP_ENABLED=false
    
  4. 构建TypeScript:

    npm run build
    
  5. 启动开发服务器:

    npm run dev
    

    或用于生产:

    npm start
    

后端将于启动 http://localhost:3000

前端设置

  1. 导航到前端目录:

    cd frontend
    
  2. 安装Python依赖项:

    pip install -r requirements.txt
    
  3. 配置环境变量:

    cp .env.example .env
    

    编辑 .env:

    BACKEND_API_URL=http://localhost:3000
    
  4. 运行Streamlit应用程序:

    streamlit run app.py
    

前端将在您的浏览器中打开 http://localhost:8501


📖 用法

仪表盘

  • 查看当前冲刺指标(总项目、已完成、进行中)
  • 轨道完成率和速度
  • 监控剩余和已完成的工作时间

工作项管理

  • 创建新的工作项(任务、错误、用户故事、功能)
  • 查看当前冲刺中的所有工作项
  • 更新工作项状态和详细信息
  • 删除工作项

AI分析

  • 获得AI驱动的冲刺影响评估
  • 接收可操作的建议
  • 查看风险等级分析(低/中/高)
  • 检查释放准备状态
  • 访问团队指南

MCP控制

  • 检查MCP服务器状态
  • 向MCP服务器发送命令
  • 对MCP执行查询

🔌 API终点

短跑

  • GET /api/sprints -获得所有冲刺
  • GET /api/sprints/:sprintId/workitems -获取冲刺的工作项
  • GET /api/sprints/current/metrics -获取当前冲刺指标

工作项

  • POST /api/workitems -创建工作项
  • GET /api/workitems/:id -按ID获取工作项
  • PATCH /api/workitems/:id -更新工作项
  • DELETE /api/workitems/:id -删除工作项

AI分析

  • POST /api/ai/analyze-sprint -用AI分析冲刺
  • POST /api/ai/workitem-recommendations -获取工作项建议

主控程序

  • GET /api/mcp/status -获取MCP服务器状态
  • POST /api/mcp/command -发送MCP命令
  • POST /api/mcp/query -查询MCP服务器

健康

  • GET /health -后端健康检查

🔐 安全说明

  • 永不承诺 .env 文件到版本控制
  • 确保Azure PAT和OpenRouter API密钥的安全
  • 对所有敏感配置使用环境变量
  • 在生产中,在以下位置适当配置CORS main.server.ts

🛠️ 发展

后端开发

cd backend
npm run dev  # Runs with hot-reload using ts-node-dev

为生产而建

cd backend
npm run build  # Compiles TypeScript to JavaScript in dist/
npm start      # Runs compiled code

代码检查

cd backend
npm run lint

📝 环境变量

后端(.env)

变量 描述 必填
AZURE_ORG_URL Azure DevOps组织URL 是
AZURE_PROJECT Azure DevOps项目名称 是
AZURE_PAT 个人访问令牌 是
PORT 服务器端口(默认值:3000) 否
NODE_ENV 环境(开发/生产) 否
OPENROUTER_API_KEY OpenRouter API密钥 是
OPENROUTER_MODEL AI模型名称 否
OPENROUTER_BASE_URL OpenRouter API基础URL 否
MCP_ENABLED 启用MCP集成(真/假) 否
MCP_SERVER_URL MCP服务器URL 否

前端(.env)

变量 描述 必填
BACKEND_API_URL 后端API URL 是

🤝 贡献

欢迎投稿!请看 plan.md 用于模块布局和路线图。


📄 许可证

麻省理工学院


🆘 故障排除

后端无法启动

  • 验证是否在中设置了所有必需的环境变量 .env
  • 检查Azure PAT是否具有适当的权限
  • 确保OpenRouter API密钥有效

前端无法连接到后端

  • 验证后端是否在正确的端口上运行
  • 检查 BACKEND_API_URL 前端 .env
  • 确保CORS配置正确

AI分析失败

  • 验证OpenRouter API密钥是否有效
  • 检查API配额和费率限制
  • 查看后端日志以了解详细的错误消息

内置于❤️ 使用TypeScript、Express和Streamlit