Try it free

Version detection methods

  • Latest Dynatrace
  • Reference
  • 3-min read
  • Published Jun 30, 2026

Dynatrace can detect release version information for processes monitored by OneAgent using environment variables or Kubernetes labels. You can also ingest deployment activity via SDLC events and enrich traces and logs with OpenTelemetry resource attributes.

Once version metadata is in place, use the Release Monitoring dashboard to view deployed versions, problems, and vulnerabilities in one place.

Environment variables

Set the following environment variables before process startup. This is the recommended approach for version detection. Dynatrace automatically detects them, and the version metadata becomes available shortly after the process starts.

VariablePurpose

DT_RELEASE_VERSION

Version identifier

DT_RELEASE_STAGE

Deployment stage (for example, staging, production)

DT_RELEASE_PRODUCT

Product or service family name

DT_RELEASE_BUILD_VERSION

Build identifier

Version data flows directly into the release inventory and is available for filtering traces and metrics.

Kubernetes labels

Dynatrace Operator version 0.10.0+ can automatically propagate pod labels to process-level release metadata. Allow this behavior with the feature flag feature.dynatrace.com/label-version-detection=true on your DynaKube resource.

For more information, see Configure build label propagation.

Supported labels

LabelMaps to

app.kubernetes.io/version

DT_RELEASE_VERSION

app.kubernetes.io/part-of

DT_RELEASE_PRODUCT

dynatrace-release-stage

DT_RELEASE_STAGE

Only pod labels are detected, not workload (Deployment/StatefulSet) labels. To update a version, update the pod template and trigger a rollout. Patching labels directly with kubectl label on existing pods has no effect.

SDLC events

SDLC events track deployment pipeline activity and do not set version metadata on process entities. Environment variables or Kubernetes labels are still required for version detection.

SDLC events let you ingest deployment activity from your CI/CD pipelines into Dynatrace. Deployment finished events appear in the Release Monitoring dashboard as a timeline of deployments alongside version, problem, and vulnerability data.

For more information, see Ingest SDLC events.

Authentication

Create an access token with the openpipeline.events_sdlc scope.

Endpoint

The built-in endpoint automatically sets event.kind to SDLC_EVENT on all ingested events.

POST https://{environment-id}.live.dynatrace.com/platform/ingest/v1/events.sdlc

Deployment finished event

Send a deployment finished event using the "event.type": "deployment" and "event.status": "finished" fields when a deployment completes. This is the event type the Release Monitoring dashboard consumes. A 202 Accepted response confirms the event was received.

For more information, see Software development lifecycle (SDLC) events.

curl -X POST "https://{environment-id}.live.dynatrace.com/platform/ingest/v1/events.sdlc" \
-H "Authorization: Api-Token {token}" \
-H "Content-Type: application/json" \
-d '[{
"event.type": "deployment",
"event.status": "finished",
"event.category": "task",
"event.provider": "github-actions",
"cicd.deployment.name": "deploy cart-service",
"cicd.deployment.release_stage": "production",
"cicd.deployment.status": "succeeded",
"task.outcome": "Success",
"start_time": 1649822520123123123,
"end_time": 1649822580123123123
}]'

Key fields

FieldRequiredDescription

event.type

Yes

Always deployment

event.status

Yes

started or finished

event.category

Yes

Always task

event.provider

Recommended

CI/CD tool name (for example, github-actions, argocd)

cicd.deployment.name

Recommended

Human-readable deployment name

cicd.deployment.release_stage

Recommended

Target environment that correlates with the Stage filter

cicd.deployment.status

finished only

succeeded or failed

task.outcome

finished only

Success, Failure, or Error

start_time / end_time

Recommended

UNIX epoch time in nanoseconds

Ingestion verification

Run the following DQL query in a Dynatrace Notebook to confirm events arrive as intended:

fetch events
| filter event.kind == "SDLC_EVENT" and event.type == "deployment" and event.status == "finished"
| fields timestamp, cicd.deployment.name, cicd.deployment.release_stage, cicd.deployment.status
| limit 20

OpenTelemetry resource attributes

OpenTelemetry resource attributes enrich traces and logs, but are not propagated to process group instances. Processes instrumented this way don't appear in the release inventory. Use environment variables or Kubernetes labels instead if you need release inventory visibility.

Set the OTEL_RESOURCE_ATTRIBUTES environment variable with deployment metadata. Dynatrace ingests these attributes from traces and logs into Grail.

OTEL_RESOURCE_ATTRIBUTES=deployment.release_version=1.2.3,deployment.release_stage=production

Related topics

  • Track deployed versions with the Release Monitoring dashboard
  • Configure DQL tiles to track release-related issues with deep links
Related tags
Software Delivery