SuperAPI AI 工具集

azure-devops

部署与运维

查看项目

更新于 10-15 13:44

技能介绍

用途

该技能为 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 两步完成。关于具体收费、价格、平台支持范围等细节,资料暂未提供。