Deployments API

When you deploy a new version of your app, you can notify Atatus with source revision or git SHA or application version. Then you will be able to see how new deployment affect your app performances from previous deployments.

Record a Deployment

To notify the deployment to Atatus, simply make a HTTP POST to and Atatus will save and process the deploy information.

curl \
  -F admin_api_key="YOUR_ADMIN_API_KEY_HERE" \
  -F revision="Git SHA or build number" \
  -F release_stage="production" \
  -F user="User who deployed" \
  -F changes="Deployment changes"
Name Description
admin_api_key Required The Admin API Key associated with the project. You can find it in your project settings.
revision Required Revision being deployed, such as a Git SHA or version.
release_stage Required Release stage of the deployment. E.g. production, staging.
user (optional) The name of the user who deployed.
changes (optional) Changelog or comments to record with this deploy.
Response Codes
Status Code Meaning
200 Ok - Uploaded successfully
422 Unprocessable Entity - There was an error validating the upload.
For Travis CI

If you are using Travis CI for continuous deployment, then you can record a deployment by using after_success functionality. Add following contents in .travis.yml:

    - ATATUS_ADMIN_API_KEY=place_your_admin_api_here
    - .travis/

curl -F admin_api_key="$ATATUS_ADMIN_API_KEY" -F revision="$TRAVIS_COMMIT" -F release_stage="production" -F user="$USER" -F changes="$TRAVIS_COMMIT_MESSAGE"
For Heroku

Using free Deploy Hook addon in Heroku, you can easily record the deployment for your Heroku apps. Run following command from your application's directory.

heroku addons:create deployhooks:http --url="\

If you already setup the HTTP deploy hook, you must remove it first.

heroku addons:destroy deployhooks:http
For Engine Yard

If you are using Engine Yard, then you can record a deployment by using Engine Yard's deploy hook functionality. Just create deploy/after_restart.rb in your Engine Yard app with the following contents:

on_app_master do
  run "curl --silent -F admin_api_key=YOUR_ADMIN_API_KEY_HERE -F revision=#{config.revision} -F release_stage=#{config.environment}"
For Fabric

You can record a deployments for the Fabric apps by calling following code from your deploy command when a deploy has completed successfully.

import requests
def atatus_record_deploy():
    admin_api_key = 'YOUR_ADMIN_API_KEY_HERE'
    release_stage = 'production'
    user = local('whoami', capture=True)
    # fetch last committed revision in the locally-checked out branch
    revision = local('git log -n 1 --pretty=format:"%H"', capture=True)

    resp ='', {
        'admin_api_key': admin_api_key,
        'revision': revision,
        'release_stage': release_stage,
        'user': user
    }, timeout=3)

    if resp.status_code == 200:
        print "Deployment recorded successfully."
        print "Error recording deployment:", resp.text
Document Sections