用途
该技能为 Azure DevOps(ADO)自动化提供完整指导,通过专为 ADO 打造的 Python CLI 工具来操作 Boards、Repositories、Pipelines 和 Artifacts。当用户提到 Azure DevOps、ADO、工作项、看板、仓库、管道、产物或 Azure DevOps URL 时,它会自动激活。
覆盖的主要能力
工作项(看板):
- 创建工作项,支持 HTML 格式描述
- 更新工作项(状态、指派、字段)
- 删除工作项,需确认
- 建立父子关系链接
- 执行 WIQL 查询
- 发现工作项类型与字段
仓库:
- 列出仓库及详情
- 创建拉取请求,支持指定评审人和关联工作项
- 校验分支
- 获取克隆 URL
管道:
- 列出并执行管道
- 监控构建并查看日志
- 管理部署
产物:
- 管理包源
- 发布与下载包
- 版本管理
使用方式
始终先检查身份验证:
python .claude/scenarios/az-devops-tools/auth_check.py --auto-fix
该命令会验证 Azure CLI 是否已安装、是否已登录、组织/项目是否已配置以及是否有访问权限。
常见操作示例:
创建工作项: 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:创建工作项;添加 User Story、Task、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:创建带父项的工作项
先创建父工作项: python .claude/scenarios/az-devops-tools/create_work_item.py --type "Epic" --title "Q1 Planning Initiative" --description @epic_desc.md 输出:Created work item #12345
再创建子项并链接到父项: python .claude/scenarios/az-devops-tools/create_work_item.py --type "Feature" --title "Authentication System" --description @feature_desc.md --parent-id 12345 输出:Created work item #12346 and linked to parent #12345
模式 2:查询并更新工作项
查找当前活跃工作项: python .claude/scenarios/az-devops-tools/list_work_items.py --query mine --format ids-only
更新工作项状态: python .claude/scenarios/az-devops-tools/update_work_item.py --id 12345 --state "Active" --comment "Starting work on this"
模式 3:从功能分支到拉取请求
列出仓库: python .claude/scenarios/az-devops-tools/list_repos.py
创建拉取请求: python .claude/scenarios/az-devops-tools/create_pr.py --source feature/auth --target main --title "Add authentication" --description @pr_desc.md --reviewers "user1@domain.com,user2@domain.com" --work-items "12345,12346"
模式 4:发现可用类型
列出项目中所有工作项类型: python .claude/scenarios/az-devops-tools/list_types.py
显示特定类型的字段: 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 进行自定义格式化。
父项链接需两步:无法在通过 CLI 创建工作项时直接指定父项(Azure 限制)。工具提供两种方法。方法 A(推荐):使用 --parent-id 标志。方法 B:单独链接,先创建并读取 ID,再通过 link_parent.py 链接。
区域路径与工作项类型:区域路径格式为 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/ 目录。
设计理念
这些工具遵循 amplihack 原则:Ruthless Simplicity(每个工具只做好一件事)、Zero-BS(每个函数都可用,没有桩或 TODO)、Reusable(可导入和组合)、Fail-Fast(清晰的错误与可操作的指导)、Self-Contained(仅使用标准库和 azure CLI 包装)。
快速参考
首次设置
python .claude/scenarios/az-devops-tools/auth_check.py --auto-fix
创建工作项
python .claude/scenarios/az-devops-tools/create_work_item.py --type "User Story" --title "Title" --description @desc.md
更新工作项
python .claude/scenarios/az-devops-tools/update_work_item.py --id 12345 --state "Active"
查询工作项
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"
发现类型
python .claude/scenarios/az-devops-tools/list_types.py
适用场景与限制
适用场景:需要在 Azure DevOps 上批量或自动化管理工作项、看板、迭代、仓库、拉取请求、管道、构建和产物时。
限制:需要已安装 Azure CLI 并完成登录与组织/项目配置;工作项描述必须使用 HTML,工具默认自动转换 markdown;受 Azure 限制,创建工作项时无法通过 CLI 直接指定父项,需借助 --parent-id 或 link_parent.py 两步完成。关于具体收费、价格、平台支持范围等细节,资料暂未提供。