Skip to main content
The Deployments section of a service page puts two sources side by side: the deployments that pipelines report, and the versions that the service’s spans carry in service.version. A version that no pipeline reported still appears, from the spans alone.

The deployment timeline

The timeline lists what happened to the service in the time range, the newest first: A configuration change or a feature flag does not change the running version and has no figures of its own. It is listed among the changes near an insight; see Changes near a finding. A reported deployment shows its commit, pull request, CI run, and author. When the repository is an http or https address, the commit opens on its web page, in the way GitHub, GitLab, or Bitbucket addresses a commit. Each version’s requests, error rate, and p95 in the range show on its newest row, with the verdict against the version first seen before it: Selecting a verdict opens its two versions in Compare two versions, which lists the endpoints that got slower and the errors that grew. A regressed or improved version is also flagged among the overview’s recent deployments.

Canaries

When two versions run at once, as a canary runs beside the version it replaces, a card above the timeline reads them side by side. Two versions run at once when both were seen within five minutes of the last span of the service. The card compares the newest two, from when the newer one was first seen:
  • the share of the requests that each version served;
  • requests, error rate, p50, p95, and p99 of each version;
  • the verdict of the newer version against the older one.

Report deployments from CI

A pipeline reports a deployment with POST /api/v1/apm/deployments. The request needs an API token whose role holds apm.deploy. Owners, administrators, and editors hold it, and so does the Intake token role that new API tokens get by default.
The service and the environment are named as APM names them: the organization’s naming rules, environment mapping, and aliases apply to them, as they apply to spans. See APM settings. The Datasource page has the steps below under GitHub Actions, GitLab CI/CD, and Jenkins, with the address of the workspace filled in.

GitHub Actions

Keep the token as a repository secret, then add a step to the job that deploys. if: always() reports a failed deployment too.

GitLab CI/CD

Add the token as a masked CI/CD variable named MOLESIGNAL_TOKEN, then report from the deploy job’s after_script, which runs whether the deployment worked or not.

Jenkins

Add the token as a Secret text credential with the ID molesignal-token, then report in the pipeline’s post block. post { always } reports a failed build too. A password in GIT_URL is masked when the deployment is kept.

Report configuration changes and feature flags

Report a configuration change or a feature flag with the same endpoint, with kind set and a description of what changed. It needs no version.

Troubleshooting

Last modified on October 26, 2026