Webhooks¶
All URIs are relative to https://api.ubiops.com/v2.1
| Method | HTTP request | Description |
|---|---|---|
| webhook_tests_create | POST /projects/{project_name}/webhooks-tests | Create webhook tests |
| webhook_tests_get | GET /projects/{project_name}/webhooks-tests/{test_id} | Get webhook test |
| webhooks_create | POST /projects/{project_name}/webhooks | Create webhooks |
| webhooks_delete | DELETE /projects/{project_name}/webhooks/{webhook_name} | Delete a webhook |
| webhooks_get | GET /projects/{project_name}/webhooks/{webhook_name} | Get webhook |
| webhooks_list | GET /projects/{project_name}/webhooks | List webhooks |
| webhooks_update | PATCH /projects/{project_name}/webhooks/{webhook_name} | Update a webhook |
webhook_tests_create¶
WebhookTestDetail webhook_tests_create(project_name, data)
Create webhook tests
Description¶
Test a webhook
Required Parameters¶
url: Callback url to send event payloads toobject_type: Type of object for which the webhook will be tested. It can be either 'deployment' or 'pipeline'.object_name: Name of deployment or pipeline for which the webhook will be testedevent: Event that triggers the webhook. Depending on the selected object_type, it can be one of the following:deployment_request_startedorpipeline_request_started: triggers when a request startsdeployment_request_completedorpipeline_request_completed: triggers when a request completes successfullydeployment_request_failedorpipeline_request_failed: triggers when a request failsdeployment_request_finishedorpipeline_request_finished: triggers when a request is finished (cancelled, successful or failed)
Optional Parameters¶
headers: Request headers to use when calling the webhookversion: Name of deployment/pipeline version for which the webhook will be tested. If not provided, the default version of the deployment/pipeline will be used.timeout: Timeout in seconds on the call to webhook. It defaults to 10 seconds and the maximum value is 30 seconds.retry: Boolean value indicating whether the calls to the webhook should be retried if they fail (network timeout or non 2xx or 3xx HTTP response). It defaults to False.include_result: Boolean indicating whether the result of a request should be included in the webhook call. It defaults to False.
Request Examples¶
{
"url": "https://callback-url-webhook-1.com",
"object_type": "deployment",
"object_name": "deployment-1",
"event": "deployment_request_finished"
}
Response Structure¶
Details of the test
id: Unique identifier for the test (UUID)status: Status of the test. It can be one of the following: 'pending', 'completed' or 'failed'.error_message: An error message explaining why the test has failed
Response Examples¶
{
"id": "ed64752b-5f05-4c26-9c4f-f1aba5ce38e1",
"status": "pending",
"error_message": null
}
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
data = ubiops.WebhookTestCreate() # WebhookTestCreate
# Create webhook tests
api_response = core_api.webhook_tests_create(project_name, data)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| data | WebhookTestCreate |
Return type¶
Authorization¶
webhook_tests_get¶
WebhookTestDetail webhook_tests_get(project_name, test_id)
Get webhook test
Description¶
Retrieve details of a webhook test in a project
Response Structure¶
Details of a test
id: Unique identifier for the test (UUID)status: Status of the test. It can be one of the following: 'pending', 'completed' or 'failed'.error_message: An error message explaining why the test has failed
Response Examples¶
Pending test
{
"id": "ed64752b-5f05-4c26-9c4f-f1aba5ce38e1",
"status": "pending",
"error_message": null
}
Completed test
{
"id": "ed64752b-5f05-4c26-9c4f-f1aba5ce38e1",
"status": "completed",
"error_message": null
}
Failed test
{
"id": "ed64752b-5f05-4c26-9c4f-f1aba5ce38e1",
"status": "failed",
"error_message": "Connection error"
}
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
test_id = 'test_id_example' # str
# Get webhook test
api_response = core_api.webhook_tests_get(project_name, test_id)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| test_id | str |
Return type¶
Authorization¶
webhooks_create¶
WebhookDetail webhooks_create(project_name, data)
Create webhooks
Description¶
Create a webhook
Required Parameters¶
name: Name of the webhook. It is unique within a project.url: Callback url to send event payloads toobject_type: Type of object for which the webhook will be created. It can be either 'deployment' or 'pipeline'.object_name: Name of deployment or pipeline for which the webhook will be createdevent: Event that triggers the webhook. Depending on the selected object_type, it can be one of the following:deployment_request_startedorpipeline_request_started: triggers when a request startsdeployment_request_completedorpipeline_request_completed: triggers when a request completes successfullydeployment_request_failedorpipeline_request_failed: triggers when a request failsdeployment_request_finishedorpipeline_request_finished: triggers when a request is finished (cancelled, successful or failed)
Optional Parameters¶
headers: Request headers to use when calling the webhook. It defaults to an empty list.description: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelversion: Name of deployment/pipeline version for which the webhook will be created. If not provided, the default version of the deployment/pipeline will be used.timeout: Timeout in seconds on the call to webhook. It defaults to 10 seconds and the maximum value is 30 seconds.enabled: Boolean value indicating whether the webhook is enabled or disabled. It defaults to True.retry: Boolean value indicating whether the calls to the webhook should be retried if they fail (network timeout or non 2xx or 3xx HTTP response). It defaults to False.include_result: Boolean indicating whether the result of a request should be included in the webhook call. It defaults to False.
Request Examples¶
{
"name": "webhook-1",
"url": "https://callback-url-webhook-1.com",
"headers": [
{
"key": "Authorization",
"value": "Token 123",
"protected": true
}
],
"object_type": "deployment",
"object_name": "deployment-1",
"version": "v1",
"event": "deployment_request_finished"
}
Response Structure¶
Details of the created webhook
id: Unique identifier for the webhook (UUID)name: Name of the webhookurl: Callback url to send event payloads toheaders: Request headers to use when calling the webhookobject_type: Type of object for which the webhook is createdobject_name: Name of deployment or pipeline for which the webhook is createdversion: Name of deployment/pipeline version for which the webhook is createddescription: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelevent: Event that triggers the webhooktimeout: Timeout in seconds on the call to webhookenabled: Boolean value indicating whether the webhook is enabled or disabledretry: Boolean value indicating whether the calls to webhook should be retried if they fail
Response Examples¶
{
"id": "e54251d8-e518-424f-bf7d-c45aaf26f72c",
"name": "webhook-1",
"url": "https://callback-url-webhook-1.com",
"headers": [
{
"key": "Authorization",
"value": "Token 123",
"protected": true
],
"object_type": "deployment",
"object_name": "deployment-1",
"version": "v1",
"description": "",
"labels": {
"event-type": "request-finished"
},
"event": "deployment_request_finished",
"timeout": 10,
"enabled": true,
"retry": false,
"include_result": false
}
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
data = ubiops.WebhookCreate() # WebhookCreate
# Create webhooks
api_response = core_api.webhooks_create(project_name, data)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| data | WebhookCreate |
Return type¶
Authorization¶
webhooks_delete¶
webhooks_delete(project_name, webhook_name)
Delete a webhook
Description¶
Delete a webhook
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
webhook_name = 'webhook_name_example' # str
# Delete a webhook
core_api.webhooks_delete(project_name, webhook_name)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| webhook_name | str |
Return type¶
void (empty response body)
Authorization¶
webhooks_get¶
WebhookDetail webhooks_get(project_name, webhook_name)
Get webhook
Description¶
Retrieve details of a webhook in a project
Response Structure¶
Details of a webhook
id: Unique identifier for the webhook (UUID)name: Name of the webhookurl: Callback url to send event payloads toheaders: Request headers to use when calling the webhookobject_type: Type of object for which the webhook is createdobject_name: Name of deployment or pipeline for which the webhook is createdversion: Name of deployment/pipeline version for which the webhook is createddescription: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelevent: Event that triggers the webhooktimeout: Timeout in seconds on the call to webhookenabled: Boolean value indicating whether the webhook is enabled or disabledretry: Boolean value indicating whether the calls to webhook should be retried if they failinclude_result: Boolean indicating whether the result of a request should be included in the webhook call
Response Examples¶
{
"id": "e54251d8-e518-424f-bf7d-c45aaf26f72c",
"name": "webhook-1",
"url": "https://callback-url-webhook-1.com",
"headers": [],
"object_type": "deployment",
"object_name": "deployment-1",
"version": "v1",
"description": "",
"labels": {
"event-type": "request-finished"
},
"event": "deployment_request_finished",
"timeout": 10,
"enabled": true,
"retry": false,
"include_result": false
}
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
webhook_name = 'webhook_name_example' # str
# Get webhook
api_response = core_api.webhooks_get(project_name, webhook_name)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| webhook_name | str |
Return type¶
Authorization¶
webhooks_list¶
list[WebhookDetail] webhooks_list(project_name, labels=labels, object_type=object_type, event=event)
List webhooks
Description¶
List the webhooks in a project
Response Structure¶
A list of details of the webhooks in the project
id: Unique identifier for the webhook (UUID)name: Name of the webhookurl: Callback url to send event payloads toheaders: Request headers to use when calling the webhookobject_type: Type of object for which the webhook is createdobject_name: Name of deployment or pipeline for which the webhook is createdversion: Name of deployment/pipeline version for which the webhook is createddescription: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelevent: Event that triggers the webhooktimeout: Timeout in seconds on the call to webhookenabled: Boolean value indicating whether the webhook is enabled or disabledretry: Boolean value indicating whether the calls to webhook should be retried if they failinclude_result: Boolean indicating whether the result of a request should be included in the webhook call
Response Examples¶
[
{
"id": "e54251d8-e518-424f-bf7d-c45aaf26f72c",
"name": "webhook-1",
"url": "https://callback-url-webhook-1.com",
"headers": [],
"object_type": "deployment",
"object_name": "deployment-1",
"version": "v1",
"description": "",
"labels": {
"event-type": "request-finished"
},
"event": "deployment_request_finished",
"timeout": 10,
"enabled": true,
"retry": false,
"include_result": false
},
{
"id": "cbfb3944-bbcb-4e18-907a-54d2f792a136",
"name": "webhook-2",
"url": "https://callback-url-webook-2.com",
"headers": [],
"object_type": "deployment",
"object_name": "deployment-2",
"version": null,
"description": "",
"labels": {
"event-type": "request-failed"
},
"event": "deployment_request_failed",
"timeout": 15,
"enabled": true,
"retry": false,
"include_result": false
},
]
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
labels = "label1:value1,label2:value2" # str (optional)
object_type = 'object_type_example' # str (optional)
event = 'event_example' # str (optional)
# List webhooks
api_response = core_api.webhooks_list(project_name, labels=labels, object_type=object_type, event=event)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| labels | str | [optional] |
| object_type | str | [optional] |
| event | str | [optional] |
Return type¶
Authorization¶
webhooks_update¶
WebhookDetail webhooks_update(project_name, webhook_name, data)
Update a webhook
Description¶
Update a webhook
Optional Parameters¶
name: Name for the webhookurl: Callback url to send event payloads toheaders: Request headers to use when calling the webhook. Use value None to not update the values of protected headers.description: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelevent: Event that triggers the webhook. Depending on the selected object_type, it can be one of the following:deployment_request_startedorpipeline_request_started: triggers when a request startsdeployment_request_completedorpipeline_request_completed: triggers when a request completes successfullydeployment_request_failedorpipeline_request_failed: triggers when a request failsdeployment_request_finishedorpipeline_request_finished: triggers when a request is finished (cancelled, successful or failed)
timeout: Timeout in seconds on the call to webhookenabled: Boolean value indicating whether the webhook is enabled or disabledretry: Boolean value indicating whether the calls to webhook should be retried if they failinclude_result: Boolean indicating whether the result of a request should be included in the webhook call
Request Examples¶
{
"name": "new-webhook-name"
}
Response Structure¶
Details of a webhook
id: Unique identifier for the webhook (UUID)name: Name of the webhookurl: Callback url to send event payloads toheaders: Request headers to use when calling the webhookobject_type: Type of object for which the webhook is createdobject_name: Name of deployment or pipeline for which the webhook is createdversion: Name of deployment/pipeline version for which the webhook is createddescription: Description of the webhooklabels: Dictionary containing key/value pairs where key indicates the label and value is the corresponding value of that labelevent: Event that triggers the webhooktimeout: Timeout in seconds on the call to webhookenabled: Boolean value indicating whether the webhook is enabled or disabledretry: Boolean value indicating whether the calls to webhook should be retried if they failinclude_result: Boolean indicating whether the result of a request should be included in the webhook call
Response Examples¶
{
"id": "e54251d8-e518-424f-bf7d-c45aaf26f72c",
"name": "new-webhook-name",
"url": "https://callback-url-webhook-1.com",
"headers": [],
"object_type": "deployment",
"object_name": "deployment-1",
"version": "v1",
"description": "",
"labels": {
"event-type": "request-finished"
},
"event": "deployment_request_finished",
"timeout": 10,
"enabled": true,
"retry": false,
"include_result": false
}
Example¶
Initialize core_api using your credentials.
project_name = 'project_name_example' # str
webhook_name = 'webhook_name_example' # str
data = ubiops.WebhookUpdate() # WebhookUpdate
# Update a webhook
api_response = core_api.webhooks_update(project_name, webhook_name, data)
print(api_response)
Parameters¶
| Name | Type | Notes |
|---|---|---|
| project_name | str | |
| webhook_name | str | |
| data | WebhookUpdate |