Back to MCP directory
publicPublicdnsLocal runtime

cursor-azure-devops-mcp

一个用于Cursor IDE与Azure DevOps集成的MCP服务器,提供项目、工作项、代码库和拉取请求的交互功能,支持测试计划管理和智能响应处理。

article

README

🚀 使用 Azure DevOps 游标工具

Azure DevOps 游标工具是一款功能强大的实用工具,它主要用于与 Azure DevOps 服务进行交互。借助该工具,用户能够通过命令行或脚本执行各类操作,像查询工作项、管理代码仓库、处理拉取请求以及开展测试管理等,极大地提升了与 Azure DevOps 服务交互的效率。

🚀 快速开始

Azure DevOps 游标工具允许用户通过命令行或脚本与 Azure DevOps 服务进行交互。以下是一个简单的示例,展示如何获取工作项:

azdo-cursor work-items

✨ 主要特性

  • 功能丰富:支持查询工作项、代码仓库、拉取请求以及测试管理等多种操作。
  • 跨平台支持:可在 Windows、macOS 和 Linux 操作系统上运行。
  • 高级功能:提供代码仓库管理、拉取请求处理、工作项跟踪等高级功能。
  • 自动化支持:支持通过组合命令创建自动化脚本,完成复杂任务。
  • 详细日志:支持详细的日志输出,便于调试和监控操作。

📦 安装指南

系统要求

  • 操作系统:支持 Windows、macOS、Linux。
  • Node.js 版本:v12 或更高版本。
  • Npm 版本:6.0 或更高版本。

安装步骤

  1. 使用 Node 包管理器 (npm) 安装工具:
    npm install -g azdo-cursor
    
  2. 验证安装是否成功:
    azdo-cursor --version
    

环境变量配置

为了连接到 Azure DevOps,需要设置以下环境变量:

  • AZURE_DEVOPS_ORG_URL:指定组织 URL(例如:https://dev.azure.com/your-org)。
  • AZURE_DEVOPS_PROJECT:可选,默认项目名称。
  • AZURE_DEVOPS_TOKEN:必需,个人访问令牌 (PAT)。

💻 使用示例

基础用法

# 连接到 Azure DevOps
export AZURE_DEVOPS_ORG_URL="https://dev.azure.com/contoso"
export AZURE_DEVOPS_PROJECT="DefaultCollection"
export AZURE_DEVOPS_TOKEN="your-pat-token"

# 获取项目中的所有工作项
azdo-cursor work-items --projectId=project001

高级用法

# 获取指定仓库的所有拉取请求,并将结果输出为 JSON 文件
azdo-cursor pr repo001 \
    --branch "main" \
    --status "all" \
    --output json > pull-requests.json

📚 详细文档

工具命令详解

工作项相关命令

  • work-items:获取项目中的所有工作项。
  • work-item <id>:根据 ID 获取特定工作项。

拉取请求相关命令

  • pr [REPO_ID]:获取指定仓库的所有拉取请求。
  • pr getById <REPO_ID> <PR_ID>:通过仓库 ID 和 PR ID 获取具体拉取请求信息。
  • create-pr [REPO_ID] --title "标题" --description "描述":创建新的拉取请求。

测试管理命令

  • test-plans:列出所有测试计划。
  • test-suite <SUITE_ID>:执行指定测试套件并生成结果报告。

详细参数

工作项命令参数

| 参数名 | 类型 | 描述 | |-----------------|--------|----------------------------| | projectId | string | 指定项目 ID | | filterByState | string | 根据状态筛选工作项 | | outputFormat | string | 设置输出格式(json/text) |

拉取请求命令参数

| 参数名 | 类型 | 描述 | |-----------------|--------|----------------------------| | repoId | string | 指定仓库 ID | | branchName | string | 指定分支名称 | | status | string | 指定拉取请求状态(all/open)|

测试管理命令参数

| 参数名 | 类型 | 描述 | |-----------------|--------|----------------------------| | planId | string | 指定测试计划 ID | | runMode | string | 设置运行模式(parallel/serial)| | resultFormat | string | 设置结果格式(json/xml) |

🔧 技术细节

使用场景

项目管理

  • 查询任务:通过 work-items 命令快速查找所有待办事项。
  • 更新状态:对特定工作项进行状态更新,如 azdo-cursor work-item 123 --state Resolved

开发流程

  • 创建 PR:在提交代码前,使用命令创建拉取请求以供审查。
  • 获取反馈:查看所有相关评论并根据反馈修改代码。

测试执行

  • 计划管理:使用 test-plans 列出所有可用测试计划,并通过指定参数选择需要执行的计划。
  • 结果分析:执行完成后,查看生成的结果报告以识别潜在问题。

错误处理

常见错误

  1. 认证失败
    • 检查环境变量是否正确设置,特别是 AZURE_DEVOPS_TOKEN 是否有效。
  2. 项目不存在
    • 确保指定的 projectId 是有效的,并且用户拥有相应权限。

高级功能

自动化脚本

通过组合多个命令,可以创建自动化脚本以完成复杂任务。例如:

# 示例:获取所有未关闭的工作项并输出到文件
azdo-cursor work-items --projectId=project001 --filterByState=open --output=json > open-issues.json

# 示例:批量更新工作项状态
for i in $(cat open-issues.json | jq -r '.[].id'); do azdo-cursor work-item $i --state Resolved; done

日志记录

该工具支持详细的日志输出,便于调试和监控操作:

azdo-cursor pr repo001 --verbose > pull-request.log 2>&1

测试管理工具

功能概述

测试管理功能允许用户通过命令行执行测试计划,并能自动生成结果报告。

命令示例

# 获取所有测试计划
azdo-cursor test-plans

# 执行特定测试套件
azdo-cursor test-suite 123 --runMode parallel --resultFormat json > test-results.json

参数说明

  • --planId:指定要执行的测试计划 ID。
  • --runMode:设置运行模式,支持并行或串行执行。
  • --resultFormat:控制结果输出格式,支持 JSON 和 XML。

📄 许可证

文档中未提及相关许可证信息。

最佳实践

💡 使用建议

  1. 配置管理:始终保持环境变量是最新的,并确保有适当的权限。
  2. 日志监控:在进行大规模操作时,启用详细日志记录以便排查问题。
  3. 定期更新:定期检查工具更新,以获取新功能和性能改进。

问题与反馈

⚠️ 重要提示

如果在使用过程中遇到任何问题,请通过以下方式提供反馈:

附录

错误代码

| 错误代码 | 描述 | |----------|----------------| | 401 | 认证失败 | | 403 | 权限不足 | | 500 | 内部服务器错误 |

输出格式

  • JSON:标准的 JSON 结构,便于后续处理。
  • Text:可读性高的文本输出。

支持的分支

  • Main:稳定版本
  • Dev:最新功能开发版本

更新日志

版本 1.0.0 (2023-10-15)

  • 新增测试管理功能
  • 改进工作项命令的性能
  • 修复认证相关的 bug

版本 0.9.0 (2023-08-14)

  • 初始发布,包含基本的项目管理和拉取请求功能
help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client