BlameTrail
Deploy Tracking

Commit Enrichment

BlameTrail automatically enriches deploy commits with GitHub metadata including PR details, changed files, and commit history.

When a service is linked to a GitHub repository and a GitHub token is configured, BlameTrail automatically fetches additional metadata for each deploy. This enrichment transforms a bare commit SHA into a rich context that makes suspect scoring and incident investigation significantly more useful.

What gets enriched

For each deploy, BlameTrail fetches the following from the GitHub API:

DataDescription
Commit messagesFull commit messages for all commits in the deploy
Linked pull requestsPR titles, numbers, and authors for commits merged via pull request
Changed filesList of files modified, added, or deleted, ranked by relevance

This metadata appears on the deploy detail page, in suspect scoring results, and in AI-generated incident summaries.

Prerequisites

Commit enrichment requires two things:

1. A linked repository

When creating or editing a service, set the Repository field to the GitHub repository in owner/repo format (e.g., acme/payments-api). This tells BlameTrail which repository to query for commit data.

2. A GitHub token

Configure a GitHub personal access token in one of two places:

  • Organization-wide — Go to Organization > Settings and add a token in the GitHub section. This token is used for all services in the organization.
  • Per-service — Set a token on an individual service to override the organization-wide token.

Token scopes

Repository visibilityRequired scope
Privaterepo
Publicpublic_repo

The token is stored encrypted at rest and is never returned by the API after being saved.

How enrichment runs

Enrichment runs asynchronously in the background after a deploy is ingested:

  1. Your CI/CD pipeline sends a deploy event to the ingest endpoint.
  2. BlameTrail records the deploy and returns a response immediately.
  3. A background job picks up the deploy and calls the GitHub API to fetch commit metadata, PR associations, and changed files.
  4. The enriched data is stored alongside the deploy record.

If the GitHub API is unavailable or the token lacks sufficient permissions, the deploy is still recorded -- it just won't have enrichment data. BlameTrail logs the failure for debugging.

Changed file ranking

BlameTrail ranks changed files by relevance rather than listing them alphabetically. Files are scored based on:

  • File type — Source code files rank higher than configuration or documentation.
  • Change magnitude — Files with more additions and deletions rank higher.
  • Path patterns — Files in core application paths rank above test or build files.

This ranking helps you focus on the most impactful changes first when investigating a suspect deploy.

Viewing enriched data

Enriched deploy data appears in several places:

  • Deploy detail page — Full list of commits, linked PRs, and changed files.
  • Incident suspect list — Each suspect deploy shows its commit message, linked PR, and top changed files.
  • AI incident summaries — When generating an AI summary, BlameTrail includes enrichment data from suspect deploys as context.

Troubleshooting

ProblemCauseSolution
No enrichment data appearsGitHub token not configuredAdd a token in Organization > Settings or on the service
401 errors in logsToken expired or revokedGenerate a new token and update it in settings
Missing PR associationsCommits were pushed directly, not merged via PRThis is expected -- only PR-merged commits show PR metadata
Private repo returns 404Token has public_repo scope but not repoUpdate the token to include the repo scope

On this page