Header

HTTP POST notifications

If you have a 3rd party application, such as your own custom CRM, you may wish to receive notifications there. Deploy can generate notifications by way of HTTP Post, so you can set up an endpoint to display the notifications in your application.

Start by selecting HTTP Post in the Service dropdown, then enter the URL of your endpoint, and a username and API key or password (depending on the authentication method you have set up on your endpoint).

HTTP POST Notification

Choose when to send notifications, and choose any servers you wish to send notifications for, or keep the Send notification when any server or group deployed? option checked if you want to notify on all servers.

Notification scopes

Finally, click Create Notification to finish.

Notification format and payload

Deploy supports sending notifications in JSON format when a deployment is made. With JSON, the payload will be delivered to the specified HTTP/HTTPS URL along with a signature from Deploy so you can verify where the message originated from.

Our public key

-----BEGIN PUBLIC KEY----- 
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDXJcP2N6NtcN26Q8nVaidXOA0w 
RxWK2HQTblIaQdGRDjqTvhrSlFuV5N4jz7w/w8uskP20G7ZQ+CkHwIXrWk76KZJn 
pdoOHPO6AqRmEFgV5Q6Y1CR77mvnT9O21hTnfzfyyiAdQC2oO8M9/jeLRPTAqmkG 
xdQa8iepUz4BwrrHmwIDAQAB 
-----END PUBLIC KEY-----

Example payload

{
    "identifier":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
    "servers":[{
        "id":494506,
        "identifier":"xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx",
        "name":"test",
        "protocol_type":"ftp",
        "server_path":"htdocs",
        "auto_deploy_url":"https://adamw.deployhq.com/deploy/codebase-project/to/test/xxxxxxxxxxx",
        "last_revision":"abcdef123456",
        "preferred_branch":"master",
        "branch":"",
        "notify_email":"",
        "server_group_identifier":null,
        "hostname":
        "ftp.test.com",
        "username":"test",
        "port":"21",
        "passive":true,
        "force_hidden_files":false
    }]
    "project":{
        "name":"Codebase Project",
        "permalink":"codebase-project",
        "public_key":"xxxxxxxx",
        "repository":{
            "scm_type":"git",
            "url":"git@codebasehq.com:adamw/first-project/repository.git",
            "port":null,
            "username":"adamw",
            "branch":"master",
            "cached":true,
            "hosting_service":{
                "name":"Codebase",
                "url":"http://www.codebasehq.com",
                "tree_url":"https://adamw.codebasehq.com/projects/first-project/repositories/repository/tree/master",
                "commits_url":"https://adamw.codebasehq.com/projects/first-project/repositories/repository/commits/master"
            }
        }
    },
    "deployer":"Adam West",
    "start_revision":{
        "ref":"abcdef123456",
        "author":"Adam West",
        "email":"adamw@atech.media",
        "timestamp":"2017-06-08T16:33:12.000+01:00",
        "message":"test",
        "short_message":"test",
        "tags":[]
    },
    "end_revision":{
        "ref":"123456abcdef",
        "author":"Adam West",
        "email":"adamw@atechmedia.com",
        "timestamp":"2018-01-02T15:10:56.000+00:00",
        "message":"test",
        "short_message":"test",
        "tags":[]
    },
    "status":"completed",
    "timestamps":{
        "queued_at":"2018-01-10T15:58:22.000Z",
        "started_at":"2018-01-10T15:58:22.000Z",
        "completed_at":"2018-01-10T15:58:44.000Z",
        "duration":null
    },
    "files":{
        "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxx":{
            "changed":[
                "gulpfile.js",
                "test/controllers/.keep",
                "test/controllers/articles_controller_test.rb",
                "test/controllers/comments_controller_test.rb",
                "test/controllers/welcome_controller_test.rb",
                "test/fixtures/.keep",
                "test/fixtures/articles.yml",
                "test/fixtures/comments.yml",
                "test/helpers/.keep",
                "test/integration/.keep",
                "test/mailers/.keep",
                "test/models/.keep",
                "test/models/article_test.rb"
                "test/models/comment_test.rb",
                "test/test_helper.rb",
                "test1/test.txt",
                "test2/test.txt",
                "test3",
                "testfile1.txt"
            ],
            "removed":[
                "testfile.txt"
            ]
        }
    }
    "configuration":{
        "copy_config_files":true
        "notification_addresses":null
    },
    "legacy":false
}