# Repository / DORA

## Get consolidated DORA dashboard metrics for a repository

> Returns all DORA (DevOps Research and Assessment) dashboard metrics with predefined time ranges. Includes PR metrics, validation metrics, deploy metrics by environment, build metrics, release metrics, install metrics, apex test metrics, and workflow duration metrics. Results are cached based on the time range type.

```json
{"openapi":"3.0.0","info":{"title":"sfp server","version":"51.9.0"},"security":[{"access-token":[]}],"components":{"securitySchemes":{"access-token":{"scheme":"bearer","bearerFormat":"JWT","type":"http","in":"header"}},"schemas":{"DashboardMetricsResponseDto":{"type":"object","properties":{"meta":{"description":"Response metadata","allOf":[{"$ref":"#/components/schemas/DashboardMetricsMetaDto"}]},"metrics":{"description":"Dashboard metrics data","allOf":[{"$ref":"#/components/schemas/DashboardMetricsDataDto"}]}},"required":["meta","metrics"]},"DashboardMetricsMetaDto":{"type":"object","properties":{"range":{"type":"string","enum":["this_week","last_week","this_month","last_month","this_quarter","last_quarter","this_year","last_year","custom"],"description":"Time range type"},"rangeLabel":{"type":"string","description":"Human-readable range label"},"start":{"type":"string","description":"Range start (ISO 8601)"},"end":{"type":"string","description":"Range end (ISO 8601)"},"repositoryIdentifier":{"type":"string","description":"Repository identifier"},"environment":{"type":"string","description":"Environment filter (if applied)"},"generatedAt":{"type":"string","description":"Response generation timestamp"},"cached":{"type":"boolean","description":"Whether result was served from cache"},"queryDurationMs":{"type":"number","description":"Query execution time in milliseconds"}},"required":["range","rangeLabel","start","end","repositoryIdentifier","generatedAt","cached","queryDurationMs"]},"DashboardMetricsDataDto":{"type":"object","properties":{"pr":{"description":"Pull request metrics","allOf":[{"$ref":"#/components/schemas/PRMetricsDto"}]},"validation":{"description":"Validation metrics","allOf":[{"$ref":"#/components/schemas/ValidationMetricsDto"}]},"deploy":{"description":"Deployment metrics","allOf":[{"$ref":"#/components/schemas/DeployMetricsDto"}]},"build":{"description":"Build metrics","allOf":[{"$ref":"#/components/schemas/BuildMetricsDto"}]},"release":{"description":"Release metrics","allOf":[{"$ref":"#/components/schemas/ReleaseMetricsDto"}]},"install":{"description":"Install metrics","allOf":[{"$ref":"#/components/schemas/InstallMetricsDto"}]},"apexTests":{"description":"Apex test metrics","allOf":[{"$ref":"#/components/schemas/ApexTestMetricsDto"}]},"workflow":{"description":"Workflow duration metrics","allOf":[{"$ref":"#/components/schemas/WorkflowMetricsDto"}]}},"required":["pr","validation","deploy","build","release","install","apexTests","workflow"]},"PRMetricsDto":{"type":"object","properties":{"turnaroundTime":{"description":"PR turnaround time metrics","allOf":[{"$ref":"#/components/schemas/DurationMetricDto"}]},"filesImpacted":{"type":"object","description":"Average files impacted per PR"},"opened":{"description":"Number of PRs opened","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"validationRuns":{"description":"Number of validation runs","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]}},"required":["turnaroundTime","filesImpacted","opened","validationRuns"]},"DurationMetricDto":{"type":"object","properties":{"avg":{"type":"number","description":"Average duration in milliseconds"},"p95":{"type":"number","description":"95th percentile duration in milliseconds"},"unit":{"type":"string","description":"Unit of measurement"}},"required":["avg","unit"]},"CountMetricDto":{"type":"object","properties":{"count":{"type":"number","description":"Count value"}},"required":["count"]},"ValidationMetricsDto":{"type":"object","properties":{"duration":{"description":"Validation duration metrics","allOf":[{"$ref":"#/components/schemas/DurationMetricDto"}]},"succeeded":{"description":"Successful validations","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"failed":{"description":"Failed validations","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"scheduled":{"description":"Scheduled validations","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"successRate":{"type":"number","description":"Success rate (0-1)"}},"required":["duration","succeeded","failed","scheduled","successRate"]},"DeployMetricsDto":{"type":"object","properties":{"byEnvironment":{"type":"object","description":"Deploy metrics grouped by environment"},"totals":{"description":"Aggregate totals across all environments","allOf":[{"$ref":"#/components/schemas/DeployTotalsDto"}]}},"required":["byEnvironment","totals"]},"DeployTotalsDto":{"type":"object","properties":{"scheduled":{"type":"number","description":"Total scheduled deploys"},"succeeded":{"type":"number","description":"Total successful deploys"},"failed":{"type":"number","description":"Total failed deploys"},"successRate":{"type":"number","description":"Overall success rate (0-1)"}},"required":["scheduled","succeeded","failed","successRate"]},"BuildMetricsDto":{"type":"object","properties":{"succeeded":{"description":"Successful builds","allOf":[{"$ref":"#/components/schemas/BuildSucceededDto"}]},"failed":{"description":"Failed builds","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"scheduled":{"description":"Scheduled builds","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"avgCreationTime":{"description":"Average package creation time","allOf":[{"$ref":"#/components/schemas/MetricValueDto"}]},"successRate":{"type":"number","description":"Success rate (0-1)"}},"required":["succeeded","failed","scheduled","avgCreationTime","successRate"]},"BuildSucceededDto":{"type":"object","properties":{"count":{"type":"number","description":"Count value"},"byPackage":{"type":"object","description":"Breakdown by package name"}},"required":["count"]},"MetricValueDto":{"type":"object","properties":{"value":{"type":"number","description":"Metric value"},"unit":{"type":"string","description":"Unit of measurement"}},"required":["value"]},"ReleaseMetricsDto":{"type":"object","properties":{"scheduled":{"description":"Scheduled releases","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"succeeded":{"description":"Successful releases","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"failed":{"description":"Failed releases","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"avgDuration":{"description":"Average release duration","allOf":[{"$ref":"#/components/schemas/MetricValueDto"}]},"avgPackagesPerRelease":{"type":"number","description":"Average packages per release"},"successRate":{"type":"number","description":"Success rate (0-1)"}},"required":["scheduled","succeeded","failed","avgDuration","avgPackagesPerRelease","successRate"]},"InstallMetricsDto":{"type":"object","properties":{"scheduled":{"description":"Scheduled installs","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"succeeded":{"description":"Successful installs","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"failed":{"description":"Failed installs","allOf":[{"$ref":"#/components/schemas/CountMetricDto"}]},"avgDuration":{"description":"Average install duration","allOf":[{"$ref":"#/components/schemas/MetricValueDto"}]},"successRate":{"type":"number","description":"Success rate (0-1)"}},"required":["scheduled","succeeded","failed","avgDuration","successRate"]},"ApexTestMetricsDto":{"type":"object","properties":{"avgExecutionTime":{"description":"Average test execution time","allOf":[{"$ref":"#/components/schemas/MetricValueDto"}]},"avgCoverage":{"type":"number","description":"Average test coverage percentage"},"totalTestsRun":{"type":"number","description":"Total number of tests run"}},"required":["avgExecutionTime","avgCoverage","totalTestsRun"]},"WorkflowMetricsDto":{"type":"object","properties":{"validation":{"description":"Validation workflow metrics","allOf":[{"$ref":"#/components/schemas/WorkflowDurationMetricsDto"}]},"build":{"description":"Build workflow metrics","allOf":[{"$ref":"#/components/schemas/WorkflowDurationMetricsDto"}]},"release":{"description":"Release workflow metrics","allOf":[{"$ref":"#/components/schemas/WorkflowDurationMetricsDto"}]}},"required":["validation","build","release"]},"WorkflowDurationMetricsDto":{"type":"object","properties":{"avgDuration":{"type":"number","description":"Average workflow duration in ms"},"p95":{"type":"number","description":"95th percentile duration in ms"},"count":{"type":"number","description":"Number of workflow runs"}},"required":["avgDuration","count"]}}},"paths":{"/sfp/api/repository/dora/dashboard":{"get":{"operationId":"DoraController_getDashboardMetrics","summary":"Get consolidated DORA dashboard metrics for a repository","description":"Returns all DORA (DevOps Research and Assessment) dashboard metrics with predefined time ranges. Includes PR metrics, validation metrics, deploy metrics by environment, build metrics, release metrics, install metrics, apex test metrics, and workflow duration metrics. Results are cached based on the time range type.","parameters":[{"name":"repositoryIdentifier","required":true,"in":"query","description":"Repository identifier in format owner/repo","schema":{"type":"string"}},{"name":"range","required":true,"in":"query","description":"Time range for metrics","schema":{"enum":["this_week","last_week","this_month","last_month","this_quarter","last_quarter","this_year","last_year","custom"],"type":"string"}},{"name":"start","required":false,"in":"query","description":"Start timestamp (Unix seconds) - required for custom range","schema":{"type":"number"}},{"name":"end","required":false,"in":"query","description":"End timestamp (Unix seconds) - required for custom range","schema":{"type":"number"}},{"name":"environment","required":false,"in":"query","description":"Filter by environment/targetorg","schema":{"type":"string"}},{"name":"forceRefresh","required":false,"in":"query","description":"Force refresh - bypass cache and fetch fresh data","schema":{"default":false,"type":"boolean"}}],"responses":{"200":{"description":"Dashboard metrics retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DashboardMetricsResponseDto"}}}},"400":{"description":"Invalid request parameters"},"403":{"description":"Forbidden - Requires role: member, owner, application"}},"tags":["Repository / DORA"]}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.flxbl.io/flxbl/sfp-server/api-reference/repository-dora.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
