See the DORA Metrics API reference documentation for the full spec and additional code samples.
For the following example, replace <DD_SITE>
in the URL with
and ${DD_API_KEY}
with your Datadog API Key:
curl -X POST "https://api.<DD_SITE>/api/v2/dora/deployment" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "DD-API-KEY: ${DD_API_KEY}" \
-d @- << EOF
{
"data": {
"attributes": {
"service": "shopist",
"started_at": 1693491974000000000,
"finished_at": 1693491984000000000,
"git": {
"commit_sha": "66adc9350f2cc9b250b69abddab733dd55e1a588",
"repository_url": "https://github.com/organization/example-repository"
},
"env": "prod",
"team": "backend"
}
}
}
EOF
The datadog-ci
CLI tool provides a shortcut to send deployment events within your Continuous Integration environment.
For the following example, set the DD_SITE
environment variable to
and set the DD_API_KEY
environment variable to your Datadog API Key:
export DD_BETA_COMMANDS_ENABLED=1
export DD_SITE="<DD_SITE>"
export DD_API_KEY="<DD_API_KEY>"
export deploy_start=`date +%s`
./your-deploy-script.sh
datadog-ci dora deployment --service shopist --env prod \
--started-at $deploy_start --finished-at `date +%s` \
--git-repository-url "https://github.com/organization/example-repository" \
--git-commit-sha 66adc9350f2cc9b250b69abddab733dd55e1a588
The deployment finish time is automatically set to now if --finished-at
is not provided.
If the deployment CI job is running on the exact same Git revision that is being deployed, git-repository-url
and git-commit-sha
can be omitted and are automatically inferred from the CI context.
The --skip-git
option can be provided to disable sending the repository URL and commit SHA. When this option is added, the Change Lead Time metric becomes unavailable.