Testkube Agent /webhooks operations
Testkube API (1.0.0)
Download OpenAPI specification:Download
Testkube provides a Kubernetes-native framework for test definition, execution and results
List webhooks
List webhooks available in cluster
query Parameters
| selector | string  Labels to filter by  | 
Responses
Response samples
- 200
 - 400
 - 502
 
[- {
- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
} 
]Create new webhook
Create new webhook based on variables passed in request
Request Body schema: required
webhook request body data
| name | string   | 
| namespace | string   | 
| uri required  | string   | 
| events required  | Array of strings (EventType)  Items Enum: "start-test" "end-test-success" "end-test-failed" "end-test-aborted" "end-test-timeout" "become-test-up" "become-test-down" "become-test-failed" "become-test-aborted" "become-test-timeout" "start-testsuite" "end-testsuite-success" "end-testsuite-failed" "end-testsuite-aborted" "end-testsuite-timeout" "become-testsuite-up" "become-testsuite-down" "become-testsuite-failed" "become-testsuite-aborted" "become-testsuite-timeout" "queue-testworkflow" "start-testworkflow" "end-testworkflow-success" "end-testworkflow-failed" "end-testworkflow-aborted" "become-testworkflow-up" "become-testworkflow-down" "become-testworkflow-failed" "become-testworkflow-aborted" "created" "updated" "deleted"    | 
| selector | string  Labels to filter for tests and test suites  | 
| payloadObjectField | string  will load the generated payload for notification inside the object  | 
| payloadTemplate | string  golang based template for notification payload  | 
| payloadTemplateReference | string  name of the template resource  | 
object  webhook headers (golang template supported)  | |
object  webhook labels  | |
object  webhook annotations  | |
| disabled | boolean  Default:  false  whether webhook is disabled  | 
Responses
Request samples
- Payload
 
{- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
}Response samples
- 201
 - 400
 - 502
 
{- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
}Get webhook details
Returns webhook
path Parameters
| id required  | string  unique id of the object  | 
Responses
Response samples
- 200
 - 400
 - 404
 - 500
 - 502
 
{- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
}Update new webhook
Update new webhook based on variables passed in request
path Parameters
| id required  | string  unique id of the object  | 
Request Body schema: required
webhook request body data
| name | string   | 
| namespace | string   | 
| uri required  | string   | 
| events required  | Array of strings (EventType)  Items Enum: "start-test" "end-test-success" "end-test-failed" "end-test-aborted" "end-test-timeout" "become-test-up" "become-test-down" "become-test-failed" "become-test-aborted" "become-test-timeout" "start-testsuite" "end-testsuite-success" "end-testsuite-failed" "end-testsuite-aborted" "end-testsuite-timeout" "become-testsuite-up" "become-testsuite-down" "become-testsuite-failed" "become-testsuite-aborted" "become-testsuite-timeout" "queue-testworkflow" "start-testworkflow" "end-testworkflow-success" "end-testworkflow-failed" "end-testworkflow-aborted" "become-testworkflow-up" "become-testworkflow-down" "become-testworkflow-failed" "become-testworkflow-aborted" "created" "updated" "deleted"    | 
| selector | string  Labels to filter for tests and test suites  | 
| payloadObjectField | string  will load the generated payload for notification inside the object  | 
| payloadTemplate | string  golang based template for notification payload  | 
| payloadTemplateReference | string  name of the template resource  | 
object  webhook headers (golang template supported)  | |
object  webhook labels  | |
object  webhook annotations  | |
| disabled | boolean  Default:  false  whether webhook is disabled  | 
Responses
Request samples
- Payload
 
{- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
}Response samples
- 200
 - 400
 - 404
 - 502
 
{- "name": "webhook1",
 - "namespace": "testkube",
 - "events": [
- "start-test"
 
], - "selector": "string",
 - "payloadObjectField": "string",
 - "payloadTemplate": "string",
 - "payloadTemplateReference": "string",
 - "headers": {
- "Content-Type": "application/xml"
 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "annotations": {
- "env": "prod",
 - "app": "backend"
 
}, - "disabled": [
- true,
 - false
 
] 
}