Testkube Agent /tests operations
Testkube API (1.0.0)
Download OpenAPI specification:Download
Testkube provides a Kubernetes-native framework for test definition, execution and results
List tests
List available tests
query Parameters
| selector | string  Labels to filter by  | 
| textSearch | string  Default:  ""  text to search in name and test name  | 
Responses
Response samples
- 200
 - 400
 - 502
 
[- {
- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
} 
]Create new test
Create new test based on file content, uri or git based data
Request Body schema: required
test details body
| name | string  test name  | 
| namespace | string  test namespace  | 
| description | string  test description  | 
| type | string  test type  | 
object (TestContent)    | |
| source | string  reference to test source resource  | 
| created | string <date-time>    | 
object  test labels  | |
| schedule | string  schedule to run test  | 
| readOnly | boolean  if test is offline and cannot be executed  | 
| uploads | Array of strings  list of file paths that will be needed from uploads  | 
object (ExecutionRequest)   test execution request body  | |
object (TestStatus)   test status  | 
Responses
Request samples
- Payload
 
{- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
}Response samples
- 201
 - 400
 - 502
 
{- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
}Update test
Update test based on test content or git based data
path Parameters
| id required  | string  unique id of the object  | 
Request Body schema: required
test details body
| name | string  test name  | 
| namespace | string  test namespace  | 
| description | string  test description  | 
| type | string  test type  | 
object (TestContent)    | |
| source | string  reference to test source resource  | 
| created | string <date-time>    | 
object  test labels  | |
| schedule | string  schedule to run test  | 
| readOnly | boolean  if test is offline and cannot be executed  | 
| uploads | Array of strings  list of file paths that will be needed from uploads  | 
object (ExecutionRequest)   test execution request body  | |
object (TestStatus)   test status  | 
Responses
Request samples
- Payload
 
{- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
}Response samples
- 200
 - 400
 - 404
 - 502
 
{- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
}Response samples
- 200
 - 400
 - 404
 - 502
 
{- "name": "test1",
 - "namespace": "testkube",
 - "description": "this test is used for that purpose",
 - "type": "postman/collection",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "source": "my-private-repository-test",
 - "created": "2022-07-30T06:54:15Z",
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "schedule": "* * * * *",
 - "readOnly": true,
 - "uploads": [
- "settings/config.txt"
 
], - "executionRequest": {
- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}, - "status": {
- "latestExecution": {
- "id": "62f395e004109209b50edfc4",
 - "number": 1,
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "status": "queued"
 
} 
} 
}Delete test
Deletes a test
path Parameters
| id required  | string  unique id of the object  | 
query Parameters
| skipDeleteExecutions | boolean  Default:  false  dont delete executions  | 
| skipDeleteCRD | boolean  Default:  false  dont delete CRD  | 
Responses
Response samples
- 404
 - 500
 - 502
 
[- {
- "title": "Invalid test name",
 - "status": 500,
 - "detail": "Your test name can't contain forbidden characters like \"}}}\" passed",
 
} 
]Abort all executions of a test
Abort all test executions
path Parameters
| id required  | string  unique id of the object  | 
Responses
Response samples
- 404
 - 500
 - 502
 
[- {
- "title": "Invalid test name",
 - "status": 500,
 - "detail": "Your test name can't contain forbidden characters like \"}}}\" passed",
 
} 
]Get test metrics
Gets test metrics for given tests executions, with particular execution status and timings
path Parameters
| id required  | string  unique id of the object  | 
query Parameters
| last | integer  Default:  7  last N days to show  | 
| limit | integer  Default:  7  limit records count same as pageSize  | 
Responses
Response samples
- 200
 - 500
 - 502
 
{- "passFailRatio": 50,
 - "executionDurationP50": "7m2.71s",
 - "executionDurationP50ms": 422,
 - "executionDurationP90": "7m2.71s",
 - "executionDurationP90ms": 422,
 - "executionDurationP95": "7m2.71s",
 - "executionDurationP95ms": 422,
 - "executionDurationP99": "7m2.71s",
 - "executionDurationP99ms": 422,
 - "totalExecutions": 2,
 - "failedExecutions": 1,
 - "executions": [
- {
- "executionId": "string",
 - "duration": "string",
 - "durationMs": 0,
 - "status": "string",
 - "name": "string",
 - "startTime": "2019-08-24T14:15:22Z"
 
} 
] 
}Starts new test execution
New test execution returns new execution details on successful execution start
path Parameters
| id required  | string  unique id of the object  | 
query Parameters
| namespace | string  Default:  "testkube"  Namespace of the object  | 
| testExecutionName | string  test execution name stated the test execution  | 
Request Body schema: application/jsonrequired
body passed to configure execution
| id | string <bson objectId>   execution id  | 
| name | string  test execution custom name  | 
| testSuiteName | string  unique test suite name (CRD Test suite name), if it's run as a part of test suite  | 
| number | integer  test execution number  | 
object  test execution labels  | |
| namespace | string  test kubernetes namespace ("testkube" when not set)  | 
| isVariablesFileUploaded | boolean  in case the variables file is too big, it will be uploaded  | 
| variablesFile | string  variables file content - need to be in format for particular executor (e.g. postman envs file)  | 
object (Variables)   execution variables passed to executor converted to vars for usage in tests  | |
| command | Array of strings  executor image command  | 
| args | Array of strings  additional executor binary arguments  | 
| args_mode | string  Enum: "append" "override" "replace"   usage mode for arguments  | 
| image | string  container image, executor will run inside this image  | 
Array of objects (LocalObjectReference)   container image pull secrets  | |
object  Deprecated   Environment variables passed to executor. Deprecated: use Basic Variables instead  | |
object  Deprecated   Execution variables passed to executor from secrets. Deprecated: use Secret Variables instead  | |
| sync | boolean  whether to start execution sync or async  | 
| httpProxy | string  http proxy for executor containers  | 
| httpsProxy | string  https proxy for executor containers  | 
| negativeTest | boolean  whether to run test as negative test  | 
| isNegativeTestChangedOnRun | boolean  whether negativeTest was changed by user  | 
| activeDeadlineSeconds | integer <int64>   duration in seconds the test may be active, until its stopped  | 
| uploads | Array of strings  list of file paths that need to be copied into the test from uploads  | 
| bucketName | string  minio bucket name to get uploads from  | 
object (ArtifactRequest)   artifact request body with test artifacts  | |
| jobTemplate | string  job template extensions  | 
| jobTemplateReference | string  name of the template resource  | 
| cronJobTemplate | string  cron job template extensions  | 
| cronJobTemplateReference | string  name of the template resource  | 
object (TestContentRequest)   test content request body  | |
| preRunScript | string  script to run before test execution  | 
| postRunScript | string  script to run after test execution  | 
| executePostRunScriptBeforeScraping | boolean  execute post run script before scraping (prebuilt executor only)  | 
| sourceScripts | boolean  run scripts using source command (container executor only)  | 
| scraperTemplate | string  scraper template extensions  | 
| scraperTemplateReference | string  name of the template resource  | 
| pvcTemplate | string  pvc template extensions  | 
| pvcTemplateReference | string  name of the template resource  | 
Array of objects (EnvReference)   config map references  | |
Array of objects (EnvReference)   secret references  | |
object (RunningContext)   running context for test or test suite execution  | |
| testExecutionName | string  test execution name started the test execution  | 
| downloadArtifactExecutionIDs | Array of strings  execution ids for artifacts to download  | 
| downloadArtifactTestNames | Array of strings  test names for artifacts to download from latest executions  | 
object (PodRequest)   pod request body  | |
| executionNamespace | string  namespace for test execution (Pro edition only)  | 
| disableWebhooks | boolean  Default:  false  whether webhooks on this execution are disabled  | 
Responses
Request samples
- Payload
 
{- "id": "62f395e004109209b50edfc1",
 - "name": "testing with 1000 users",
 - "testSuiteName": "test-suite1",
 - "number": 0,
 - "executionLabels": {
- "users": "3",
 - "prefix": "some-"
 
}, - "namespace": "testkube",
 - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "command": [
- "curl"
 
], - "args": [
- "--repeats",
 - "5",
 - "--insecure"
 
], - "args_mode": "append",
 - "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
 - "imagePullSecrets": [
- {
- "name": "string"
 
} 
], - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "secretEnvs": {
- "secret_key_name1": "secret-name",
 - "secret_Key_name2": "secret-name"
 
}, - "sync": true,
 - "httpProxy": "user:pass@my.proxy.server:8080",
 - "httpsProxy": "user:pass@my.proxy.server:8081",
 - "negativeTest": false,
 - "isNegativeTestChangedOnRun": false,
 - "activeDeadlineSeconds": 1,
 - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "jobTemplate": "string",
 - "jobTemplateReference": "string",
 - "cronJobTemplate": "string",
 - "cronJobTemplateReference": "string",
 - "contentRequest": {
- "repository": {
- "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "workingDir": "/"
 
} 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "scraperTemplate": "string",
 - "scraperTemplateReference": "string",
 - "pvcTemplate": "string",
 - "pvcTemplateReference": "string",
 - "envConfigMaps": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "envSecrets": [
- {
- "reference": {
- "name": "string"
 
}, - "mount": "/etc/data",
 - "mountPath": "string",
 - "mapToVariables": false
 
} 
], - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}Response samples
- 201
 - 400
 - 404
 - 500
 - 502
 
{- "status": "queued",
 - "output": "string",
 - "outputType": "text/plain",
 - "errorMessage": "string",
 - "steps": [
- {
- "name": "step1",
 - "duration": "10m0s",
 - "status": "passed",
 - "assertionResults": [
- {
- "name": "assertion1",
 - "status": "passed",
 - "errorMessage": "string"
 
} 
] 
} 
], - "reports": {
- "junit": "string"
 
} 
}Get all test executions
Returns array of all available test executions
path Parameters
| id required  | string  unique id of the object  | 
query Parameters
| last | integer  Default:  7  last N days to show  | 
| pageSize | integer  Default:  100  the number of executions to get, setting to 0 will return only totals  | 
| page | integer  Default:  0  the page index to start at  | 
| status | string (ExecutionStatus)   Enum: "queued" "running" "passed" "failed" "aborted" "timeout" "skipped"   optional status filter containing multiple values separated by comma  | 
| startDate | string <date>   startDate for filtering in ISO-8601 format, i.e. "yyyy-mm-dd"  | 
| endDate | string <date>   endDate for filtering  | 
Responses
Response samples
- 200
 - 404
 - 500
 
{- "totals": {
- "results": 0,
 - "passed": 0,
 - "failed": 0,
 - "queued": 0,
 - "running": 0
 
}, - "filtered": {
- "results": 0,
 - "passed": 0,
 - "failed": 0,
 - "queued": 0,
 - "running": 0
 
}, - "results": [
- {
- "id": "62f395e004109209b50edfc4",
 - "name": "test-suite1-test1",
 - "number": 1,
 - "testName": "test1",
 - "testNamespace": "testkube",
 - "testType": "postman/collection",
 - "status": "queued",
 - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "duration": "00:00:13",
 - "durationMs": 10000,
 - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
} 
} 
] 
}Get test execution
Returns execution with given executionID
path Parameters
| id required  | string  unique id of the object  | 
| executionID required  | string  unique id of the object execution  | 
Responses
Response samples
- 200
 - 404
 - 500
 - 502
 
{- "id": "62f395e004109209b50edfc4",
 - "testName": "example-test",
 - "testSuiteName": "test-suite1",
 - "testNamespace": "testkube",
 - "testType": "postman/collection",
 - "name": "test-suite1-example-test-1",
 - "number": 1,
 - "envs": {
- "record": "true",
 - "prefix": "some-"
 
}, - "command": [
- "curl"
 
], - "args": [
- "--concurrency",
 - "2",
 - "--remote",
 - "--some",
 - "blabla"
 
], - "args_mode": "append",
 - "variables": {
- "var1": {
- "name": "var1",
 - "type": "basic",
 - "value": "value1"
 
}, - "secret1": {
- "name": "secret1",
 - "type": "secret",
 - "value": "secretvalue1"
 
} 
}, - "isVariablesFileUploaded": false,
 - "variablesFile": "string",
 - "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
 - "content": {
- "type": "string",
 - "repository": {
- "type": "git",
 - "branch": "main",
 - "commit": "b928cbb7186944ab9275937ec1ac3d3738ca2e1d",
 - "path": "test/perf",
 - "username": "string",
 - "token": "string",
 - "usernameSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "tokenSecret": {
- "namespace": "string",
 - "name": "string",
 - "key": "string"
 
}, - "certificateSecret": "string",
 - "workingDir": "/",
 - "authType": "basic"
 
}, - "data": "string",
 
}, - "startTime": "2019-08-24T14:15:22Z",
 - "endTime": "2019-08-24T14:15:22Z",
 - "duration": "88s",
 - "durationMs": 10000,
 - "executionResult": {
- "status": "queued",
 - "output": "string",
 - "outputType": "text/plain",
 - "errorMessage": "string",
 - "steps": [
- {
- "name": "step1",
 - "duration": "10m0s",
 - "status": "passed",
 - "assertionResults": [
- {
- "name": "assertion1",
 - "status": "passed",
 - "errorMessage": "string"
 
} 
] 
} 
], - "reports": {
- "junit": "string"
 
} 
}, - "labels": {
- "env": "prod",
 - "app": "backend"
 
}, - "uploads": [
- "settings/config.txt"
 
], - "bucketName": "execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43",
 - "artifactRequest": {
- "storageClassName": "artifact-volume-local",
 - "volumeMountPath": "string",
 - "dirs": [
- "string"
 
], - "masks": [
- "string"
 
], - "storageBucket": "test1-artifacts",
 - "omitFolderPerExecution": true,
 - "sharedBetweenPods": true,
 - "useDefaultStorageClassName": true,
 - "sidecarScraper": true
 
}, - "preRunScript": "echo -n '$SECRET_ENV' > ./secret_file",
 - "postRunScript": "sleep 30",
 - "executePostRunScriptBeforeScraping": true,
 - "sourceScripts": true,
 - "runningContext": {
- "type": "userCLI",
 - "context": "string"
 
}, - "containerShell": "/bin/sh",
 - "testExecutionName": "string",
 - "downloadArtifactExecutionIDs": [
- "string"
 
], - "downloadArtifactTestNames": [
- "string"
 
], - "slavePodRequest": {
- "resources": {
- "requests": {
- "cpu": "250m",
 - "memory": "64Mi"
 
}, - "limits": {
- "cpu": "250m",
 - "memory": "64Mi"
 
} 
}, - "podTemplate": "string",
 - "podTemplateReference": "string"
 
}, - "executionNamespace": "string",
 - "disableWebhooks": [
- true,
 - false
 
] 
}Aborts execution
Aborts execution with given executionID
path Parameters
| id required  | string  unique id of the object  | 
| executionID required  | string  unique id of the object execution  | 
Responses
Response samples
- 502
 
[- {
- "title": "Invalid test name",
 - "status": 500,
 - "detail": "Your test name can't contain forbidden characters like \"}}}\" passed",
 
} 
]