这个Skill在干嘛
还在Azure DevOps网页上点来点去创建PR、触发流水线、改工作项?azure-devops-cli这个Skill直接把Azure DevOps的全套操作塞进命令行,项目管理、仓库操作、CI/CD流水线、工作项、制品发布,一个az命令全搞定。
它基于Azure CLI 2.81.0版本,覆盖az devops、az pipelines、az boards、az repos、az artifacts五大命令组,基本上你在网页上能做的事,命令行里都有对应操作。
核心功能
- 项目与仓库管理:创建/删除项目、导入GitHub仓库、管理分支引用和仓库策略
- Pull Request全流程:创建PR、指定Reviewer、投票审批、自动完成,支持关联工作项和标签
- 流水线操作:创建、运行、监控Pipeline,管理变量组、Agent池、制品下载上传
- 工作项管理:WIQL查询、批量更新状态、管理迭代和区域路径、关联父子关系
- 安全与权限:管理安全组成员、配置仓库权限、设置分支保护策略
- 自动化脚本模式:内置幂等操作模式、重试逻辑、错误处理,适合在CI/CD环境中直接调用
适用平台
这个Skill完美适配主流AI编程助手,包括Cursor、GitHub Copilot、Claude Code、OpenAI Codex、Gemini Code Assist、文心快码、腾讯云CodeBuddy、华为云CodeArts等。
加载这个Skill之后,AI能直接理解你的Azure DevOps操作意图,不用你再解释命令结构,直接说”帮我从feature分支创建一个PR到main,指定张三审核”,AI就能给出完整的az repos pr create命令,省去翻文档的时间。
实操代码示例
从当前分支一键创建PR并关联工作项:
CURRENT_BRANCH=$(git branch --show-current)
az repos pr create
--source-branch $CURRENT_BRANCH
--target-branch main
--title 'Feature: $(git log -1 --pretty=%B)'
--work-items 63 64
--reviewers lead@example.com
--auto-complete true
--open
流水线运行并等待结果,失败自动创建Bug工作项:
RUN_ID=$(az pipelines run --name 'CI-Pipeline' --query 'id' -o tsv)
while true; do
STATUS=$(az pipelines runs show --run-id $RUN_ID --query 'status' -o tsv)
[[ '$STATUS' != 'inProgress' ]] && break
sleep 10
done
RESULT=$(az pipelines runs show --run-id $RUN_ID --query 'result' -o tsv)
if [[ '$RESULT' != 'succeeded' ]]; then
az boards work-item create --title 'Build failed' --type Bug
fi
批量给所有仓库的main分支加上”最少2人审批”策略:
REPOS=$(az repos list --project MyProject --query '[].id' -o tsv)
for repo_id in $REPOS; do
az repos policy approver-count create
--blocking true --enabled true
--branch main --repository-id $repo_id
--minimum-approver-count 2
done
优势分析
跟直接调Azure DevOps REST API比,这个Skill的命令行封装省掉了大量认证和参数拼接的工作。跟手动在网页操作比,最大的优势是可脚本化——所有操作都能写进Shell脚本,纳入版本控制,在任何CI/CD环境里复现。
内置的JMESPath查询支持让输出过滤变得很灵活,--output tsv配合Shell变量赋值,链式操作写起来非常顺手。幂等操作模式(先查存不存在再创建)也是生产环境脚本的标配,这个Skill里有现成的模板可以直接抄。
应用场景
- DevOps工程师:把环境初始化脚本化,新项目上线时一键创建仓库、配置分支策略、建好变量组
- 开发团队:在本地git hook里自动触发PR创建,提交代码后不用再去网页操作
- 平台团队:批量管理几十个仓库的权限和策略,手动点网页根本不现实
- 流水线监控:定时脚本检查Pipeline状态,失败时自动创建工作项并发送告警
- 多环境部署:按顺序触发dev、staging、prod的部署流水线,每步等待结果再继续
最佳实践
PAT(个人访问令牌)建议通过环境变量传入,避免出现在Shell历史记录里:
export AZURE_DEVOPS_EXT_PAT=$MY_PAT
az devops login --organization $ORG_URL
设置默认org和project之后,后续命令可以省掉重复参数,脚本更简洁:
az devops configure --defaults organization=https://dev.azure.com/myorg project=MyProject
生产脚本里建议统一用--output tsv获取ID,用--only-show-errors屏蔽警告噪音,保持日志干净。变量组的创建要做幂等检查,避免重复运行脚本时报错。分支策略变更建议先在测试仓库验证,再批量推到所有仓库。
如果你的团队在用Azure DevOps做日常研发管理,这类自动化Skill积累多了会很有价值。Skill优仓上还有不少类似的DevOps和CI/CD相关Skill,可以按需组合使用,把重复的平台操作都脚本化掉。









暂无评论内容