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": "john.doe@example.com",
"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":"john.doe@tuleap.example.com"
},
"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.
{
"id":182,
"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,
"is_custom_code_execution": false
}
Artifact Update
Triggered when an artifact is updated.
{
"id":182,
"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"}
...
]
},
"is_custom_code_execution": false
}