用途:从仓库提供方的 API(而非本地 git 克隆)拉取并汇总两项 DORA 指标——部署频率与变更前置时间。取数与解读被刻意分开:该技能不做解读、排名或人员/项目对比,属于校准阶段工具。
主要能力:按项目、按仓库分别测量,多仓库项目的结果不合并;单次运行可混合使用不同提供方(如前端 GitHub、后端 GitLab),各自用对应凭据。部署标记统一采用生产分支上的语义化版本标签 vX.Y.Z(Release,或在无 Releases API 时用普通 tag)。GitHub 默认 github,GitLab 用项目路径,Bitbucket 用 workspace/repo_slug 且仅支持普通 tag、仅 Bitbucket Cloud。
使用方式:在 config/projects.json 中声明项目与仓库(provider、type、prod_branch、deploy_source、tag_pattern、api_base 等),身份验证按优先级自动读取环境变量或 CLI 凭据:GitHub 用 GITHUB_TOKEN 或 gh auth token;GitLab 用 GITLAB_TOKEN 或 glab auth token;Bitbucket 用 BITBUCKET_TOKEN 或用户名加应用密码。运行示例: pip install requests --break-system-packages python3 scripts/dora_metrics.py --project "Example Project" --out-dir reports 支持 --config、--project、--out-dir、--branch、--deploy-source、--provider、--window-days 等参数,其中带覆盖性质的参数需与 --project 同时使用。默认测量窗口为 14 天。
输出:控制台人类可读摘要(每项目、每仓库的部署频率、前置时间中位数与边缘情况警告);若指定 --out-dir,则按仓库各保存一份 Markdown 报告 YYYY-MM-DD-<repo>-dora-metrics.md。退出码为 1 表示有部分无法测量,报告仍会生成,而非运行失败。
适用场景与限制:适合团队自用的指标校准,不适合用于评价个人。已知限制包括:仓库的首个历史 Release 不计入前置时间计算;GitHub 使用 Search API,速率限制较低,项目增多时可能需要批处理或缓存;Bitbucket Server/Data Center 及超出 api_base 覆盖范围的 GitHub Enterprise 不在支持范围内。收费与价格信息暂未提供。