Skip to main content

Testkube API (1.0.0)

Download OpenAPI specification:Download

E-mail: testkube@kubeshop.io License: MIT

Testkube provides a Kubernetes-native framework for test definition, execution and results

api

Testkube API operations

Test triggers keymap

Returns a keymap (supported/allowed fields) for the test trigger UI screen

Responses

Response samples

Content type
application/json
{
  • "resources": [
    ],
  • "actions": [
    ],
  • "executions": [
    ],
  • "events": {
    }
}

List test triggers

List test triggers from the kubernetes cluster

query Parameters
namespace
string

Namespace of the object

selector
string

Labels to filter by

Responses

Response samples

Content type
[
  • {
    }
]

Create new test trigger

Create new test trigger CRD inside a Kubernetes cluster

Request Body schema: application/json

test trigger body

name
required
string

object name

namespace
required
string

object kubernetes namespace

object

test trigger labels

resource
required
string (TestTriggerResources)
Enum: "pod" "deployment" "statefulset" "daemonset" "service" "ingress" "event"

supported kubernetes resources for test triggers

required
object (TestTriggerSelector)
event
required
string

listen for event for selected resource

action
required
string (TestTriggerActions)
Value: "run"

supported actions for test triggers

execution
required
string (TestTriggerExecutions)
Enum: "test" "testsuite"

supported test resources for test triggers

required
object (TestTriggerSelector)

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "namespace": "testkube",
  • "labels": {
    },
  • "resource": "pod",
  • "resourceSelector": {
    },
  • "event": "modified",
  • "action": "run",
  • "execution": "test",
  • "testSelector": {
    }
}

Response samples

Content type
{
  • "name": "test1",
  • "namespace": "testkube",
  • "labels": {
    },
  • "resource": "pod",
  • "resourceSelector": {
    },
  • "event": "modified",
  • "action": "run",
  • "execution": "test",
  • "testSelector": {
    }
}

Delete test triggers

Deletes all or labeled test triggers

query Parameters
namespace
string

Namespace of the object

selector
string

Labels to filter by

Responses

Response samples

Content type
application/problem+json
[]

Get test trigger by ID

Get test trigger by ID from CRD in kubernetes cluster

path Parameters
id
required
string

unique id of the object

query Parameters
namespace
string

Namespace of the object

Responses

Response samples

Content type
{
  • "name": "test1",
  • "namespace": "testkube",
  • "labels": {
    },
  • "resource": "pod",
  • "resourceSelector": {
    },
  • "event": "modified",
  • "action": "run",
  • "execution": "test",
  • "testSelector": {
    }
}

Update test trigger

Update test trigger

path Parameters
id
required
string

unique id of the object

query Parameters
namespace
string

Namespace of the object

Request Body schema: application/json

test trigger details body

name
required
string

object name

namespace
required
string

object kubernetes namespace

object

test trigger labels

resource
required
string (TestTriggerResources)
Enum: "pod" "deployment" "statefulset" "daemonset" "service" "ingress" "event"

supported kubernetes resources for test triggers

required
object (TestTriggerSelector)
event
required
string

listen for event for selected resource

action
required
string (TestTriggerActions)
Value: "run"

supported actions for test triggers

execution
required
string (TestTriggerExecutions)
Enum: "test" "testsuite"

supported test resources for test triggers

required
object (TestTriggerSelector)

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "namespace": "testkube",
  • "labels": {
    },
  • "resource": "pod",
  • "resourceSelector": {
    },
  • "event": "modified",
  • "action": "run",
  • "execution": "test",
  • "testSelector": {
    }
}

Response samples

Content type
{
  • "name": "test1",
  • "namespace": "testkube",
  • "labels": {
    },
  • "resource": "pod",
  • "resourceSelector": {
    },
  • "event": "modified",
  • "action": "run",
  • "execution": "test",
  • "testSelector": {
    }
}

Delete test trigger

Deletes a test trigger

path Parameters
id
required
string

unique id of the object

query Parameters
namespace
string

Namespace of the object

Responses

Response samples

Content type
application/problem+json
[]

Create new test suite

Create new test suite action

Request Body schema: application/json

test details body

name
required
string

object name

namespace
required
string

object kubernetes namespace

description
string
Array of objects (TestSuiteStep)

Run this step before whole suite

required
Array of objects (TestSuiteStep)

Steps to run

Array of objects (TestSuiteStep)

Run this step after whole suite

object

test suite labels

schedule
string

schedule to run test suite

repeats
integer
Default: 1
created
string <date-time>
object (TestSuiteExecutionRequest)

test suite execution request body

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "namespace": "testkube",
  • "description": "collection of tests",
  • "before": [
    ],
  • "steps": [
    ],
  • "after": [
    ],
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "repeats": 1,
  • "created": "2019-08-24T14:15:22Z",
  • "executionRequest": {
    }
}

Response samples

Content type
application/json
{
  • "name": "test-suite1",
  • "namespace": "testkube",
  • "description": "collection of tests",
  • "before": [
    ],
  • "steps": [
    ],
  • "after": [
    ],
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "repeats": 1,
  • "created": "2019-08-24T14:15:22Z",
  • "executionRequest": {
    }
}

Get all test suites

Returns array of test suites

query Parameters
selector
string

Labels to filter by

textSearch
string
Default: ""

text to search in name and test name

Responses

Response samples

Content type
[
  • {
    }
]

Delete test suites

Deletes all or labeled test suites

query Parameters
selector
string

Labels to filter by

Responses

Response samples

Content type
application/problem+json
[]

Get test suite by ID

Returns test suite with given name

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
{
  • "name": "test-suite1",
  • "namespace": "testkube",
  • "description": "collection of tests",
  • "before": [
    ],
  • "steps": [
    ],
  • "after": [
    ],
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "repeats": 1,
  • "created": "2019-08-24T14:15:22Z",
  • "executionRequest": {
    }
}

Update test suite

Update test based on test suite content or git based data

path Parameters
id
required
string

unique id of the object

Request Body schema: application/json

test suite details body

name
required
string

object name

namespace
required
string

object kubernetes namespace

description
string
Array of objects (TestSuiteStep)

Run this step before whole suite

required
Array of objects (TestSuiteStep)

Steps to run

Array of objects (TestSuiteStep)

Run this step after whole suite

object

test suite labels

schedule
string

schedule to run test suite

repeats
integer
Default: 1
created
string <date-time>
object (TestSuiteExecutionRequest)

test suite execution request body

Responses

Request samples

Content type
application/json
{
  • "name": "name",
  • "namespace": "testkube",
  • "description": "collection of tests",
  • "before": [
    ],
  • "steps": [
    ],
  • "after": [
    ],
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "repeats": 1,
  • "created": "2019-08-24T14:15:22Z",
  • "executionRequest": {
    }
}

Response samples

Content type
application/json
{
  • "name": "test-suite1",
  • "namespace": "testkube",
  • "description": "collection of tests",
  • "before": [
    ],
  • "steps": [
    ],
  • "after": [
    ],
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "repeats": 1,
  • "created": "2019-08-24T14:15:22Z",
  • "executionRequest": {
    }
}

Delete test suite

Deletes a test suite

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
application/problem+json
[]

Get test suite metrics

Gets test suite 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

Content type
{
  • "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": [
    ]
}

List tests for test suite

List available tests for test suite

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
[
  • {
    }
]

Get all test suite with executions

Returns array of test suite with executions

query Parameters
selector
string

Labels to filter by

textSearch
string
Default: ""

text to search in name and test name

status
string (TestSuiteExecutionStatus)
Enum: "queued" "running" "passed" "failed" "cancelled"

optional status filter containing multiple values separated by comma

Responses

Response samples

Content type
[
  • {
    }
]

Get test suite by ID with execution

Returns test suite with given name with execution

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
{
  • "testSuite": {
    },
  • "latestExecution": {
    }
}

Starts new test suite execution

New test suite execution returns new execution details on successful execution start

path Parameters
id
required
string

unique id of the object

query Parameters
namespace
string

Namespace of the object

last
integer
Default: 7

last N days to show

Request Body schema: application/json

body passed to configure execution

name
string

test execution custom name

number
integer

test suite execution number

namespace
string

test kubernetes namespace ("testkube" when not set)

object (Variables)

execution variables passed to executor converted to vars for usage in tests

object

test suite labels

object

execution labels

sync
boolean

whether to start execution sync or async

httpProxy
string

http proxy for executor containers

httpsProxy
string

https proxy for executor containers

Responses

Request samples

Content type
application/json
{
  • "name": "testing with 1000 users",
  • "number": 1,
  • "namespace": "testkube",
  • "variables": {
    },
  • "labels": {
    },
  • "executionLabels": {
    },
  • "sync": true,
  • "httpProxy": "user:pass@my.proxy.server:8080",
  • "httpsProxy": "user:pass@my.proxy.server:8081"
}

Response samples

Content type
application/json
{
  • "totals": {
    },
  • "filtered": {
    },
  • "results": [
    ]
}

Get all test suite executions

Returns array of all available test suite executions

path Parameters
id
required
string

unique id of the object

query Parameters
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 (TestSuiteExecutionStatus)
Enum: "queued" "running" "passed" "failed" "cancelled"

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

Content type
application/json
{
  • "totals": {
    },
  • "filtered": {
    },
  • "results": [
    ]
}

Get test suite execution

Returns test suite 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

Content type
application/json
{
  • "id": "62f395e004109209b50edfc1",
  • "name": "test-suite1.needlessly-sweet-imp",
  • "testSuite": {
    },
  • "status": "queued",
  • "envs": {
    },
  • "variables": {
    },
  • "secretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "duration": "2m",
  • "durationMs": 6000,
  • "stepResults": [
    ],
  • "labels": {
    }
}

Starts new test suite executions

New test suite executions returns new executions details on successful executions start

query Parameters
namespace
string

Namespace of the object

selector
string

Labels to filter by

concurrency
integer
Default: 10
Request Body schema: application/json

body passed to configure executions

name
string

test execution custom name

number
integer

test suite execution number

namespace
string

test kubernetes namespace ("testkube" when not set)

object (Variables)

execution variables passed to executor converted to vars for usage in tests

object

test suite labels

object

execution labels

sync
boolean

whether to start execution sync or async

httpProxy
string

http proxy for executor containers

httpsProxy
string

https proxy for executor containers

Responses

Request samples

Content type
application/json
{
  • "name": "testing with 1000 users",
  • "number": 1,
  • "namespace": "testkube",
  • "variables": {
    },
  • "labels": {
    },
  • "executionLabels": {
    },
  • "sync": true,
  • "httpProxy": "user:pass@my.proxy.server:8080",
  • "httpsProxy": "user:pass@my.proxy.server:8081"
}

Response samples

Content type
application/json
[
  • {
    }
]

Get all test suite executions

Returns array of test suite executions

query Parameters
last
integer
Default: 7

last N days to show

test
string
Default: ""

test namespaced name to filter

textSearch
string
Default: ""

text to search in name and test name

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 (TestSuiteExecutionStatus)
Enum: "queued" "running" "passed" "failed" "cancelled"

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

selector
string

Labels to filter by

Responses

Response samples

Content type
application/json
{
  • "totals": {
    },
  • "filtered": {
    },
  • "results": [
    ]
}

Get test suite execution by ID

Returns test suite execution with given executionID

path Parameters
id
required
string

unique id of the object

query Parameters
last
integer
Default: 7

last N days to show

Responses

Response samples

Content type
application/json
{
  • "id": "62f395e004109209b50edfc1",
  • "name": "test-suite1.needlessly-sweet-imp",
  • "testSuite": {
    },
  • "status": "queued",
  • "envs": {
    },
  • "variables": {
    },
  • "secretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "duration": "2m",
  • "durationMs": 6000,
  • "stepResults": [
    ],
  • "labels": {
    }
}

Starts new test executions

New test executions returns new executions details on successful executions start

query Parameters
namespace
string

Namespace of the object

selector
string

Labels to filter by

executionSelector
string

Execution Labels to add to executions

concurrency
integer
Default: 10
Request Body schema: application/json

body passed to configure executions

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)

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

args
Array of strings

additional executor binary arguments

image
string

container image, executor will run inside this image

object

environment variables passed to executor

object

execution variables passed to executor from secrets

sync
boolean

whether to start execution sync or async

httpProxy
string

http proxy for executor containers

httpsProxy
string

https proxy for executor containers

object

map of files with target location as key and contents as value

Responses

Request samples

Content type
application/json
{
  • "name": "testing with 1000 users",
  • "testSuiteName": "test-suite1",
  • "number": 0,
  • "executionLabels": {
    },
  • "namespace": "testkube",
  • "variablesFile": "string",
  • "variables": {
    },
  • "args": [
    ],
  • "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
  • "envs": {
    },
  • "secretEnvs": {
    },
  • "sync": true,
  • "httpProxy": "user:pass@my.proxy.server:8080",
  • "httpsProxy": "user:pass@my.proxy.server:8081",
  • "copyFiles": {
    }
}

Response samples

Content type
application/json
[
  • {
    }
]

Get all test executions

Returns array of test executions

query Parameters
test
string
Default: ""

test namespaced name to filter

type
string
Default: ""

object type

textSearch
string
Default: ""

text to search in name and test name

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" "cancelled"

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

selector
string

Labels to filter by

Responses

Response samples

Content type
application/json
{
  • "totals": {
    },
  • "filtered": {
    },
  • "results": [
    ]
}

Get test execution by ID

Returns execution with given executionID

path Parameters
executionID
required
string

unique id of the object execution

Responses

Response samples

Content type
application/json
{
  • "id": "62f395e004109209b50edfc4",
  • "testName": "example-test",
  • "testSuiteName": "test-suite1",
  • "testNamespace": "testkube",
  • "testType": "postman/collection",
  • "name": "test-suite1-example-test-1",
  • "number": 1,
  • "envs": {
    },
  • "args": [
    ],
  • "variables": {
    },
  • "variablesFile": "string",
  • "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "content": {
    },
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "duration": "88s",
  • "executionResult": {
    },
  • "labels": {
    },
  • "copyFiles": {
    }
}

Get execution's artifacts by ID

Returns artifacts of the given executionID

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get execution's logs by ID

Returns logs of the given executionID

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Download artifact

Download the artifact file from the given execution

path Parameters
id
required
string

unique id of the object

filename
required
string

filename of the object usually used for artifacts

Responses

Response samples

Content type
application/problem+json
[]

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

Content type
[
  • {
    }
]

Create new test

Create new test based on file content, uri or git based data

Request Body schema: application/json

test details body

name
string

test name

namespace
string

test namespace

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

copyFiles
Array of strings

list of files that need to be copied into the test of form source:destination

object (ExecutionRequest)

test execution request body

Responses

Request samples

Content type
application/json
{
  • "name": "test1",
  • "namespace": "testkube",
  • "type": "postman/collection",
  • "content": {
    },
  • "source": "my-private-repository-test",
  • "created": "2022-07-30T06:54:15Z",
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "copyFiles": [
    ],
  • "executionRequest": {
    }
}

Response samples

Content type
application/json
{
  • "name": "test1",
  • "namespace": "testkube",
  • "type": "postman/collection",
  • "content": {
    },
  • "source": "my-private-repository-test",
  • "created": "2022-07-30T06:54:15Z",
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "copyFiles": [
    ],
  • "executionRequest": {
    }
}

Delete tests

Deletes all or labeled tests

query Parameters
selector
string

Labels to filter by

Responses

Response samples

Content type
application/problem+json
[]

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: application/json

test details body

name
string

test name

namespace
string

test namespace

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

copyFiles
Array of strings

list of files that need to be copied into the test of form source:destination

object (ExecutionRequest)

test execution request body

Responses

Request samples

Content type
application/json
{
  • "name": "test1",
  • "namespace": "testkube",
  • "type": "postman/collection",
  • "content": {
    },
  • "source": "my-private-repository-test",
  • "created": "2022-07-30T06:54:15Z",
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "copyFiles": [
    ],
  • "executionRequest": {
    }
}

Response samples

Content type
application/json
{
  • "name": "test1",
  • "namespace": "testkube",
  • "type": "postman/collection",
  • "content": {
    },
  • "source": "my-private-repository-test",
  • "created": "2022-07-30T06:54:15Z",
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "copyFiles": [
    ],
  • "executionRequest": {
    }
}

Get test

Gets the specified test

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
{
  • "name": "test1",
  • "namespace": "testkube",
  • "type": "postman/collection",
  • "content": {
    },
  • "source": "my-private-repository-test",
  • "created": "2022-07-30T06:54:15Z",
  • "labels": {
    },
  • "schedule": "* * * * *",
  • "copyFiles": [
    ],
  • "executionRequest": {
    }
}

Delete test

Deletes a test

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
application/problem+json
[]

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

Content type
{
  • "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": [
    ]
}

List test with executions

List available test with executions

query Parameters
selector
string

Labels to filter by

textSearch
string
Default: ""

text to search in name and test name

status
string (ExecutionStatus)
Enum: "queued" "running" "passed" "failed" "cancelled"

optional status filter containing multiple values separated by comma

Responses

Response samples

Content type
[
  • {
    }
]

Get test with execution

Gets the specified test with execution

path Parameters
id
required
string

unique id of the object

Responses

Response samples

Content type
{
  • "test": {
    },
  • "latestExecution": {
    }
}

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

Namespace of the object

Request Body schema: application/json

body passed to configure execution

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)

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

args
Array of strings

additional executor binary arguments

image
string

container image, executor will run inside this image

object

environment variables passed to executor

object

execution variables passed to executor from secrets

sync
boolean

whether to start execution sync or async

httpProxy
string

http proxy for executor containers

httpsProxy
string

https proxy for executor containers

object

map of files with target location as key and contents as value

Responses

Request samples

Content type
application/json
{
  • "name": "testing with 1000 users",
  • "testSuiteName": "test-suite1",
  • "number": 0,
  • "executionLabels": {
    },
  • "namespace": "testkube",
  • "variablesFile": "string",
  • "variables": {
    },
  • "args": [
    ],
  • "image": "kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91",
  • "envs": {
    },
  • "secretEnvs": {
    },
  • "sync": true,
  • "httpProxy": "user:pass@my.proxy.server:8080",
  • "httpsProxy": "user:pass@my.proxy.server:8081",
  • "copyFiles": {
    }
}

Response samples

Content type
application/json
{
  • "status": "queued",
  • "output": "string",
  • "outputType": "text/plain",
  • "errorMessage": "string",
  • "steps": [
    ],
  • "reports": {
    }
}

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" "cancelled"

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

Content type
application/json
{
  • "totals": {
    },
  • "filtered": {
    },
  • "results": [
    ]
}

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

Content type
application/json
{
  • "id": "62f395e004109209b50edfc4",
  • "testName": "example-test",
  • "testSuiteName": "test-suite1",
  • "testNamespace": "testkube",
  • "testType": "postman/collection",
  • "name": "test-suite1-example-test-1",
  • "number": 1,
  • "envs": {
    },
  • "args": [
    ],
  • "variables": {
    },
  • "variablesFile": "string",
  • "testSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "testSuiteSecretUUID": "7934600f-b367-48dd-b981-4353304362fb",
  • "content": {
    },
  • "startTime": "2019-08-24T14:15:22Z",
  • "endTime": "2019-08-24T14:15:22Z",
  • "duration": "88s",
  • "executionResult": {
    },
  • "labels": {
    },
  • "copyFiles": {
    }
}

Aborts execution

Aborts execution and returns execution details

path Parameters
id
required
string

unique id of the object

executionID
required
string

unique id of the object execution

Responses

Response samples

Content type
application/json
{
  • "status": "queued",
  • "output": "string",
  • "outputType": "text/plain",
  • "errorMessage": "string",
  • "steps": [
    ],
  • "reports": {
    }
}

List executors

List executors available in cluster

query Parameters
namespace
string

Namespace of the object

selector
string

Labels to filter by

Responses

Response samples

Content type
[
  • {
    }
]

Create new executor

Create new executor based on variables passed in request

Request Body schema: application/json

executor request body data

executorType
string

ExecutorType one of "rest" for rest openapi based executors or "job" which will be default runners for testkube soon

image
string

Image for kube-job

types
required
Array of strings

Types defines what types can be handled by executor e.g. "postman/collection", ":curl/command" etc

uri
string

URI for rest based executors

jobTemplate
string

Job template to launch executor

object

executor labels

features
Array of strings
Items Enum: "artifacts" "junit-report"

Available executor features

namespace
required
string

object kubernetes namespace

name
required
string

object name

Responses

Request samples

Content type
application/json
{
  • "executorType": "string",
  • "image": "string",
  • "types": [
    ],
  • "uri": "string",
  • "jobTemplate": "string",
  • "labels": {
    },
  • "features": [
    ],
  • "namespace": "testkube",
  • "name": "name"
}

Response samples

Content type
application/json
{
  • "name": "string",
  • "executor": {
    },
  • "executions": {
    }
}

Delete executors

Deletes labeled executors

query Parameters
selector
string

Labels to filter by

Responses

Response samples

Content type
application/problem+json
[]

Delete executor

Deletes executor by its name

path Parameters
id
required
string

unique id of the object

query Parameters
namespace
string

Namespace of the object

Responses

Response samples

Content type
application/problem+json
[