Skip to content

Deploy Tracking

Deploy tracking places releases on the same timeline as your application logs. When an error is analyzed, auralogs uses the latest successful deploy in the same environment as evidence for what changed before the error.

Send a deploy event from CI after the deployment succeeds. Use the same ingest key your SDK uses for logs; deploy events do not count against log quota.

Terminal window
curl -X POST https://ingest.auralogs.ai/v1/deploys \
-H "Content-Type: application/json" \
-d '{
"projectApiKey": "aura_your_ingest_key",
"sha": "'"$GITHUB_SHA"'",
"environment": "production",
"deployedAt": "'"$(date -u +%Y-%m-%dT%H:%M:%SZ)"'",
"ref": "main",
"externalId": "github-actions-'"$GITHUB_RUN_ID"'",
"url": "https://github.com/'"$GITHUB_REPOSITORY"'/actions/runs/'"$GITHUB_RUN_ID"'"
}'

externalId is optional but recommended. Reusing the same external ID updates the existing event instead of creating a duplicate when a CI step is retried.

Store the ingest key as an AURALOGS_INGEST_KEY repository secret, then add a step after the production deployment:

- name: Record deploy in auralogs
if: success()
env:
AURALOGS_INGEST_KEY: ${{ secrets.AURALOGS_INGEST_KEY }}
run: |
curl --fail-with-body -X POST https://ingest.auralogs.ai/v1/deploys \
-H "Content-Type: application/json" \
-d "$(jq -n \
--arg key "$AURALOGS_INGEST_KEY" \
--arg sha "$GITHUB_SHA" \
--arg run "$GITHUB_RUN_ID" \
--arg repo "$GITHUB_REPOSITORY" \
'{projectApiKey:$key, sha:$sha, environment:"production",
deployedAt:(now|todate), ref:"main",
externalId:("github-actions-"+$run),
url:("https://github.com/"+$repo+"/actions/runs/"+$run)}')"

Required fields are projectApiKey, sha, environment, and deployedAt. Optional fields are ref, message, author, status, externalId, url, and metadata. Status can be succeeded, failed, or cancelled; the main log timeline and error correlation currently use successful deploys.

Environment matching is exact. A deploy recorded as prod will not correlate with a log recorded as production, so use the same value in CI and your SDK.

  • The log histogram shows deploy markers within the selected time range.
  • The log stream shows deploy rows between surrounding log entries.
  • Analysis detail shows the correlated deploy, its source, SHA, environment, timestamp, and elapsed time before the error.

If no recorded deploy exists and the project has a connected GitHub repository, auralogs can fall back to the default-branch commit at the error timestamp. That fallback is labeled as inferred because rebases, rollbacks, and clock skew can make it inaccurate.