# CI Build

## Description

Metrics relating to individual build runs as imported from a CI Build tool (e.g. GitHub Actions, CircleCI).

## Measures

| Name                         | Title                | Description                                                         |
| ---------------------------- | -------------------- | ------------------------------------------------------------------- |
| `CiBuild.totalDuration`      | Total Duration       | The total duration time across build runs, in seconds.              |
| `CiBuild.avgDuration`        | Avg Duration         | The average duration across build runs, in seconds.                 |
| `CiBuild.medianDuration`     | Median Duration      | The median duration across build runs, in seconds.                  |
| `CiBuild.p90Duration`        | P90 Duration         | The 90th percentile of duration values, in seconds.                 |
| `CiBuild.minStartedAt`       | Min Started at       | The earliest UNIX timestamp that a CI build started.                |
| `CiBuild.count`              | Count                | A count of CI build records.                                        |
| `CiBuild.totalRecoveryTime`  | Total Recovery Time  | Total recovery time across CI builds, in seconds.                   |
| `CiBuild.avgRecoveryTime`    | Avg Recovery Time    | Average recovery time across CI builds, in seconds.                 |
| `CiBuild.medianRecoveryTime` | Median Recovery Time | Median recovery time across CI builds, in seconds.                  |
| `CiBuild.p90RecoveryTime`    | P90 Recovery Time    | The 90th percentile of recovery times across CI builds, in seconds. |

## Dimensions

| Name                   | Title         | Description                                                             |
| ---------------------- | ------------- | ----------------------------------------------------------------------- |
| `CiBuild.timeInterval` | Created Time  | The timestamp of when the CI Build was started.                         |
| `CiBuild.id`           | Id            |                                                                         |
| `CiBuild.key`          | Key           | Key or external reference for this CI build.                            |
| `CiBuild.origin`       | Origin        | The source system this CI build comes from, e.g., 'GitHub' or 'GitLab'. |
| `CiBuild.name`         | Name          | Name of this CI build.                                                  |
| `CiBuild.status`       | Status        | Status of this CI build, e.g., 'Running' or 'Completed'.                |
| `CiBuild.conclusion`   | Conclusion    | The result of this CI build, e.g., 'Success' or 'Failed'.               |
| `CiBuild.duration`     | Duration      | The time the CI build took to run, in seconds.                          |
| `CiBuild.startedAt`    | Started at    | UNIX timestamp of when this CI build started.                           |
| `CiBuild.recoveryTime` | Recovery Time | Time taken for this CI build to recover after a failure, in seconds.    |

## Connected Cubes

All fields belonging to the following cubes are also reachable from CiBuild:

* [CI Build](https://docs.logilica.com/advanced/datastudio-data-model/models/cibuild)
* [CI Build Stage](https://docs.logilica.com/advanced/datastudio-data-model/models/cibuildstage)
* [Contributor](https://docs.logilica.com/advanced/datastudio-data-model/models/contributor)
* [Team](https://docs.logilica.com/advanced/datastudio-data-model/models/team)
* [Pull Request](https://docs.logilica.com/advanced/datastudio-data-model/models/pullrequestdetail)
* [Pull Request Jira Issue](https://docs.logilica.com/advanced/datastudio-data-model/models/pullrequestjiraissue)
* [Pull Request Event](https://docs.logilica.com/advanced/datastudio-data-model/models/pullrequestevent)
* [Repositories](https://docs.logilica.com/advanced/datastudio-data-model/models/project)
