Software development lifecycle events are used to describe various stages throughout the lifecycle of a software component.
Such events can include, but are not limited to
Software development lifecycle events are mainly composed of the following namespaces
artifact.* namespace)cicd.* namespace)deployment.* namespace)vcs.* namespace)The SDLC task event "build finished" is generated when a build task is finished in the CI/CD system.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe identifier of the software artifact, typically the name of the artifact. |
|
| string | experimentalThe human-readable name of the software artifact. |
|
| string | experimentalThe version of the software artifact, typically in Semantic Versioning format. |
|
| string | experimentalThe CI/CD pipeline's identifier, which is unique within one CI/CD system. |
|
| string | experimentalAn identifier for a pipeline run, which is unique within one CI/CD system. |
|
| duration | experimentalThe duration of the build task in nanoseconds. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the build task was finished. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC build finished task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the build task was started. |
|
| string | experimentalThe unique task identifier. |
|
| string | experimentalA human-readable name for a task. |
|
| string | experimentalOutcome of a task run. |
|
| duration | experimentalHow long was the tasks queued before it was started, in nanoseconds. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
Automatically and unconditionally set to value SDLC_EVENT.
The SDLC task event "build started" is generated when a build task is started in the CI/CD system.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe CI/CD pipeline's identifier, which is unique within one CI/CD system. |
|
| string | experimentalAn identifier for a pipeline run, which is unique within one CI/CD system. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC build started task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the build task was started. |
|
| string | experimentalThe unique task identifier. |
|
| string | experimentalA human-readable name for a task. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
Automatically and unconditionally set to value SDLC_EVENT.
The SDLC task event "change finished" is generated when a change is closed in the version control system. A change task is the platform-agnostic term for a pull request in GitHub or a merge request in GitLab.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| duration | experimentalHow long the change was open in the version control system, in nanoseconds. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the change was closed in the version control system. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC change finished task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the change was opened in the version control system. |
|
| string | experimentalThe internal identifier of the change tasks. It is typically unique per repository and generated by the version control system itself. |
|
| string | experimentalA human-readable name for a task. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
| string | experimentalThe identifier of the change, for example, pull request ID or merge request ID. It is typically unique per repository and generated by the version control system itself. |
|
| string | experimentalThe state of the change, for example, the state of a pull request or merge request. |
|
| string | experimentalThe human-readable title of the change, for example, pull request title or merge request title. 2 |
|
| string | experimentalThe full URL to the change, for example, the full URL to the pull request or merge request. |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 3 |
|
| string | experimentalThe revision in the repository. For Git this is a synonym for a commit hash, whereas in SVN it is a revision number. 4 |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 5 |
|
| string | experimentalThe revision in the repository. For Git, this is a synonym for a commit hash, whereas in SVN, it is a revision number. 6 |
|
| string | experimentalThe human-readable name of the repository. It should not include any additional identifiers like GitLab group or GitHub organization. 7 |
|
| string | experimentalThe repository's full URL. 8 |
|
Automatically and unconditionally set to value SDLC_EVENT.
The value is similar to task.name.
The base name refers to the starting point of a change. For example, if a feature branch was created from main,
main is the base reference of type branch.
The base revision refers to the starting revision of a change. For example, if a branch was created from a certain commit, this commit is the base revision.
The head name refers to the current reference's name. For example,
if main is currently checked out, the head name is main.
The head revision refers to the currently referenced revision.
Be aware that the repository name might clash with forked repositories.
For Git VCS, this should not include the .git URL suffix.
The SDLC task event "change started" is generated when a change is openend in the version control system. A change task is the platform-agnostic term for a pull request in GitHub or a merge request in GitLab.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC change started task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the change was opened in the version control system. |
|
| string | experimentalThe internal identifier of the change tasks. It is typically unique per repository and generated by the version control system itself. |
|
| string | experimentalA human-readable name for a task. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
| string | experimentalThe identifier of the change, for example, pull request ID or merge request ID. It is typically unique per repository and generated by the version control system itself. |
|
| string | experimentalThe state of the change, for example, the state of a pull request or merge request. |
|
| string | experimentalThe human-readable title of the change, for example, pull request title or merge request title. 2 |
|
| string | experimentalThe full URL to the change, for example, the full URL to the pull request or merge request. |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 3 |
|
| string | experimentalThe revision in the repository. For Git this is a synonym for a commit hash, whereas in SVN it is a revision number. 4 |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 5 |
|
| string | experimentalThe revision in the repository. For Git, this is a synonym for a commit hash, whereas in SVN, it is a revision number. 6 |
|
| string | experimentalThe human-readable name of the repository. It should not include any additional identifiers like GitLab group or GitHub organization. 7 |
|
| string | experimentalThe repository's full URL. 8 |
|
Automatically and unconditionally set to value SDLC_EVENT.
The value is similar to task.name.
The base name refers to the starting point of a change. For example, if a feature branch was created from main,
main is the base reference of type branch.
The base revision refers to the starting revision of a change. For example, if a branch was created from a certain commit, this commit is the base revision.
The head name refers to the current reference's name. For example,
if main is currently checked out, the head name is main.
The head revision refers to the currently referenced revision.
Be aware that the repository name might clash with forked repositories.
For Git VCS, this should not include the .git URL suffix.
The SDLC task event "deployment finished" is generated when a deployment task is finished.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe identifier of the deployment. |
|
| string | experimentalThe name of the deployment. |
|
| string | experimentalThe destination namespace where the deployment resource is created. |
|
| string | experimentalThe name of the deployment environment, also known as deployment tier. |
|
| string | experimentalThe deployment server URL. |
|
| string | experimentalThe identifier of the service that is deployed. |
|
| string | experimentalThe status of the deployment. |
|
| duration | experimentalHow long the deployment took. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the deployment task was finished. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC deployment finished task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the deployment task was started. |
|
| string | experimentalThe unique task identifier. |
|
| string | experimentalA human-readable name for a task. |
|
| string | experimentalThe outcome of the deployment task. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 2 |
|
| string | experimentalThe revision in the repository. For Git this is a synonym for a commit hash, whereas in SVN it is a revision number. 3 |
|
| string | experimentalThe repository's full URL. 4 |
|
Automatically and unconditionally set to value SDLC_EVENT.
The base name refers to the starting point of a change. For example, if a feature branch was created from main,
main is the base reference of type branch.
The base revision refers to the starting revision of a change. For example, if a branch was created from a certain commit, this commit is the base revision.
For Git VCS, this should not include the .git URL suffix.
The SDLC task event "deployment started" is generated when a deployment task is started.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe identifier of the deployment. |
|
| string | experimentalThe name of the deployment. |
|
| string | experimentalThe destination namespace where the deployment resource is created. |
|
| string | experimentalThe name of the deployment environment, also known as deployment tier. |
|
| string | experimentalThe deployment server URL. |
|
| string | experimentalThe identifier of the service that is deployed. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC deployment started task event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the deployment task was started. |
|
| string | experimentalThe unique task identifier. |
|
| string | experimentalA human-readable name for a task. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
| string | experimentalThe name of the reference in the repository. This can be a branch name or a tag name. 2 |
|
| string | experimentalThe revision in the repository. For Git this is a synonym for a commit hash, whereas in SVN it is a revision number. 3 |
|
| string | experimentalThe repository's full URL. 4 |
|
Automatically and unconditionally set to value SDLC_EVENT.
The base name refers to the starting point of a change. For example, if a feature branch was created from main,
main is the base reference of type branch.
The base revision refers to the starting revision of a change. For example, if a branch was created from a certain commit, this commit is the base revision.
For Git VCS, this should not include the .git URL suffix.
The SDLC pipeline event "run finished" is generated when a pipeline run is finished in the CI/CD system.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe CI/CD pipeline's identifier, which is unique within one CI/CD system. |
|
| string | experimentalThe human-readable name of the CI/CD pipeline. |
|
| string | experimentalAn identifier for a pipeline run, which is unique within one CI/CD system. |
|
| string | experimentalThe outcome of one pipeline run. |
|
| duration | experimentalHow long was the pipeline run queued before it was started, in nanoseconds. |
|
| string | experimentalThe URL pointing to one specific pipeline run. |
|
| string | experimentalThe CI/CD pipeline's full URL. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline run. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline run. |
|
| duration | experimentalThe duration of the pipeline run in nanoseconds. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the pipeline run was finished. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC pipeline run finished event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the pipeline run was started. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
Automatically and unconditionally set to value SDLC_EVENT.
The SDLC pipeline event "run queued" is generated when a pipeline run is queued in the CI/CD system.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe CI/CD pipeline's identifier, which is unique within one CI/CD system. |
|
| string | experimentalThe human-readable name of the CI/CD pipeline. |
|
| string | experimentalAn identifier for a pipeline run, which is unique within one CI/CD system. |
|
| string | experimentalThe URL pointing to one specific pipeline run. |
|
| string | experimentalThe CI/CD pipeline's full URL. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline run. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline run. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC pipeline run queued event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the pipeline run was queued. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
Automatically and unconditionally set to value SDLC_EVENT.
The SDLC pipeline event "run started" is generated when a pipeline run is started in the CI/CD system.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe CI/CD pipeline's identifier, which is unique within one CI/CD system. |
|
| string | experimentalThe human-readable name of the CI/CD pipeline. |
|
| string | experimentalAn identifier for a pipeline run, which is unique within one CI/CD system. |
|
| duration | experimentalHow long was the pipeline run queued before it was started, in nanoseconds. |
|
| string | experimentalThe URL pointing to one specific pipeline run. |
|
| string | experimentalThe CI/CD pipeline's full URL. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline. |
|
| string | experimentalThe identifier of the upstream CI/CD pipeline run. If a pipeline run was triggered by another pipeline, this attribute is used to reference the triggering pipeline run. |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalThe version of the SDLC pipeline run started event. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the pipeline run was started. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when it was created. |
|
Automatically and unconditionally set to value SDLC_EVENT.
The SDLC validation events are generated when a validation is started or finished. This can happen in the context of a CI/CD system.
Get all SDLC validation task events.
fetch events| filter event.kind == "SDLC_EVENT" and event.category == "task" and event.type == "validation"
Get all SDLC validation started task events.
fetch events| filter event.kind == "SDLC_EVENT" and event.category == "task" and event.type == "validation" and event.status == "started"
Get all SDLC validation finished task events.
fetch events| filter event.kind == "SDLC_EVENT" and event.category == "task" and event.type == "validation" and event.status == "finished"
The common attributes listed in this section apply to both started and finished events, in addition to
the specific attributes listed in the validation started and validation finished sections below.
For all validation events, event.kind must be SDLC_EVENT, event.category must be task, and event.type must be validation.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe |
|
| string | experimentalThe |
|
| string | experimentalDescribes the SDLC event's category, which must be set to |
|
| string | experimentalValue is optional. |
|
| string | experimentalUnique identifier string of an event; is stable across multiple refreshes and updates. |
|
| string | experimentalGives high-level information about what kind of information the event contains without being specific about the contents of the event. It helps to determine the record type of a raw event. 1Tags: |
|
| string | experimentalValue is optional. |
|
| string | experimentalSource of the event, for example, the name of the component or system that generated the event.Tags: |
|
| string | experimentalThe value must either be set to |
|
| string | experimentalThe value must be set to |
|
| string | experimentalDescribes the version of the event. |
|
| timestamp | experimentalThe start time of the validation process. Value is optional. |
|
| string | experimentalValue is optional. |
|
| string | experimentalValue is optional. |
|
| string | experimentalValue is optional. |
|
| timestamp | experimentalThe time (UNIX Epoch time in nanoseconds) when the event originated, typically when the source created it. If no original timestamp is available, it will be populated at ingest time and required for all events. In the case of a correlated event (for example, ITIL events), this time could be different from the event.start time, as this time represents the actual timestamp when the "update" for the event was created. |
|
| string | experimentalAn ISO 8601 compliant timestamp identifying the start of the validation timeframe. Value is optional. 2 |
|
| string | experimentalAn ISO 8601 compliant timestamp identifying the end of the validation timeframe. Value is optional. 3 |
|
Automatically and unconditionally set to value SDLC_EVENT.
This is not the start of the validation process, but the start of the timeframe if the underlying validation logic is timeframe-based, as would be the case for metrics.
This is not the end of the validation process, but the end of the timeframe if the underlying validation logic is timeframe-based, as would be the case for metrics.
This event type represents an SDLC validation started event.
For a validation started event, event.status must be started.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| string | experimentalThe value must be set to |
|
This event type represents an SDLC validation finished event.
For a validation finished event, event.status must be finished.
| Attribute | Type | Description | Examples |
|---|---|---|---|
| duration | experimentalThe duration of the validation process. This should be the time span between |
|
| timestamp | experimentalThe end time of the validation process. Value is optional. |
|
| string | experimentalThe value must be set to |
|
| string | experimentalAn ISO 8601 compliant timestamp identifying the time when the validation process happened. Should be used to specify the timestamp when data had been retrieved, if the underlying validation logic would depend on that. In general, this timestamp should be greater than or equal to |
|
| string | experimentalA text indicating the status of the finished validation. |
|
This timestamp or the timeframe determined by validation.to and validation.from should be set, depending on the use case. If there is no time-based component at all in the context of this validation, then all three fields are optional. Conversely, if the timeframe-based validation logic depends on data that might be sampled, then all three fields could be set.