mcpField
A
azure-devops

azure-devops

github.com/rysweet云与 DevOps76153 次安装22 周前更新
代码仓库

关于 azure-devops

面向需要自动化处理工作项、代码库、流水线和制品的团队的 Azure DevOps 技能。它提供独立的 Python 命令行工具,并包含身份验证检查以及查询、关联和管理项目资源的操作指南。

主要功能

  1. 01创建和更新工作项
  2. 02执行 WIQL 查询并列出工作项
  3. 03管理代码库与拉取请求
  4. 04列出并运行流水线
  5. 05管理包与制品
  6. 06检查身份验证与访问权限

适用场景

  1. 01创建工作项并关联父项
  2. 02查找并更新分配的工作项
  3. 03从功能分支创建拉取请求
  4. 04监控构建并管理部署

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/rysweet/amplihack --skill azure-devops

安装后在 Claude Code 中输入/azure-devops确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

HOW_TO_CREATE_YOUR_OWN.md
artifacts.md
authentication.md
html-formatting.md
pipelines.md
queries.md
repos.md
work-items.md

详细介绍

Azure DevOps 技能

全面集成 Azure DevOps,涵盖看板、存储库、流水线和制品。

自动激活条件: 用户提及 Azure DevOps、ADO、工作项、看板、存储库、流水线、制品或 Azure DevOps URL 时。

用途

此技能通过专用的 Python 命令行工具,提供全面的 Azure DevOps 自动化指南,涵盖:

工作项(看板)
  • 创建带有 HTML 格式描述的工作项
  • 更新工作项(状态、分配、字段)
  • 确认后删除工作项
  • 建立父子关系链接
  • 执行 WIQL 查询
  • 发现工作项类型和字段
存储库
  • 列出存储库及其详细信息
  • 创建包含审阅者和工作项的拉取请求
  • 验证分支
  • 获取克隆 URL
流水线
  • 列出并运行流水线
  • 监控构建并查看日志
  • 管理部署
制品
  • 管理包源
  • 发布和下载包
  • 管理版本

快速开始

1. 首先进行身份验证

始终先检查身份验证:

python .claude/scenarios/az-devops-tools/auth_check.py --auto-fix

此操作会验证 Azure CLI 是否已安装、你是否已登录、组织和项目是否已配置,以及你是否拥有访问权限。

参见:[​@authentication.md]

2. 常见操作
创建工作项
python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "User Story" \
  --title "Implement feature" \
  --description @story.md
查询工作项
python .claude/scenarios/az-devops-tools/list_work_items.py --query mine
创建拉取请求
python .claude/scenarios/az-devops-tools/create_pr.py \
  --source feature/branch \
  --target main \
  --title "Add feature"

渐进式加载参考资料

有关特定操作的详细指南,请参阅:

  • [@authentication.md] - 身份验证方法(PAT、OAuth、环境变量)
  • [@work-items.md] - 工作项 CRUD 操作、字段更新、状态转换
  • [@queries.md] - WIQL 查询模式、筛选和排序
  • [@html-formatting.md] - 工作项描述和评论中的 HTML 格式
  • [@repos.md] - 存储库操作、拉取请求工作流
  • [@pipelines.md] - 流水线触发、构建监控、部署
  • [@artifacts.md] - 包管理、制品发布
  • [@HOW_TO_CREATE_YOUR_OWN.md] - 创建类似集成工具的模板

可用工具

工具用途使用时机
auth_check.py验证身份验证执行任何操作之前
create_work_item.py创建工作项添加用户故事、任务、Bug 等
update_work_item.py更新工作项更改状态、受分配人或字段
delete_work_item.py删除工作项移除工作项(需确认)
get_work_item.py获取工作项详细信息查看完整的工作项信息
list_work_items.py查询工作项查找、筛选和列出工作项
link_parent.py链接父子项创建 Epic → Feature → Story 层级
query_wiql.py执行 WIQL 查询使用 WIQL 进行复杂筛选
format_html.py转换为 HTML设置富文本描述格式
list_types.py发现类型和字段探索可用选项
list_repos.py列出存储库查看项目中的所有存储库
create_pr.py创建拉取请求提交代码以供审阅

常见模式

模式 1:创建带父项的工作项
# Create parent work item
python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "Epic" \
  --title "Q1 Planning Initiative" \
  --description @epic_desc.md

# Output: Created work item #12345

# Create child and link to parent
python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "Feature" \
  --title "Authentication System" \
  --description @feature_desc.md \
  --parent-id 12345

# Output: Created work item #12346 and linked to parent #12345
模式 2:查询并更新工作项
# Find your active work items
python .claude/scenarios/az-devops-tools/list_work_items.py \
  --query mine \
  --format ids-only

# Update work item state
python .claude/scenarios/az-devops-tools/update_work_item.py \
  --id 12345 \
  --state "Active" \
  --comment "Starting work on this"
模式 3:从功能分支创建拉取请求
# List repositories
python .claude/scenarios/az-devops-tools/list_repos.py

# Create pull request
python .claude/scenarios/az-devops-tools/create_pr.py \
  --source feature/auth \
  --target main \
  --title "Add authentication" \
  --description @pr_desc.md \
  --reviewers "[email protected],[email protected]" \
  --work-items "12345,12346"
模式 4:发现可用类型
# List all work item types in your project
python .claude/scenarios/az-devops-tools/list_types.py

# Show fields for specific type
python .claude/scenarios/az-devops-tools/list_types.py \
  --type "User Story" \
  --fields

关键经验

必须使用 HTML 格式

Azure DevOps 工作项描述使用 HTML,而非 Markdown 或纯文本。

这些工具会自动处理:

  • create_work_item.py 默认会将 Markdown 转换为 HTML
  • 使用 --no-html 可禁用转换
  • 也可以直接使用 format_html.py 进行自定义格式处理

参见:[@html-formatting.md]

两步式父级关联

受 Azure 限制,无法通过 CLI 在创建工作项时指定父级。

这些工具提供了两种方式:

选项 A: 使用 --parent-id 标志(推荐):

python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "Task" \
  --title "My Task" \
  --parent-id 12345

选项 B: 单独关联:

# Step 1: Create
TASK_ID=$(python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "Task" \
  --title "My Task" \
  --json | jq -r '.id')

# Step 2: Link
python .claude/scenarios/az-devops-tools/link_parent.py \
  --child $TASK_ID \
  --parent 12345
区域路径和工作项类型
  • 区域路径格式:ProjectName\TeamName\SubArea
  • 工作项类型因项目而异(标准类型 + 自定义类型)
  • 使用 list_types.py 查找项目中可用的类型

错误恢复

错误使用的工具示例
身份验证失败auth_check.py --auto-fix自动登录并配置
无效的工作项类型list_types.py查看可用类型
字段验证错误list_types.py --type "Type" --fields查看有效字段
父级关联失败检查 ID 是否存在,并验证层级规则Epic → Feature → Story → Task
分支不存在使用 git branch -a 验证先推送分支

工具实现

所有工具都位于 ~/.amplihack/.claude/scenarios/az-devops-tools/:

  • 独立的 Python 程序(可独立运行)
  • 可导入的模块(可在其他脚本中使用)
  • 全面的错误处理
  • 测试位于 tests/ 目录中

参见:工具 README

理念

这些工具遵循 amplihack 原则:

  • 极致简洁:每个工具都专注做好一件事
  • 拒绝废话:每个函数都能正常工作,没有存根或 TODO
  • 可复用:可导入、可组合
  • 快速失败:提供清晰的错误信息和可执行的指导
  • 自包含:仅依赖标准库和 azure CLI 封装器

快速参考

# Setup (first time)
python .claude/scenarios/az-devops-tools/auth_check.py --auto-fix

# Create work item
python .claude/scenarios/az-devops-tools/create_work_item.py \
  --type "User Story" \
  --title "Title" \
  --description @desc.md

# Update work item
python .claude/scenarios/az-devops-tools/update_work_item.py \
  --id 12345 \
  --state "Active"

# Query work items
python .claude/scenarios/az-devops-tools/list_work_items.py --query mine

# Create pull request
python .claude/scenarios/az-devops-tools/create_pr.py \
  --source feature/branch \
  --target main \
  --title "Add feature"

# Discover types
python .claude/scenarios/az-devops-tools/list_types.py

评论

支持 Markdown