Skip to content
Ona Docs

GetPrSummary

POST/gitpod.v1.UsageService/GetPrSummary

Gets aggregated PR speed summary for the organization or a specific project.

Use this method to:

  • Measure pull request lead time and review latency
  • Calculate deployment frequency from merged pull requests
  • Scope PR speed insights to a project, user, or team

Example

dateRange:
  startTime: "2024-01-01T00:00:00Z"
  endTime: "2024-02-01T00:00:00Z"
projectId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
Body ParametersJSONExpand Collapse
dateRange: DateRange { endTime, startTime }

Date range to query within.

endTime: string

End time of the date range (exclusive).

formatdate-time
startTime: string

Start time of the date range (inclusive).

formatdate-time
projectId: optional string

Optional project ID to scope results.

teamId: optional string

Optional team ID to scope results to a specific team. Mutually exclusive with user_id.

userId: optional string

Optional user ID to scope results to a specific user. Mutually exclusive with team_id.

ReturnsExpand Collapse
sparkline: optional array of TimeSeriesPoint { time, value }

Sparkline data for card rendering.

time: optional string

Timestamp for this data point.

formatdate-time
value: optional number

The numerical value for this data point.

formatint32
summary: optional PrSummary { deploymentFrequency, deploymentFrequencyTrend, leadTimeSeconds, 5 more }

Summary totals and trends for the requested date range.

deploymentFrequency: optional number

PRs merged to the default branch per week.

formatdouble
deploymentFrequencyTrend: optional number

Fractional change in deployment_frequency vs previous period. Computed as (current - previous) / previous.

formatdouble
leadTimeSeconds: optional number

Median lead time for changes in seconds (first commit → merge).

formatdouble
leadTimeTrend: optional number

Fractional change in lead_time_seconds vs previous period. Computed as (current - previous) / previous.

formatdouble
prsMergedCount: optional string

Total PRs merged in the date range.

prsMergedTrend: optional number

Fractional change in prs_merged_count vs previous period. Computed as (current - previous) / previous.

formatdouble
timeToFirstApprovalSeconds: optional number

Median time to first approval in seconds. Zero when no PRs in the range had approvals.

formatdouble
timeToFirstApprovalTrend: optional number

Fractional change in time_to_first_approval_seconds vs previous period. Computed as (current - previous) / previous.

formatdouble

GetPrSummary

curl https://app.gitpod.io/api/gitpod.v1.UsageService/GetPrSummary \
    -H 'Content-Type: application/json' \
    -H "Authorization: Bearer $GITPOD_API_KEY" \
    -d '{
          "dateRange": {
            "endTime": "2024-02-01T00:00:00Z",
            "startTime": "2024-01-01T00:00:00Z"
          }
        }'
{
  "sparkline": [
    {
      "time": "2019-12-27T18:11:19.117Z",
      "value": 0
    }
  ],
  "summary": {
    "deploymentFrequency": 0,
    "deploymentFrequencyTrend": 0,
    "leadTimeSeconds": 0,
    "leadTimeTrend": 0,
    "prsMergedCount": "prsMergedCount",
    "prsMergedTrend": 0,
    "timeToFirstApprovalSeconds": 0,
    "timeToFirstApprovalTrend": 0
  }
}
Returns Examples
{
  "sparkline": [
    {
      "time": "2019-12-27T18:11:19.117Z",
      "value": 0
    }
  ],
  "summary": {
    "deploymentFrequency": 0,
    "deploymentFrequencyTrend": 0,
    "leadTimeSeconds": 0,
    "leadTimeTrend": 0,
    "prsMergedCount": "prsMergedCount",
    "prsMergedTrend": 0,
    "timeToFirstApprovalSeconds": 0,
    "timeToFirstApprovalTrend": 0
  }
}