CI/CD

CI/CD Pipeline Attributes

This group describes attributes specific to pipelines within a Continuous Integration and Continuous Deployment (CI/CD) system. A pipeline in this case is a series of steps that are performed in order to deliver a new version of software. This aligns with the Britannica definition of a pipeline where a pipeline is the system for developing and producing something. In the context of CI/CD, a pipeline produces or delivers software.

Attributes:

KeyStabilityValue TypeDescriptionExample Values
cicd.pipeline.action.nameRelease CandidatestringThe kind of action a pipeline run is performing.BUILD; RUN; SYNC
cicd.pipeline.nameRelease CandidatestringThe human readable name of the pipeline within a CI/CD system.Build and Test; Lint; Deploy Go Project; deploy_to_environment
cicd.pipeline.resultRelease CandidatestringThe result of a pipeline run.success; failure; timeout; skip
cicd.pipeline.run.idRelease CandidatestringThe unique identifier of a pipeline run within a CI/CD system.120912
cicd.pipeline.run.stateRelease CandidatestringThe pipeline run goes through these states during its lifecycle.pending; executing; finalizing
cicd.pipeline.run.url.fullRelease CandidatestringThe URL of the pipeline run, providing the complete address in order to locate and identify the pipeline run.https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763?pr=1075
cicd.pipeline.task.nameRelease CandidatestringThe human readable name of a task within a pipeline. Task here most closely aligns with a computing process in a pipeline. Other terms for tasks include commands, steps, and procedures.Run GoLang Linter; Go Build; go-test; deploy_binary
cicd.pipeline.task.run.idRelease CandidatestringThe unique identifier of a task run within a pipeline. [1]12097
cicd.pipeline.task.run.resultRelease CandidatestringThe result of a task run.success; failure; timeout; skip
cicd.pipeline.task.run.url.fullRelease CandidatestringThe URL of the pipeline task run, providing the complete address in order to locate and identify the pipeline task run.https://github.com/open-telemetry/semantic-conventions/actions/runs/9753949763/job/26920038674?pr=1075
cicd.pipeline.task.typeRelease CandidatestringThe type of the task within a pipeline.build; test; deploy
cicd.system.componentRelease CandidatestringThe name of a component of the CI/CD system.controller; scheduler; agent
cicd.worker.idRelease CandidatestringThe unique identifier of a worker within a CI/CD system.abc123; 10.0.1.2; controller
cicd.worker.nameRelease CandidatestringThe name of a worker within a CI/CD system.agent-abc; controller; Ubuntu LTS
cicd.worker.stateRelease CandidatestringThe state of a CI/CD worker / agent.available; busy; offline
cicd.worker.url.fullRelease CandidatestringThe URL of the worker, providing the complete address in order to locate and identify the worker.https://cicd.example.org/worker/abc123

[1] cicd.pipeline.task.run.id: For a given pipeline run and task, the cicd.pipeline.task.run.id MUST be unique within that run. For the same task across different runs of the same pipeline, the cicd.pipeline.task.run.id MAY remain the same, enabling correlation of cicd.pipeline.task.run.result values across multiple pipeline runs.


cicd.pipeline.action.name has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
BUILDThe pipeline run is executing a build.Release Candidate
RUNThe pipeline run is executing.Release Candidate
SYNCThe pipeline run is executing a sync.Release Candidate

cicd.pipeline.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
cancellationThe pipeline run was cancelled, eg. by a user manually cancelling the pipeline run.Release Candidate
errorThe pipeline run failed due to an error in the CI/CD system, eg. due to the worker being killed.Release Candidate
failureThe pipeline run did not finish successfully, eg. due to a compile error or a failing test. Such failures are usually detected by non-zero exit codes of the tools executed in the pipeline run.Release Candidate
skipThe pipeline run was skipped, eg. due to a precondition not being met.Release Candidate
successThe pipeline run finished successfully.Release Candidate
timeoutA timeout caused the pipeline run to be interrupted.Release Candidate

cicd.pipeline.run.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
executingThe executing state spans the execution of any run tasks (eg. build, test).Release Candidate
finalizingThe finalizing state spans from when the run has finished executing (eg. cleanup of run resources).Release Candidate
pendingThe run pending state spans from the event triggering the pipeline run until the execution of the run starts (eg. time spent in a queue, provisioning agents, creating run resources).Release Candidate

cicd.pipeline.task.run.result has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
cancellationThe task run was cancelled, eg. by a user manually cancelling the task run.Release Candidate
errorThe task run failed due to an error in the CI/CD system, eg. due to the worker being killed.Release Candidate
failureThe task run did not finish successfully, eg. due to a compile error or a failing test. Such failures are usually detected by non-zero exit codes of the tools executed in the task run.Release Candidate
skipThe task run was skipped, eg. due to a precondition not being met.Release Candidate
successThe task run finished successfully.Release Candidate
timeoutA timeout caused the task run to be interrupted.Release Candidate

cicd.pipeline.task.type has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
buildbuildRelease Candidate
deploydeployRelease Candidate
testtestRelease Candidate

cicd.worker.state has the following list of well-known values. If one of them applies, then the respective value MUST be used; otherwise, a custom value MAY be used.

ValueDescriptionStability
availableThe worker is not performing work for the CI/CD system. It is available to the CI/CD system to perform work on (online / idle). [2]Release Candidate
busyThe worker is performing work for the CI/CD system.Release Candidate
offlineThe worker is not available to the CI/CD system (disconnected / down).Release Candidate

[2]: Pipelines might have conditions on which workers they are able to run so not every worker might be available to every pipeline.