Webhook

When a webhook is triggered, a call is made in a HTTP POST with a Content-Type: application/x-www-form-urlencoded, and the JSON encoded payload is given as argument in the payload parameter of the request. The endpoint can use the information included in this payload in order to perform various tasks (continuous deployment, backup…).

You can see the status of the response (200 OK, 404 Not Found…) in the logs section of each webhook.

Type of webhooks & payloads

Project

Creation

Triggered when a newly created project is activated.

{
    "created_at": "2017-01-01T10:00:00+00:00",
    "updated_at": "2017-01-01T11:00:00+00:00",
    "event_name": "project_create",
    "name": "Project public name",
    "owner_id": 102,
    "owner_email": "[email protected]",
    "owner_name": "John Doe",
    "path": "projectshortname",
    "path_with_namespace": "projectshortname",
    "project_id": 126,
    "project_visibility": "public"
}

Git

Push

Triggered when content is pushed to the repository.

{
    "ref":"refs\/heads\/master",
    "after":"65039e81678ab6d9f158d5620da18aae917ca278",
    "before":"6029350e6ebf0b6aa9d2fd57938f1e806abf9ffc",
    "repository":{
        "id":"123",
        "name":"my-git-repository",
        "full_name":"my-git-repository"
    },
    "pusher":{
        "name":"jdoe",
        "email":"[email protected]"
    },
    "sender":{
        "id":102,
        "uri":"users/102",
        "user_url":"/users/jdoe",
        "real_name":"John Doe",
        "display_name":"John Doe (jdoe)",
        "username":"jdoe",
        "ldap_id":"102",
        "avatar_url":"https://tuleap.example.com/users/jdoe/avatar.png",
        "is_anonymous":false
    }
}

Tracker

Artifact Creation

Triggered when an artifact is created.

{
    "action":"create",
    "user":{
        "id":102,
        "uri":"users\/102",
        "user_url":"\/users\/testman",
        "real_name":"Test",
        "display_name":"Test (testman)",
        "username":"testman",
        "ldap_id":"102",
        "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman/avatar.png",
        "is_anonymous":false
    },
    "current":{
        "id":355743,
        "submitted_by":102,
        "submitted_by_details":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "submitted_on":"2018-07-03T08:48:44+02:00",
        "email":null,
        "last_comment":{
            "body":"",
            "post_processed_body":"",
            "format":"text"
        },
        "last_modified_by":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "values":[
            {"field_id":578,"type":"sb","label":"As a","values":[],"bind_value_ids":[]},
            {"field_id":581,"type":"text","label":"Acceptance Criteria","value":"","format":"text"},
            {"field_id":585,"type":"computed","label":"Initial effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":587,"type":"sb","label":"Status","values":[{"id":"371","label":"Todo","color":{"r":204,"g":0,"b":204},"tlp_color":null}],"bind_value_ids":[371]},
            {"field_id":588,"type":"art_link","label":"Links","links":[],"reverse_links":[]},{"field_id":592,"type":"aid","label":"Artifact ID","value":75291},{"field_id":595,"type":"priority","label":"Rank in Dashboard Agile","value":75224},
            {"field_id":582,"type":"file","label":"Attachments","file_descriptions":[]},
            {"field_id":586,"type":"computed","label":"Remaining effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":589,"type":"cross","label":"References","value":[]},
            {"field_id":593,"type":"subon","label":"Submitted On","value":"2018-06-29T15:53:06+02:00"},
            {"field_id":596,"type":"lud","label":"Last Update On","value":"2018-07-03T08:48:44+02:00"},
            ...
        ]
    },
    "previous": null
}

Artifact Update

Triggered when an artifact is updated.

{
    "action":"update",
    "user":{
        "id":102,
        "uri":"users\/102",
        "user_url":"\/users\/testman",
        "real_name":"Test",
        "display_name":"Test (testman)",
        "username":"testman",
        "ldap_id":"102",
        "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman/avatar.png",
        "is_anonymous":false
    },
    "current":{
        "id":355743,
        "submitted_by":102,
        "submitted_by_details":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "submitted_on":"2018-07-03T08:48:44+02:00",
        "email":null,
        "last_comment":{
            "body":"",
            "post_processed_body":"",
            "format":"text"
        },
        "last_modified_by":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "values":[
            {"field_id":578,"type":"sb","label":"As a","values":[],"bind_value_ids":[]},
            {"field_id":581,"type":"text","label":"Acceptance Criteria","value":"","format":"text"},
            {"field_id":585,"type":"computed","label":"Initial effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":587,"type":"sb","label":"Status","values":[{"id":"371","label":"Todo","color":{"r":204,"g":0,"b":204},"tlp_color":null}],"bind_value_ids":[371]},
            {"field_id":588,"type":"art_link","label":"Links","links":[],"reverse_links":[]},{"field_id":592,"type":"aid","label":"Artifact ID","value":75291},{"field_id":595,"type":"priority","label":"Rank in Dashboard Agile","value":75224},
            {"field_id":582,"type":"file","label":"Attachments","file_descriptions":[]},
            {"field_id":586,"type":"computed","label":"Remaining effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":589,"type":"cross","label":"References","value":[]},
            {"field_id":593,"type":"subon","label":"Submitted On","value":"2018-06-29T15:53:06+02:00"},
            {"field_id":596,"type":"lud","label":"Last Update On","value":"2018-07-03T08:48:44+02:00"},
            ...
        ]
    },
    "previous":{
        "id":355742,
        "submitted_by":102,
        "submitted_by_details":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "submitted_on":"2018-07-03T08:47:36+02:00",
        "email":null,
        "last_comment":{
            "body":"",
            "post_processed_body":"",
            "format":"text"
        },
         "last_modified_by":{
            "id":102,
            "uri":
            "users\102",
            "user_url":"\/users\/testman",
            "real_name":"Test",
            "display_name":"Test (testman)",
            "username":"testman",
            "ldap_id":"102",
            "avatar_url":"https:\/\/tuleap-web.tuleap-aio-dev.docker\/users\/testman\/avatar.png",
            "is_anonymous":false
        },
        "values":[
            {"field_id":578,"type":"sb","label":"As a","values":[],"bind_value_ids":[]},
            {"field_id":581,"type":"text","label":"Acceptance Criteria","value":"","format":"text"},
            {"field_id":585,"type":"computed","label":"Initial effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":587,"type":"sb","label":"Status","values":[{"id":"371","label":"Todo","color":{"r":204,"g":0,"b":204},"tlp_color":null}],"bind_value_ids":[371]},
            {"field_id":588,"type":"art_link","label":"Links","links":[],"reverse_links":[]},
            {"field_id":592,"type":"aid","label":"Artifact ID","value":75291},
            {"field_id":595,"type":"priority","label":"Rank in Dashboard Agile","value":75224},
            {"field_id":582,"type":"file","label":"Attachments","file_descriptions":[]},{"field_id":586,"type":"computed","label":"Remaining effort","is_autocomputed":true,"value":null,"manual_value":null},
            {"field_id":589,"type":"cross","label":"References","value":[]},
            {"field_id":593,"type":"subon","label":"Submitted On","value":"2018-06-29T15:53:06+02:00"},
            {"field_id":596,"type":"lud","label":"Last Update On","value":"2018-07-03T08:48:44+02:00"}
            ...
        ]
    }
}