📖 Also read our guide on how to set up deploy
markers.

Deploy methods
There are two methods of notifying AppSignal of a new deploy. These two methods cannot be used together.- Using the
revisionconfig option, and; - Creating a deploy notification manually with the AppSignal Push API.
revision config option) is our recommended approach, because it’s the most reliable method and works better for applications with more than one host. We detect the revision from the application itself so we know which instance is running what version.
The second approach (creating a deploy marker manually) is a method only really useful for small applications that use one host. It creates a new deploy marker at a specific time, regardless of the version the application is actually running. This also means it’s more error prone.
Revision config option
The recommended approach of letting AppSignal know a new version of your application is deployed is by using therevision config option or the APP_REVISION environment variable (see the deploy markers configuration guide for more information). This is automatically detected for Heroku apps using the dyno metadata lab feature.
This config option is set per instance of an application which has the benefit of every version of an application running at the same time reporting the errors under the correct deploy, rather than the latest deploy that has been reported to AppSignal.
For example: If one machine is still running an older version of the application all the errors from that instance are reported under the previous deploy marker rather than the last known deploy marker.
AppSignal will create a new deploy marker when it receives transaction data. When the revision config option is set for your app, the revision is stored on a transaction that tracks a web request / background job. When our processor on the AppSignal servers detects a new revision it will create a new deploy marker for the parent app with the revision from the transaction.
Config option
Therevision config option can be used in any integration to report the app’s current deploy. See the deploy markers guide for more information.
APP_REVISION environment variable instead.
System environment variable
TheAPP_REVISION value can be any value you use to indicate a version/revision. For example: a version number 1.4.2 or a git SHA cf8bc42.
The revision value should be set in the application’s system environment and updated during a deploy of the application.
Heroku support
When using Heroku with the Heroku Labs: Dyno Metadata enabled, Heroku will populate theHEROKU_SLUG_COMMIT environment variable with the SHA of the git commit being deployed.
AppSignal will automatically set the revision config option to the value of the HEROKU_SLUG_COMMIT system environment variable. This will automatically report new deploys when the Heroku app is deployed.
Render support
When deploying an application using Render, it will populate theRENDER_GIT_COMMIT environment variable with the SHA of the git commit being deployed.
AppSignal will automatically set the revision config option to the value of the RENDER_GIT_COMMIT system environment variable. This will automatically report new deploys when the Render app is deployed.
Hatchbox support
To use deploy markers with Hatchbox, first connect your Hatchbox account to AppSignal:- In Hatchbox, go to your profile settings and navigate to Connected accounts.
- On the “Connected accounts” page, select Sign in with AppSignal.
- In the AppSignal window that opens, authorize Hatchbox to access your AppSignal organization by selecting Allow access.
REVISION file in the release folder with the SHA of the Git commit being deployed.
AppSignal will automatically set the revision config option to the value of the REVISION file. This will automatically report new deploys when the Hatchbox app is deployed.
Kamal support
When deploying an application using Kamal, it will populate theKAMAL_VERSION environment variable within the container with the SHA of the git commit being deployed.
AppSignal will automatically set the revision config option to the value of the KAMAL_VERSION system environment variable. This will automatically report new deploys when the app is deployed using Kamal.
Docker support
If your application runs in a Docker container, follow the instructions below to set your application’s revision and create a deploy marker. First, add the following instructions to your Dockerfile, directly after the lastFROM instruction:
Bash
APP_REVISION environment variable for your application and allow the AppSignal integration to use the revision as a deploy marker.
GitLab support
When deploying from a GitLab CI/CD pipeline, set theAPP_REVISION environment variable in your deploy job to the commit SHA so AppSignal picks it up when the app starts:
CI_COMMIT_SHA is one of GitLab’s predefined CI/CD variables and resolves to the commit being deployed.
If your stack does not include an AppSignal integration, see the GitLab CI/CD example instead.
Manually create a deploy marker
This method of reporting new deploys to AppSignal requires that you send a POST request to the AppSignal Push API markers endpoint. This can be done with a manual HTTP POST request for other languages. When the deploy marker create/notify request is received by the AppSignal servers, all data that is processed by our servers after that time is tracked under the newly created deploy. To create a Deploy marker with a HTTP POST request you can use curl or some other tool like it. The payload of the request is a JSON object with data about the marker, such as the revision, user who deployed it and the application’s repository. Read more about how to create Deploy markers with our API in our API endpoint documentation.GitLab CI/CD example
If you can’t use therevision config option — for example, because your stack does not include an AppSignal integration — you can call the Markers API from a separate GitLab CI/CD job after your deploy succeeds.
First, store your AppSignal credentials as masked CI/CD variables in your GitLab project’s Settings → CI/CD → Variables:
APPSIGNAL_API_TOKEN— your personal API token (Profile → Account settings → Personal → API).APPSIGNAL_APP_ID— the AppSignal app ID for the environment you’re deploying. Find it in the AppSignal URL:https://appsignal.com/<org-slug>/sites/<APPSIGNAL_APP_ID>/....
.gitlab-ci.yml:
Troubleshooting
If the marker job fails with401 Unauthorized, re-check APPSIGNAL_API_TOKEN. It must be a personal API token from Profile → Account settings → Personal → API, not the Push API key. Confirm the variable is not restricted by Environment scope to a different environment than the job runs in.
If the marker job fails with 404 Not Found, the APPSIGNAL_APP_ID is wrong or belongs to a different organization. Copy it from the AppSignal app’s URL (https://appsignal.com/<org>/sites/<APPSIGNAL_APP_ID>/...).