# @c2l2c/backstage-plugin-dora-metrics 中文文档

规范地址：https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/

版本：0\.5\.0
npm 元数据更新时间：2026-08-21T10:04:44.100Z
中文译文更新时间：2026-11-08T22:35:14.527Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40c2l2c/backstage-plugin-dora-metrics
原文对照：https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/?lang=original
项目主页：https://github.com/C2L2C/backstage-plugin-dora-metrics#readme
源码仓库：https://github.com/C2L2C/backstage-plugin-dora-metrics

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：291 kB，32 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：包内自带
- Node.js 要求：\>=20
- 运行依赖：9 个
- peer 依赖：react ^17\.0\.0 \|\| ^18\.0\.0
- 首次发布：2026-03-17T22:36:23.843Z
- 最新版本发布：2026-08-21T10:04:43.752Z
- 近 30 天下载量：4649（2026-10-09 至 2026-11-07，npm 官方下载统计）
- 已发布版本数：9（近 12 个月 9 个）

## 中文简介

一个后台前端插件,通过GitHub API显示目录实体的 DORA 度量衡(部署频率,铅时间,变化失败率,MTTR).

## 安装

```sh
npm install @c2l2c/backstage-plugin-dora-metrics
```

也可以使用：`pnpm add @c2l2c/backstage-plugin-dora-metrics`、`yarn add @c2l2c/backstage-plugin-dora-metrics`、`bun add @c2l2c/backstage-plugin-dora-metrics`

## README

# @c2l2c/后台-插图-多拉度量

[![CI](https://github.com/C2L2C/backstage-plugin-dora-metrics/actions/workflows/ci.yml/badge.svg)](https://github.com/C2L2C/backstage-plugin-dora-metrics/actions/workflows/ci.yml) [![Publish](https://github.com/C2L2C/backstage-plugin-dora-metrics/actions/workflows/publish.yml/badge.svg)](https://github.com/C2L2C/backstage-plugin-dora-metrics/actions/workflows/publish.yml) [![npm](https://img.shields.io/npm/v/@c2l2c/backstage-plugin-dora-metrics)](https://www.npmjs.com/package/@c2l2c/backstage-plugin-dora-metrics)

显示后台前端插件 **每个目录实体的DORA度量衡** ——范围为您正在观看的特定服务,而不是整个org.

对于每个带有 GitHub repo 注释的目录服务, 此插件会添加一个 **DORA 计量标签** 通过 OAuth 直接从 GitHub PR 计算出所有四个关键度量, 不需要额外的后端或数据管道 :

-   **部署频率** ——公关与目标分支的合并频率
-   **更改的引导时间** ——从PR开放到合并的平均时间
-   **更改失败率** ——热补剂部署百分比(仅生产)
-   **MTTR 导弹** 平均恢复时间,以平均热补真核反应持续时间(仅生产)计量
-   **生产热器** - 在特定期间部署的热补剂数量(仅生产)

评级分为: **精英/高/中/低** 每个DORA研究基准.

### 这与Org级 DORA 计分卡有何不同

值级 [DORA 插件](https://github.com/zc149/backstage-plugin-dora-scorecard) gitHub ORG中所有存储器的汇总度量衡。 此插件将参数范围改为 **一个单一目录实体** ——当您想要跟踪服务层面的DORA健康,比较环境(如生产与中转),或钻入特定PR驱动您的前置时间或故障率时有用. 它也不需要后端: 所有的数据都使用用户现有的 GitHub OAuth 会话获取客户端 .

* * *

## 截图/录像

### 1\. DORA计量仪表板

![Screenshot](https://npmcn.com/assets/dashboard.png)

### 2\. 部署不便观点

![Screenshot](https://npmcn.com/assets/DF.png)

### 3\. LTFC 扩展视图

![Screenshot](https://npmcn.com/assets/LTFC.png)

### 4\. CFR扩展观点

![Screenshot](https://npmcn.com/assets/CFR.png)

### 5\. MTTR扩展视图

![Screenshot](https://npmcn.com/assets/MTTR.png)

## 所需资源

-   后台 v1.35+(新前端系统)
-   在您的后台实例中配置了 GitHub OAuth( 插件使用) `githubAuthApi` 以呼叫 GitHub REST API )
-   附加注释的目录实体 `github.com/project-slug: org/repo`

* * *

## 安装

```bash
# In your Backstage app workspace
yarn workspace app add @c2l2c/backstage-plugin-dora-metrics
```

### 注册插件

单位 `packages/app/src/App.tsx`数字 :

```ts
import doraMetricsPlugin from '@c2l2c/backstage-plugin-dora-metrics/alpha';

// Add to your app's plugins array
const app = createApp({
  plugins: [doraMetricsPlugin],
  // ...
});
```

* * *

## 配置

添加到您的 `app-config.yaml`数字 :

```yaml
app:
  doraMetrics:
    # Lookback window in days (default: 30)
    collection:
      initialDays: 30

    # Optional: base URL of the GitHub instance (default: https://github.com).
    # Set this for GitHub Enterprise. The REST API base URL is derived automatically:
    #   github.com        → https://api.github.com
    #   *.ghe.com (Cloud) → https://api.<host>   (e.g. https://api.va.ghe.com)
    #   other (GHE Server)→ https://<host>/api/v3
    githubUrl: https://github.com

    # Define the environments / branches to track.
    # Exactly ONE environment may set isProduction: true.
    environments:
      - name: Production
        branch: main             # single branch name
        isProduction: true
        label: hotfix            # PR label for production failures (used for CFR/MTTR)
      - name: Staging
        branch: staging
        isProduction: false
      - name: Any main
        # Comma-separated list — PRs merged to any of these branches are included
        branch: "main,master"
        isProduction: false
      - name: Release branches
        # JavaScript regex — resolved against the repo's actual branch list at query time
        branch: "^release/.*"
        isProduction: false

    # Optional: override DORA benchmark targets
    targets:
      deploymentFrequency: 1   # deploys per day (Elite ≥ 1)
      leadTime: 24             # hours (Elite ≤ 24h)
      changeFailureRate: 5     # % (Elite ≤ 5%)
      mttr: 1                  # hours (Elite ≤ 1h)

    # Optional: enable mock data for local development (skips GitHub API calls)
    debug: false
```

### 分支和标签图案

两者 `branch` 财务报告和审定财务报表 `label` 字段接受相同的三种格式:

| 格式 | 示例 | 行为 |
| --- | --- | --- |
| 单名 | `main` 编号 : `hotfix` | 精确匹配 |
| 逗号分隔 | `main,master` 编号 : `hotfix,fix,bug` | 匹配列表中的任何名称 |
| Java 脚本正则ex | `^release/.*` 编号 : `^hotfix` | Regex 测试每个值 |

如果字符串包含其中任何一个字符,则该字符串被视为正则名: `| ^ $ [ ] ( ) { } ? + * \`

对于 `branch`:当多个分支相匹配时,从所有分支中取出公关并被公关号码去掉. Regex模式在查询时间通过GitHub Brances API来解决Repo的活分行列表.

对于 `label`:如果 **任意** 它的 GitHub 标签符合模式.

### 环境制约因素

-   您可以定义任意数量的环境 .
-   **只有一个** 环境可能具有 `isProduction: true`。插件在启动时会丢出一个配置错误,如果该限制被违反.
-   改变故障率、MTTR和Hotfixs只为生产环境计算.

### 通过目录注释的每个repo覆盖

您可以在每次服务的基础上覆盖环境和目标 `catalog-info.yaml` 不更改全局配置 :

```yaml
metadata:
  annotations:
    github.com/project-slug: my-org/my-repo

    # Override the environments list for this repo only (JSON)
    dora-metrics/environments: |
      [
        { "name": "Production", "branch": "main", "isProduction": true, "label": "hotfix" },
        { "name": "Staging",    "branch": "staging", "isProduction": false }
      ]

    # Override DORA targets for this repo only (JSON, partial overrides supported)
    dora-metrics/targets: |
      { "deploymentFrequency": 2, "leadTime": 48 }
```

注释值被解析为JSON. 部分 `targets` 超接被与全局目标合并——只有您指定的密钥被替换.

### 示例配置

正在准备使用示例配置 [`examples/`](https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/examples/) 目录 :

| 文件 | 说明 |
| --- | --- |
| [`app-config.regex-branch.yaml`](https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/examples/app-config.regex-branch.yaml) | 以正丁基锡化合物分型跟踪生产(`^release/.*`)和一个逗号分隔标签模式 |
| [`app-config.multi-branch.yaml`](https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/examples/app-config.multi-branch.yaml) | 跟踪生产情况 `main,master`; 横穿 `develop,dev`; 热补丁标签为正则 |
| [`catalog-info.yaml`](https://npmcn.com/package/%40c2l2c/backstage-plugin-dora-metrics/examples/catalog-info.yaml) | 每层环境和目标覆盖通过 `catalog-info.yaml` 说明 |

* * *

## 如何运作

插件读取 `github.com/project-slug` 来自目录实体的注释并呼叫 GitHub REST API(通过用户的 GitHub OAuth 会话进行认证),以便在配置的时间窗口内获取合并的拉取请求.

它计算:

-   **部署频率**: 每天合并到目标分支的公关
-   **引导时间**: 从 PR 创建到合并的时间
-   **法语**: 标记为热补(仅生产环境)的PR百分比
-   **MTTR 导弹**: 平均热补丁 PR 开放时间(仅限生产环境)
-   **生产热器** - 在特定时间段部署的热补剂数量(仅生产环境)

* * *

## 许可证

阿帕奇 - 2.0

## 常见问题

### @c2l2c/backstage-plugin-dora-metrics 是什么？

一个后台前端插件,通过GitHub API显示目录实体的 DORA 度量衡\(部署频率,铅时间,变化失败率,MTTR\)\.

### 如何安装 @c2l2c/backstage-plugin-dora-metrics？

在项目目录运行 npm install @c2l2c/backstage-plugin-dora-metrics，或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖：react（^17\.0\.0 \|\| ^18\.0\.0）。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖，Yarn 需要手动安装。

### @c2l2c/backstage-plugin-dora-metrics 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### @c2l2c/backstage-plugin-dora-metrics 支持 ESM 还是 CommonJS？

同时提供 ES Module 与 CommonJS 入口，import 和 require\(\) 都可以使用，打包工具会自动选择合适的版本。

### @c2l2c/backstage-plugin-dora-metrics 需要什么版本的 Node\.js？

package\.json 的 engines 字段要求 Node\.js \>=20。版本不符时 npm 默认只给出警告，开启 engine-strict 后会拒绝安装。

### @c2l2c/backstage-plugin-dora-metrics 可以商用吗？

@c2l2c/backstage-plugin-dora-metrics 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @c2l2c/backstage-plugin-dora-metrics 的下载量有多少？

根据 npm 官方下载统计，@c2l2c/backstage-plugin-dora-metrics 在 2026/10/09 – 2026/11/07 这 30 天内被下载 4,649 次，日均约 155 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @c2l2c/backstage-plugin-dora-metrics 还在维护吗？

最新版本 0\.5\.0 发布于 2026/08/21（2 个月前）；至今共发布 9 个版本，其中过去 12 个月发布了 9 个；首次发布于 2026/03/18。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

