Azure DevOps

☁️ Azure DevOps 一站式 DevOps 自动化

微软官方 Azure DevOps REST API 封装,支持项目管理、代码仓库、PR 操作与流水线状态查询,需 PAT 认证

收藏
12.7k
安装
2.6k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

本 Skill 为 Azure DevOps 提供命令行级 REST API 封装,覆盖项目管理、Git 仓库操作、Pull Request 生命周期及 CI/CD 状态监控四大场景。

配置要求:需设置 AZURE_DEVOPS_PAT(个人访问令牌)和 AZURE_DEVOPS_ORG(组织名),存储于 ~/.openclaw/openclaw.json。认证采用 HTTP Basic Auth,用户名留空、密码为 PAT。

关键功能

  • 项目与仓库浏览:列示组织内项目、项目内仓库及分支结构
  • PR 全生命周期:创建 PR(需先获取仓库 ID)、列示现有 PR 状态
  • CI/CD 集成:查询构建状态(Build Status)
  • 工作项管理:支持工作项(Work Items)的查询与更新

技术实现:基于 curl + jq 的轻量级方案,调用 Azure DevOps REST API v7.1,无额外 SDK 依赖。

显著优点

  • 官方 API 直通:直接调用微软官方 REST 接口,功能覆盖完整,无中间层阉割
  • 零依赖部署:仅需系统标配的 curljq,无需安装 Azure CLI 或专用 SDK
  • 透明可控:纯 shell 命令实现,便于审计、调试和自定义扩展
  • 组织级适配:支持多组织切换,配置持久化存储

潜在缺点与局限性

  • 认证安全风险:PAT 需长期存储于本地配置文件,若文件权限不当存在泄露风险;且 PAT 具备广泛权限时需严格最小权限原则
  • 无交互式 OAuth:仅支持 PAT 认证,无法实现更安全的设备码流或托管身份
  • 错误处理薄弱:依赖 curljq 的退出码,复杂 API 错误(如 403 权限不足、429 限流)需额外封装处理
  • 仓库 ID 依赖:创建 PR 前需先查询获取 repo-id,非直观名称操作
  • 无并发控制:大规模查询(如千级 PR 列表)可能触发 API 限流

适合人群

  • 需在终端/脚本中快速查询 Azure DevOps 状态的开发者与 DevOps 工程师
  • 构建内部运维自动化、CI 状态监控脚本的 SRE 团队
  • 偏好轻量工具链、避免重量级 SDK 的极简主义者
  • 熟悉 curl/jq 工具链的 CLI 用户

常规风险

| 风险类型 | 说明 | 缓解建议 |
|---------|------|---------|
| **凭证泄露** | PAT 存储于本地 JSON,可能被其他进程读取 | 设置文件权限 `600`,考虑使用密钥管理工具 |
| **权限过度** | 高权限 PAT 遭盗用后影响面广 | 创建仅含 `Code (Read & Write)`、`Build (Read)` 范围的受限 PAT |
| **日志残留** | 调试时可能不慎 `echo` PAT 或完整 URL | 代码中屏蔽 `-v` 输出,配置日志脱敏规则 |
| **API 限流** | 高频调用触发 Azure DevOps 服务保护 | 实施指数退避重试,批量查询使用 `$top` 分页参数 |
| **配置漂移** | 多环境(ORG)切换时配置混淆 | 显式校验当前 `AZURE_DEVOPS_ORG` 值,避免误操作生产环境 |

Azure DevOps 内容

手动下载zip · 2.7 kB
skill-card.mdtext/markdown
请选择文件