用途
本技能用于将 Azure DevOps 的日常操作集成到命令行与自动化流程中。它基于 Azure DevOps REST API v7.1,支持 OAuth 设备代码流或 Personal Access Token(PAT)两种认证方式,通过一组 Python 脚本完成对项目、工作项、代码仓库、拉取请求、流水线、Wiki、测试计划、安全警报、变量组、环境与审批、分支策略以及工作项附件的管理。
认证与初始化
首次使用需登录。推荐 OAuth 方式,执行 python scripts/auth.py login --org MyOrganization,按提示访问 URL 并输入设备代码完成授权,令牌会自动刷新。也可使用 PAT:python scripts/auth.py login --org MyOrganization --pat YOUR_PAT。PAT 需在 https://dev.azure.com/{org}/_usersSettings/tokens 创建,并授予相应作用域,包括工作项读写、代码读写、构建读取与执行、Wiki 读写、测试管理读写、高级安全读取、项目与团队读取、身份读取。可用 python scripts/auth.py status 查看认证状态,python scripts/auth.py logout 退出登录。凭据通过系统密钥环安全存储(macOS Keychain、Windows Credential Locker、Linux Secret Service API),服务名为 azure-devops-skill。
主要能力
- 核心(scripts/core.py):列出项目、列出项目中的团队、按关键字搜索用户身份。
- 工作项(scripts/work_items.py):获取、创建、更新、批量获取工作项;添加子项、建立或移除链接;添加与列出评论、查看修订历史;列出工作项类型、我分配的工作项、迭代中的工作项、积压工作、已保存查询与 WIQL 查询;删除工作项与查看回收站。
- 代码仓库与 PR(scripts/repos.py):列出与获取仓库、管理分支、搜索提交;列出、创建、更新、完成或放弃拉取请求;管理评审人、PR 评论线程与逐行评论;获取差异、浏览文件。
- 迭代与容量(scripts/work.py):列出、创建、获取迭代,管理团队迭代与分配,获取与设置团队容量。
- 流水线与构建(scripts/pipelines.py):创建流水线、列出构建、获取构建详情与日志、查看构建变更;列出流水线定义、运行流水线(可传变量)、查看运行记录、更新阶段状态、获取产物、排队与取消构建、查询最新构建状态。
- 搜索(scripts/search.py):搜索代码、Wiki 与工作项。
- Wiki(scripts/wiki.py):列出 Wiki、获取 Wiki 详情、列出页面、获取页面内容、创建或更新页面。
- 测试计划(scripts/test_plans.py):管理测试计划、测试套件、测试用例,查看测试结果。
- 高级安全(scripts/security.py):列出与获取安全警报,可按状态、严重级别、类型过滤。
- 变量组(scripts/variable_groups.py):列出、获取、创建、更新、删除变量组;添加(支持 --secret 标记敏感值)、移除单个变量。
- 环境与审批(scripts/environments.py):列出、创建、获取、删除环境;列出检查项与待审批项;批准或拒绝审批。
- 分支策略(scripts/policies.py):列出、获取、创建、更新、删除策略;列出策略类型;创建最小评审人策略与构建验证策略;查看 PR 的策略评估。
- 工作项附件(scripts/attachments.py):上传文件、附加到工作项、一步完成上传并附加、列出附件、下载附件、按关系索引移除附件。
使用方式
所有操作均通过命令行脚本完成,通用形式为 python scripts/<模块>.py <子命令> --project <项目> [其他参数]。例如创建工作项:python scripts/work_items.py create --project MyProject --type "User Story" --title "New feature";运行流水线:python scripts/pipelines.py run --project MyProject --pipeline-id 5 --branch develop。工作项字段使用引用名,如 System.Title、System.State、System.AssignedTo、System.Description、System.AreaPath、System.IterationPath、Microsoft.VSTS.Common.Priority、Microsoft.VSTS.Scheduling.StoryPoints、System.Tags、Microsoft.VSTS.TCM.ReproSteps、Microsoft.VSTS.Common.AcceptanceCriteria。链接类型使用引用名,如 System.LinkTypes.Related、System.LinkTypes.Hierarchy-Forward、System.LinkTypes.Hierarchy-Reverse、System.LinkTypes.Dependency-Forward、System.LinkTypes.Dependency-Reverse。
适用场景
适合需要在命令行或自动化脚本中批量管理 Azure DevOps 资源的开发者与运维人员,例如批量创建与更新工作项、自动化代码评审流程、触发与监控 CI/CD 流水线、维护 Wiki 文档、管理测试计划、查看安全警报、配置变量组与分支策略、处理环境审批等。
限制
使用前必须完成认证并授予相应 PAT 作用域,否则相关操作会失败。部分操作依赖具体资源标识(如仓库 GUID、迭代 GUID、审批 GUID、评审人 GUID 等),需先查询获得。资料未提供速率限制、错误处理细节、各命令的完整参数说明以及除上述脚本外的其他功能,这些内容暂未提供。