airbytehq / airbytehq/airbyte

[source-github] Add Deployment Statuses stream for DORA/Lead Time metrics

未關閉
#73,348 2 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
autoteam community connectors/source/github team/use type/enhancement
主要語言
Python
星號
22.1k
分支
5.4k
平均合併
5 小時
30 天內合併 PR
671

描述

> **Note:** This issue re-opens #72332, which was falsely closed.

## Feature Description

Add a **Deployment Statuses** stream to the GitHub source connector, fetching from:

```
GET /repos/{owner}/{repo}/deployments/{deployment_id}/statuses
```

## Why the Existing Deployments Stream Is Insufficient

The current Deployments stream provides `created_at` and `updated_at`, but these are **not reliable for measuring deployment completion**:

| Field | What it represents | Problem |
| --- | --- | --- |
| created_at | When deployment was *initiated* | Not completion time |
| updated_at | When deployment *record* was modified | Doesn't reflect status changes; no state info |

Deployment statuses are **separate records** from deployments. When a CI/CD system reports success/failure, it creates a status record; the deployment's `updated_at` may not change at all.

## What Deployment Statuses Provides

```json
{
"state": "success",
"created_at": "2026-01-26T10:03:00Z"
}
```

## Use Case: Engineering Metrics

| Metric | Requires |
| --- | --- |
| Lead Time for Changes | success status created_at (not deployment updated_at) |
| Deployment Duration | success status created_at − deployment created_at |
| Deployment Frequency | Count where state = "success" |
| Change Failure Rate | failure/error count ÷ total |

## Implementation Notes

- Child stream of existing Deployments (use `statuses_url` from each deployment)
- Incremental based on `created_at`
- API docs: https://docs.github.com/en/rest/deployments/statuses

---

**Original issue:** https://github.com/airbytehq/airbyte/issues/72332
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/11034

貢獻指南

開啟貢獻指南

評估

這個 Issue 還沒有評估資料。

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。