github.com/kubeshop/testkube@v1.17.23/api/v1/testkube.yaml (about)

     1  openapi: 3.0.1
     2  
     3  info:
     4    title: Testkube API
     5    description: "Testkube provides a Kubernetes-native framework for test definition, execution and results"
     6    contact:
     7      email: testkube@kubeshop.io
     8    license:
     9      name: MIT
    10      url: https://opensource.org/licenses/MIT
    11    version: 1.0.0
    12  
    13  externalDocs:
    14    description: "Find out more about Testkube"
    15    url: https://testkube.kubeshop.io/
    16  
    17  tags:
    18    - name: api
    19      description: "Testkube API operations"
    20    - name: tests
    21      description: "Tests operations"
    22    - name: executions
    23      description: "Test suites and tests execution operations"
    24    - name: test-suites
    25      description: "Test suites orchestration operations"
    26    - name: labels
    27      description: "Listing all available labels"
    28    - name: artifacts
    29      description: "Artifact operations"
    30    - name: logs
    31      description: "Log operations"
    32    - name: executor
    33      description: "Executor operations"
    34    - name: webhook
    35      description: "Webhook operations"
    36    - name: test-triggers
    37      description: "Test Triggers CRUD operations"
    38    - name: keymap
    39      description: "Keymap for fields in a form"
    40  
    41  paths:
    42    /keymap/triggers:
    43      get:
    44        tags:
    45          - keymap
    46          - api
    47        summary: Test triggers keymap
    48        description: Returns a keymap (supported/allowed fields) for the test trigger UI screen
    49        operationId: getKeyMap
    50        responses:
    51          200:
    52            description: successful get operation
    53            content:
    54              application/json:
    55                schema:
    56                  $ref: "#/components/schemas/TestTriggerKeyMap"
    57  
    58    /triggers:
    59      get:
    60        tags:
    61          - test-triggers
    62          - api
    63        parameters:
    64          - $ref: "#/components/parameters/Namespace"
    65          - $ref: "#/components/parameters/Selector"
    66        summary: List test triggers
    67        description: List test triggers from the kubernetes cluster
    68        operationId: listTestTriggers
    69        responses:
    70          200:
    71            description: successful list operation
    72            content:
    73              application/json:
    74                schema:
    75                  type: array
    76                  items:
    77                    $ref: "#/components/schemas/TestTrigger"
    78              text/yaml:
    79                schema:
    80                  type: string
    81          400:
    82            description: "problem with selector parsing - probably some bad input occurs"
    83            content:
    84              application/problem+json:
    85                schema:
    86                  type: array
    87                  items:
    88                    $ref: "#/components/schemas/Problem"
    89          502:
    90            description: problem communicating with kubernetes cluster
    91            content:
    92              application/problem+json:
    93                schema:
    94                  type: array
    95                  items:
    96                    $ref: "#/components/schemas/Problem"
    97  
    98      post:
    99        tags:
   100          - test-triggers
   101          - api
   102        summary: "Create new test trigger"
   103        description: "Create new test trigger CRD inside a Kubernetes cluster"
   104        operationId: createTestTrigger
   105        requestBody:
   106          description: test trigger body
   107          required: true
   108          content:
   109            application/json:
   110              schema:
   111                $ref: "#/components/schemas/TestTriggerUpsertRequest"
   112            text/yaml:
   113              schema:
   114                type: string
   115        responses:
   116          200:
   117            description: "successful operation"
   118            content:
   119              application/json:
   120                schema:
   121                  $ref: "#/components/schemas/TestTrigger"
   122              text/yaml:
   123                schema:
   124                  type: string
   125          400:
   126            description: "problem with test trigger definition - probably some bad input occurs (invalid JSON body or similar)"
   127            content:
   128              application/problem+json:
   129                schema:
   130                  type: array
   131                  items:
   132                    $ref: "#/components/schemas/Problem"
   133          502:
   134            description: problem communicating with kubernetes cluster
   135            content:
   136              application/problem+json:
   137                schema:
   138                  type: array
   139                  items:
   140                    $ref: "#/components/schemas/Problem"
   141  
   142      patch:
   143        tags:
   144          - test-triggers
   145          - api
   146        summary: "Bulk update test triggers"
   147        description: "Updates test triggers provided as an array in the request body"
   148        operationId: bulkUpdateTestTriggers
   149        requestBody:
   150          description: array of test trigger upsert requests
   151          required: true
   152          content:
   153            application/json:
   154              schema:
   155                type: array
   156                items:
   157                  $ref: "#/components/schemas/TestTriggerUpsertRequest"
   158        responses:
   159          200:
   160            description: "successful operation"
   161            content:
   162              application/json:
   163                schema:
   164                  type: array
   165                  items:
   166                    $ref: "#/components/schemas/TestTrigger"
   167          400:
   168            description: "problem with test trigger definition - probably some bad input occurs (invalid JSON body or similar)"
   169            content:
   170              application/problem+json:
   171                schema:
   172                  type: array
   173                  items:
   174                    $ref: "#/components/schemas/Problem"
   175          502:
   176            description: problem communicating with kubernetes cluster
   177            content:
   178              application/problem+json:
   179                schema:
   180                  type: array
   181                  items:
   182                    $ref: "#/components/schemas/Problem"
   183  
   184      delete:
   185        tags:
   186          - test-triggers
   187          - api
   188        summary: "Delete test triggers"
   189        description: "Deletes all or labeled test triggers"
   190        operationId: deleteTestTriggers
   191        parameters:
   192          - $ref: "#/components/parameters/Namespace"
   193          - $ref: "#/components/parameters/Selector"
   194        responses:
   195          204:
   196            description: "no content"
   197          400:
   198            description: "problem with selector parsing - probably some bad input occurs"
   199            content:
   200              application/problem+json:
   201                schema:
   202                  type: array
   203                  items:
   204                    $ref: "#/components/schemas/Problem"
   205          404:
   206            description: "test trigger not found"
   207            content:
   208              application/problem+json:
   209                schema:
   210                  type: array
   211                  items:
   212                    $ref: "#/components/schemas/Problem"
   213          502:
   214            description: problem communicating with kubernetes cluster
   215            content:
   216              application/problem+json:
   217                schema:
   218                  type: array
   219                  items:
   220                    $ref: "#/components/schemas/Problem"
   221  
   222    /triggers/{id}:
   223      get:
   224        parameters:
   225          - $ref: "#/components/parameters/ID"
   226          - $ref: "#/components/parameters/Namespace"
   227        tags:
   228          - test-triggers
   229          - api
   230        summary: Get test trigger by ID
   231        description: Get test trigger by ID from CRD in kubernetes cluster
   232        operationId: getTestTriggerByID
   233        responses:
   234          200:
   235            description: successful operation
   236            content:
   237              application/json:
   238                schema:
   239                  $ref: "#/components/schemas/TestTrigger"
   240              text/yaml:
   241                schema:
   242                  type: string
   243          404:
   244            description: "test trigger not found"
   245            content:
   246              application/problem+json:
   247                schema:
   248                  type: array
   249                  items:
   250                    $ref: "#/components/schemas/Problem"
   251          502:
   252            description: problem communicating with kubernetes cluster
   253            content:
   254              application/problem+json:
   255                schema:
   256                  type: array
   257                  items:
   258                    $ref: "#/components/schemas/Problem"
   259  
   260      patch:
   261        parameters:
   262          - $ref: "#/components/parameters/ID"
   263          - $ref: "#/components/parameters/Namespace"
   264        tags:
   265          - test-triggers
   266          - api
   267        summary: "Update test trigger"
   268        description: "Update test trigger"
   269        operationId: updateTestTrigger
   270        requestBody:
   271          description: test trigger upsert request
   272          required: true
   273          content:
   274            application/json:
   275              schema:
   276                $ref: "#/components/schemas/TestTriggerUpsertRequest"
   277            text/yaml:
   278              schema:
   279                type: string
   280        responses:
   281          200:
   282            description: "successful operation"
   283            content:
   284              application/json:
   285                schema:
   286                  $ref: "#/components/schemas/TestTrigger"
   287          400:
   288            description: "problem with test trigger definition - probably some bad input occurs (invalid JSON body or similar)"
   289            content:
   290              application/problem+json:
   291                schema:
   292                  type: array
   293                  items:
   294                    $ref: "#/components/schemas/Problem"
   295          404:
   296            description: "test trigger not found"
   297            content:
   298              application/problem+json:
   299                schema:
   300                  type: array
   301                  items:
   302                    $ref: "#/components/schemas/Problem"
   303          502:
   304            description: problem communicating with kubernetes cluster
   305            content:
   306              application/problem+json:
   307                schema:
   308                  type: array
   309                  items:
   310                    $ref: "#/components/schemas/Problem"
   311  
   312      delete:
   313        tags:
   314          - test-triggers
   315          - api
   316        parameters:
   317          - $ref: "#/components/parameters/ID"
   318          - $ref: "#/components/parameters/Namespace"
   319        summary: Delete test trigger
   320        description: Deletes a test trigger
   321        operationId: deleteTestTrigger
   322        responses:
   323          204:
   324            description: "no content"
   325          404:
   326            description: "test trigger not found"
   327            content:
   328              application/problem+json:
   329                schema:
   330                  type: array
   331                  items:
   332                    $ref: "#/components/schemas/Problem"
   333          502:
   334            description: problem communicating with kubernetes cluster
   335            content:
   336              application/problem+json:
   337                schema:
   338                  type: array
   339                  items:
   340                    $ref: "#/components/schemas/Problem"
   341  
   342    /test-suites:
   343      post:
   344        tags:
   345          - test-suites
   346          - api
   347        summary: "Create new test suite"
   348        description: "Create new test suite action"
   349        operationId: createTestSuite
   350        requestBody:
   351          description: test details body
   352          required: true
   353          content:
   354            application/json:
   355              schema:
   356                $ref: "#/components/schemas/TestSuiteUpsertRequest"
   357            text/yaml:
   358              schema:
   359                type: string
   360        responses:
   361          200:
   362            description: "successful operation"
   363            content:
   364              text/yaml:
   365                schema:
   366                  type: string
   367          201:
   368            description: successful operation
   369            content:
   370              application/json:
   371                schema:
   372                  $ref: "#/components/schemas/TestSuite"
   373          400:
   374            description: "problem with test suite definition - probably some bad input occurs (invalid JSON body or similar)"
   375            content:
   376              application/problem+json:
   377                schema:
   378                  type: array
   379                  items:
   380                    $ref: "#/components/schemas/Problem"
   381          502:
   382            description: "problem with communicating with kubernetes cluster"
   383            content:
   384              application/problem+json:
   385                schema:
   386                  type: array
   387                  items:
   388                    $ref: "#/components/schemas/Problem"
   389  
   390      get:
   391        tags:
   392          - test-suites
   393          - api
   394        summary: "Get all test suites"
   395        description: "Returns array of test suites"
   396        operationId: listTestSuites
   397        parameters:
   398          - $ref: "#/components/parameters/Selector"
   399          - $ref: "#/components/parameters/TextSearch"
   400        responses:
   401          200:
   402            description: successful operation
   403            content:
   404              application/json:
   405                schema:
   406                  type: array
   407                  items:
   408                    $ref: "#/components/schemas/TestSuite"
   409              text/yaml:
   410                schema:
   411                  type: string
   412          400:
   413            description: "problem with input for CRD generation"
   414            content:
   415              application/problem+json:
   416                schema:
   417                  type: array
   418                  items:
   419                    $ref: "#/components/schemas/Problem"
   420          502:
   421            description: "problem with listing test suites from kubernetes cluster"
   422            content:
   423              application/problem+json:
   424                schema:
   425                  type: array
   426                  items:
   427                    $ref: "#/components/schemas/Problem"
   428      delete:
   429        tags:
   430          - test-suites
   431          - api
   432        summary: "Delete test suites"
   433        description: "Deletes all or labeled test suites"
   434        operationId: deleteTestSuites
   435        parameters:
   436          - $ref: "#/components/parameters/Selector"
   437        responses:
   438          204:
   439            description: "no content"
   440          404:
   441            description: "test suite not found"
   442            content:
   443              application/problem+json:
   444                schema:
   445                  type: array
   446                  items:
   447                    $ref: "#/components/schemas/Problem"
   448          502:
   449            description: "problem with read information from kubernetes cluster"
   450            content:
   451              application/problem+json:
   452                schema:
   453                  type: array
   454                  items:
   455                    $ref: "#/components/schemas/Problem"
   456  
   457    /test-suites/{id}:
   458      get:
   459        parameters:
   460          - $ref: "#/components/parameters/ID"
   461        tags:
   462          - test-suites
   463          - api
   464        summary: "Get test suite by ID"
   465        description: "Returns test suite with given name"
   466        operationId: getTestSuiteByID
   467        responses:
   468          200:
   469            description: successful operation
   470            content:
   471              application/json:
   472                schema:
   473                  $ref: "#/components/schemas/TestSuite"
   474              text/yaml:
   475                schema:
   476                  type: string
   477          404:
   478            description: "test suite not found"
   479            content:
   480              application/problem+json:
   481                schema:
   482                  type: array
   483                  items:
   484                    $ref: "#/components/schemas/Problem"
   485          500:
   486            description: "could not get execution result from the database"
   487            content:
   488              application/problem+json:
   489                schema:
   490                  type: array
   491                  items:
   492                    $ref: "#/components/schemas/Problem"
   493          502:
   494            description: "problem with communicating with kubernetes cluster"
   495            content:
   496              application/problem+json:
   497                schema:
   498                  type: array
   499                  items:
   500                    $ref: "#/components/schemas/Problem"
   501  
   502      patch:
   503        parameters:
   504          - $ref: "#/components/parameters/ID"
   505        tags:
   506          - test-suites
   507          - api
   508        summary: "Update test suite"
   509        description: "Update test based on test suite content or git based data"
   510        operationId: updateTestSuite
   511        requestBody:
   512          description: test suite details body
   513          required: true
   514          content:
   515            application/json:
   516              schema:
   517                $ref: "#/components/schemas/TestSuiteUpdateRequest"
   518            text/yaml:
   519              schema:
   520                type: string
   521        responses:
   522          200:
   523            description: "successful operation"
   524            content:
   525              application/json:
   526                schema:
   527                  $ref: "#/components/schemas/TestSuite"
   528          400:
   529            description: "problem with test suite definition - probably some bad input occurs (invalid JSON body or similar)"
   530            content:
   531              application/problem+json:
   532                schema:
   533                  type: array
   534                  items:
   535                    $ref: "#/components/schemas/Problem"
   536          404:
   537            description: "test suite not found"
   538            content:
   539              application/problem+json:
   540                schema:
   541                  type: array
   542                  items:
   543                    $ref: "#/components/schemas/Problem"
   544          502:
   545            description: "problem with communicating with kubernetes cluster"
   546            content:
   547              application/problem+json:
   548                schema:
   549                  type: array
   550                  items:
   551                    $ref: "#/components/schemas/Problem"
   552  
   553      delete:
   554        tags:
   555          - test-suites
   556          - api
   557        parameters:
   558          - $ref: "#/components/parameters/ID"
   559        summary: "Delete test suite"
   560        description: "Deletes a test suite"
   561        operationId: deleteTestSuite
   562        responses:
   563          204:
   564            description: "no content"
   565          404:
   566            description: "test suite not found"
   567            content:
   568              application/problem+json:
   569                schema:
   570                  type: array
   571                  items:
   572                    $ref: "#/components/schemas/Problem"
   573          502:
   574            description: "problem with read information from kubernetes cluster"
   575            content:
   576              application/problem+json:
   577                schema:
   578                  type: array
   579                  items:
   580                    $ref: "#/components/schemas/Problem"
   581  
   582    /test-suites/{id}/metrics:
   583      get:
   584        tags:
   585          - tests
   586          - api
   587        parameters:
   588          - $ref: "#/components/parameters/ID"
   589          - $ref: "#/components/parameters/LastNDays"
   590          - $ref: "#/components/parameters/Limit"
   591        summary: "Get test suite metrics"
   592        description: "Gets test suite metrics for given tests executions, with particular execution status and timings"
   593        operationId: getTestSuiteMetrics
   594        responses:
   595          200:
   596            description: "successful operation"
   597            content:
   598              application/json:
   599                schema:
   600                  $ref: "#/components/schemas/ExecutionsMetrics"
   601          500:
   602            description: "problem with read information from storage"
   603            content:
   604              application/problem+json:
   605                schema:
   606                  type: array
   607                  items:
   608                    $ref: "#/components/schemas/Problem"
   609  
   610    /test-suites/{id}/tests:
   611      get:
   612        parameters:
   613          - $ref: "#/components/parameters/ID"
   614        tags:
   615          - test-suites
   616          - api
   617        summary: "List tests for test suite"
   618        description: "List available tests for test suite"
   619        operationId: listTestSuiteTests
   620        responses:
   621          200:
   622            description: "successful operation"
   623            content:
   624              application/json:
   625                schema:
   626                  type: array
   627                  items:
   628                    $ref: "#/components/schemas/Test"
   629              text/yaml:
   630                schema:
   631                  type: string
   632          404:
   633            description: "test suite not found"
   634            content:
   635              application/problem+json:
   636                schema:
   637                  type: array
   638                  items:
   639                    $ref: "#/components/schemas/Problem"
   640          502:
   641            description: "problem with read information from kubernetes cluster"
   642            content:
   643              application/problem+json:
   644                schema:
   645                  type: array
   646                  items:
   647                    $ref: "#/components/schemas/Problem"
   648  
   649    /test-suites/{id}/abort:
   650      post:
   651        tags:
   652          - test-suites
   653          - api
   654        parameters:
   655          - $ref: "#/components/parameters/ID"
   656        summary: "Abort all executions of a test suite"
   657        description: "Abort all test executions of a test suite"
   658        operationId: abortTestSuiteExecutions
   659        responses:
   660          204:
   661            description: "no content"
   662          404:
   663            description: "no execution found"
   664            content:
   665              application/problem+json:
   666                schema:
   667                  type: array
   668                  items:
   669                    $ref: "#/components/schemas/Problem"
   670          500:
   671            description: "problem with aborting test suite execution"
   672            content:
   673              application/problem+json:
   674                schema:
   675                  type: array
   676                  items:
   677                    $ref: "#/components/schemas/Problem"
   678          502:
   679            description: "problem with read information from kubernetes cluster"
   680            content:
   681              application/problem+json:
   682                schema:
   683                  type: array
   684                  items:
   685                    $ref: "#/components/schemas/Problem"
   686  
   687    /test-suite-with-executions:
   688      get:
   689        tags:
   690          - test-suites
   691          - api
   692        summary: "Get all test suite with executions"
   693        description: "Returns array of test suite with executions"
   694        operationId: listTestSuiteWithExecutions
   695        parameters:
   696          - $ref: "#/components/parameters/Selector"
   697          - $ref: "#/components/parameters/TextSearch"
   698          - $ref: "#/components/parameters/TestExecutionsStatusFilter"
   699          - $ref: "#/components/parameters/PageSize"
   700          - $ref: "#/components/parameters/PageIndex"
   701        responses:
   702          200:
   703            description: successful operation
   704            content:
   705              application/json:
   706                schema:
   707                  type: array
   708                  items:
   709                    $ref: "#/components/schemas/TestSuiteWithExecutionSummary"
   710              text/yaml:
   711                schema:
   712                  type: string
   713          400:
   714            description: "problem with input"
   715            content:
   716              application/problem+json:
   717                schema:
   718                  type: array
   719                  items:
   720                    $ref: "#/components/schemas/Problem"
   721          500:
   722            description: "problem with getting test suite with executions from storage"
   723            content:
   724              application/problem+json:
   725                schema:
   726                  type: array
   727                  items:
   728                    $ref: "#/components/schemas/Problem"
   729          502:
   730            description: "problem with getting test suite from Kubernetes clusteer"
   731            content:
   732              application/problem+json:
   733                schema:
   734                  type: array
   735                  items:
   736                    $ref: "#/components/schemas/Problem"
   737  
   738    /test-suite-with-executions/{id}:
   739      get:
   740        parameters:
   741          - $ref: "#/components/parameters/ID"
   742        tags:
   743          - test-suites
   744          - api
   745        summary: "Get test suite by ID with execution"
   746        description: "Returns test suite with given name with execution"
   747        operationId: getTestSuiteByIDWithExecution
   748        responses:
   749          200:
   750            description: successful operation
   751            content:
   752              application/json:
   753                schema:
   754                  $ref: "#/components/schemas/TestSuiteWithExecution"
   755              text/yaml:
   756                schema:
   757                  type: string
   758          500:
   759            description: "problem with getting test suite with execution from storage"
   760            content:
   761              application/problem+json:
   762                schema:
   763                  type: array
   764                  items:
   765                    $ref: "#/components/schemas/Problem"
   766  
   767    /test-suites/{id}/executions:
   768      post:
   769        parameters:
   770          - $ref: "#/components/parameters/ID"
   771          - $ref: "#/components/parameters/Namespace"
   772          - $ref: "#/components/parameters/LastNDays"
   773          - $ref: "#/components/parameters/TestSuiteExecutionName"
   774        tags:
   775          - api
   776          - test-suites
   777          - executions
   778        summary: "Starts new test suite execution"
   779        description: "New test suite execution returns new execution details on successful execution start"
   780        operationId: executeTestSuite
   781        requestBody:
   782          description: body passed to configure execution
   783          required: true
   784          content:
   785            application/json:
   786              schema:
   787                $ref: "#/components/schemas/TestSuiteExecutionRequest"
   788        responses:
   789          201:
   790            description: successful operation
   791            content:
   792              application/json:
   793                schema:
   794                  $ref: "#/components/schemas/TestSuiteExecutionsResult"
   795          400:
   796            description: "problem with request body"
   797            content:
   798              application/problem+json:
   799                schema:
   800                  type: array
   801                  items:
   802                    $ref: "#/components/schemas/Problem"
   803          404:
   804            description: "test suite not found"
   805            content:
   806              application/problem+json:
   807                schema:
   808                  type: array
   809                  items:
   810                    $ref: "#/components/schemas/Problem"
   811          500:
   812            description: "problem with test suite execution"
   813            content:
   814              application/problem+json:
   815                schema:
   816                  type: array
   817                  items:
   818                    $ref: "#/components/schemas/Problem"
   819          502:
   820            description: "problem with communicating with kubernetes cluster"
   821            content:
   822              application/problem+json:
   823                schema:
   824                  type: array
   825                  items:
   826                    $ref: "#/components/schemas/Problem"
   827  
   828      get:
   829        parameters:
   830          - $ref: "#/components/parameters/ID"
   831          - $ref: "#/components/parameters/PageSize"
   832          - $ref: "#/components/parameters/PageIndex"
   833          - $ref: "#/components/parameters/TestExecutionsStatusFilter"
   834          - $ref: "#/components/parameters/StartDateFilter"
   835          - $ref: "#/components/parameters/EndDateFilter"
   836        tags:
   837          - api
   838          - test-suites
   839          - executions
   840        summary: "Get all test suite executions"
   841        description: "Returns array of all available test suite executions"
   842        operationId: listTestSuiteExecutions
   843        responses:
   844          200:
   845            description: successful operation
   846            content:
   847              application/json:
   848                schema:
   849                  $ref: "#/components/schemas/TestSuiteExecutionsResult"
   850          500:
   851            description: "problem with getting test suite executions from storage"
   852            content:
   853              application/problem+json:
   854                schema:
   855                  type: array
   856                  items:
   857                    $ref: "#/components/schemas/Problem"
   858  
   859    /test-suites/{id}/executions/{executionID}:
   860      get:
   861        parameters:
   862          - $ref: "#/components/parameters/ID"
   863          - $ref: "#/components/parameters/executionID"
   864        tags:
   865          - api
   866          - test-suites
   867          - executions
   868        summary: "Get test suite execution"
   869        description: "Returns test suite execution with given executionID"
   870        operationId: getTestSuiteExecution
   871        responses:
   872          200:
   873            description: successful operation
   874            content:
   875              application/json:
   876                schema:
   877                  $ref: "#/components/schemas/TestSuiteExecution"
   878          404:
   879            description: "test not found"
   880            content:
   881              application/problem+json:
   882                schema:
   883                  type: array
   884                  items:
   885                    $ref: "#/components/schemas/Problem"
   886          500:
   887            description: "problem with getting test suite executions from storage"
   888            content:
   889              application/problem+json:
   890                schema:
   891                  type: array
   892                  items:
   893                    $ref: "#/components/schemas/Problem"
   894          502:
   895            description: "problem with communicating with Kubernetes cluster"
   896            content:
   897              application/problem+json:
   898                schema:
   899                  type: array
   900                  items:
   901                    $ref: "#/components/schemas/Problem"
   902      patch:
   903        parameters:
   904          - $ref: "#/components/parameters/ID"
   905          - $ref: "#/components/parameters/executionID"
   906        tags:
   907          - api
   908          - test-suites
   909          - executions
   910        summary: "Aborts testsuite execution"
   911        description: "Aborts testsuite execution with given executionID"
   912        operationId: abortTestSuiteExecution
   913        responses:
   914          204:
   915            description: "no content"
   916          404:
   917            description: "test suite not found"
   918            content:
   919              application/problem+json:
   920                schema:
   921                  type: array
   922                  items:
   923                    $ref: "#/components/schemas/Problem"
   924          500:
   925            description: "problem with read information from storage"
   926            content:
   927              application/problem+json:
   928                schema:
   929                  type: array
   930                  items:
   931                    $ref: "#/components/schemas/Problem"
   932  
   933    /test-suites/{id}/executions/{executionID}/artifacts:
   934      get:
   935        parameters:
   936          - $ref: "#/components/parameters/ID"
   937          - $ref: "#/components/parameters/executionID"
   938        tags:
   939          - api
   940          - test-suites
   941          - executions
   942        summary: "Get test suite execution artifacts"
   943        description: "Returns test suite execution artifacts with given executionID"
   944        operationId: getTestSuiteExecutionArtifactsByTestsuite
   945        responses:
   946          200:
   947            description: successful operation
   948            content:
   949              application/json:
   950                schema:
   951                  $ref: "#/components/schemas/Artifact"
   952          404:
   953            description: "test suite not found"
   954            content:
   955              application/problem+json:
   956                schema:
   957                  type: array
   958                  items:
   959                    $ref: "#/components/schemas/Problem"
   960          500:
   961            description: "problem with getting test suite executions from storage"
   962            content:
   963              application/problem+json:
   964                schema:
   965                  type: array
   966                  items:
   967                    $ref: "#/components/schemas/Problem"
   968  
   969    /test-suite-executions:
   970      post:
   971        parameters:
   972          - $ref: "#/components/parameters/Namespace"
   973          - $ref: "#/components/parameters/Selector"
   974          - $ref: "#/components/parameters/ConcurrencyLevel"
   975        tags:
   976          - api
   977          - test-suites
   978          - executions
   979        summary: "Starts new test suite executions"
   980        description: "New test suite executions returns new executions details on successful executions start"
   981        operationId: executeTestSuites
   982        requestBody:
   983          description: body passed to configure executions
   984          required: true
   985          content:
   986            application/json:
   987              schema:
   988                $ref: "#/components/schemas/TestSuiteExecutionRequest"
   989        responses:
   990          201:
   991            description: successful operation
   992            content:
   993              application/json:
   994                schema:
   995                  type: array
   996                  items:
   997                    $ref: "#/components/schemas/TestSuiteExecutionsResult"
   998          400:
   999            description: "problem with request body"
  1000            content:
  1001              application/problem+json:
  1002                schema:
  1003                  type: array
  1004                  items:
  1005                    $ref: "#/components/schemas/Problem"
  1006          502:
  1007            description: "problem with communicating with kubernetes cluster"
  1008            content:
  1009              application/problem+json:
  1010                schema:
  1011                  type: array
  1012                  items:
  1013                    $ref: "#/components/schemas/Problem"
  1014          500:
  1015            description: "problem with test suites executions"
  1016            content:
  1017              application/problem+json:
  1018                schema:
  1019                  type: array
  1020                  items:
  1021                    $ref: "#/components/schemas/Problem"
  1022      get:
  1023        tags:
  1024          - executions
  1025          - api
  1026        summary: "Get all test suite executions"
  1027        description: "Returns array of test suite executions"
  1028        operationId: listAllTestSuiteExecutions
  1029        parameters:
  1030          - $ref: "#/components/parameters/LastNDays"
  1031          - $ref: "#/components/parameters/TestName"
  1032          - $ref: "#/components/parameters/TextSearch"
  1033          - $ref: "#/components/parameters/PageSize"
  1034          - $ref: "#/components/parameters/PageIndex"
  1035          - $ref: "#/components/parameters/TestExecutionsStatusFilter"
  1036          - $ref: "#/components/parameters/StartDateFilter"
  1037          - $ref: "#/components/parameters/EndDateFilter"
  1038          - $ref: "#/components/parameters/Selector"
  1039        responses:
  1040          200:
  1041            description: successful operation
  1042            content:
  1043              application/json:
  1044                schema:
  1045                  $ref: "#/components/schemas/TestSuiteExecutionsResult"
  1046          500:
  1047            description: "problem with getting test suite executions from storage"
  1048            content:
  1049              application/problem+json:
  1050                schema:
  1051                  type: array
  1052                  items:
  1053                    $ref: "#/components/schemas/Problem"
  1054  
  1055    /test-suite-executions/{executionID}:
  1056      get:
  1057        parameters:
  1058          - $ref: "#/components/parameters/executionID"
  1059          - $ref: "#/components/parameters/LastNDays"
  1060        tags:
  1061          - executions
  1062          - api
  1063        summary: "Get test suite execution by ID"
  1064        description: "Returns test suite execution with given executionID"
  1065        operationId: getTestSuiteExecutionByID
  1066        responses:
  1067          200:
  1068            description: successful operation
  1069            content:
  1070              application/json:
  1071                schema:
  1072                  $ref: "#/components/schemas/TestSuiteExecution"
  1073          500:
  1074            description: "problem with getting test suite execution from storage"
  1075            content:
  1076              application/problem+json:
  1077                schema:
  1078                  type: array
  1079                  items:
  1080                    $ref: "#/components/schemas/Problem"
  1081      patch:
  1082        parameters:
  1083          - $ref: "#/components/parameters/executionID"
  1084        tags:
  1085          - api
  1086          - executions
  1087        summary: "Aborts testsuite execution"
  1088        description: "Aborts testsuite execution with given executionID"
  1089        operationId: abortTestSuiteExecutionByID
  1090        responses:
  1091          502:
  1092            description: "problem with read information from kubernetes cluster"
  1093            content:
  1094              application/problem+json:
  1095                schema:
  1096                  type: array
  1097                  items:
  1098                    $ref: "#/components/schemas/Problem"
  1099          204:
  1100            description: "no content"
  1101  
  1102    /test-suite-executions/{executionID}/artifacts:
  1103      get:
  1104        parameters:
  1105          - $ref: "#/components/parameters/executionID"
  1106        tags:
  1107          - api
  1108          - test-suites
  1109          - executions
  1110        summary: "Get test suite execution artifacts"
  1111        description: "Returns test suite execution artifacts with given executionID"
  1112        operationId: getTestSuiteExecutionArtifacts
  1113        responses:
  1114          200:
  1115            description: successful operation
  1116            content:
  1117              application/json:
  1118                schema:
  1119                  $ref: "#/components/schemas/Artifact"
  1120          500:
  1121            description: "problem with getting test suite executions from storage"
  1122            content:
  1123              application/problem+json:
  1124                schema:
  1125                  type: array
  1126                  items:
  1127                    $ref: "#/components/schemas/Problem"
  1128  
  1129    /executions:
  1130      post:
  1131        parameters:
  1132          - $ref: "#/components/parameters/Namespace"
  1133          - $ref: "#/components/parameters/Selector"
  1134          - $ref: "#/components/parameters/ExecutionSelector"
  1135          - $ref: "#/components/parameters/ConcurrencyLevel"
  1136        tags:
  1137          - api
  1138          - tests
  1139          - executions
  1140        summary: "Starts new test executions"
  1141        description: "New test executions returns new executions details on successful executions start"
  1142        operationId: executeTests
  1143        requestBody:
  1144          description: body passed to configure executions
  1145          required: true
  1146          content:
  1147            application/json:
  1148              schema:
  1149                $ref: "#/components/schemas/ExecutionRequest"
  1150        responses:
  1151          201:
  1152            description: successful operation
  1153            content:
  1154              application/json:
  1155                schema:
  1156                  type: array
  1157                  items:
  1158                    $ref: "#/components/schemas/ExecutionResult"
  1159          400:
  1160            description: "problem with request body"
  1161            content:
  1162              application/problem+json:
  1163                schema:
  1164                  type: array
  1165                  items:
  1166                    $ref: "#/components/schemas/Problem"
  1167          404:
  1168            description: "test not found"
  1169            content:
  1170              application/problem+json:
  1171                schema:
  1172                  type: array
  1173                  items:
  1174                    $ref: "#/components/schemas/Problem"
  1175          502:
  1176            description: "problem with communicating with kubernetes cluster"
  1177            content:
  1178              application/problem+json:
  1179                schema:
  1180                  type: array
  1181                  items:
  1182                    $ref: "#/components/schemas/Problem"
  1183          500:
  1184            description: "problem with test executions"
  1185            content:
  1186              application/problem+json:
  1187                schema:
  1188                  type: array
  1189                  items:
  1190                    $ref: "#/components/schemas/Problem"
  1191      get:
  1192        tags:
  1193          - executions
  1194          - api
  1195        summary: "Get all test executions"
  1196        description: "Returns array of test executions"
  1197        operationId: listExecutions
  1198        parameters:
  1199          - $ref: "#/components/parameters/TestName"
  1200          - $ref: "#/components/parameters/Type"
  1201          - $ref: "#/components/parameters/TextSearch"
  1202          - $ref: "#/components/parameters/PageSize"
  1203          - $ref: "#/components/parameters/PageIndex"
  1204          - $ref: "#/components/parameters/ExecutionsStatusFilter"
  1205          - $ref: "#/components/parameters/StartDateFilter"
  1206          - $ref: "#/components/parameters/EndDateFilter"
  1207          - $ref: "#/components/parameters/Selector"
  1208        responses:
  1209          200:
  1210            description: successful operation
  1211            content:
  1212              application/json:
  1213                schema:
  1214                  $ref: "#/components/schemas/ExecutionsResult"
  1215          404:
  1216            description: "execution not found"
  1217            content:
  1218              application/problem+json:
  1219                schema:
  1220                  type: array
  1221                  items:
  1222                    $ref: "#/components/schemas/Problem"
  1223          500:
  1224            description: "problem with getting test executions from storage"
  1225            content:
  1226              application/problem+json:
  1227                schema:
  1228                  type: array
  1229                  items:
  1230                    $ref: "#/components/schemas/Problem"
  1231  
  1232    /executions/{executionID}:
  1233      get:
  1234        parameters:
  1235          - $ref: "#/components/parameters/executionID"
  1236        tags:
  1237          - executions
  1238          - api
  1239        summary: "Get test execution by ID"
  1240        description: "Returns execution with given executionID"
  1241        operationId: getExecutionByID
  1242        responses:
  1243          200:
  1244            description: successful operation
  1245            content:
  1246              application/json:
  1247                schema:
  1248                  $ref: "#/components/schemas/Execution"
  1249          404:
  1250            description: "execution not found"
  1251            content:
  1252              application/problem+json:
  1253                schema:
  1254                  type: array
  1255                  items:
  1256                    $ref: "#/components/schemas/Problem"
  1257          500:
  1258            description: "problem with getting test executions from storage"
  1259            content:
  1260              application/problem+json:
  1261                schema:
  1262                  type: array
  1263                  items:
  1264                    $ref: "#/components/schemas/Problem"
  1265          502:
  1266            description: "problem with reading secrets from kubernetes cluster"
  1267            content:
  1268              application/problem+json:
  1269                schema:
  1270                  type: array
  1271                  items:
  1272                    $ref: "#/components/schemas/Problem"
  1273  
  1274    /executions/{id}/artifacts:
  1275      get:
  1276        parameters:
  1277          - $ref: "#/components/parameters/ID"
  1278        tags:
  1279          - artifacts
  1280          - executions
  1281          - api
  1282        summary: "Get execution's artifacts by ID"
  1283        description: "Returns artifacts of the given executionID"
  1284        operationId: getExecutionArtifacts
  1285        responses:
  1286          200:
  1287            description: successful operation
  1288            content:
  1289              application/json:
  1290                schema:
  1291                  type: array
  1292                  items:
  1293                    $ref: "#/components/schemas/Artifact"
  1294          404:
  1295            description: "execution not found"
  1296            content:
  1297              application/problem+json:
  1298                schema:
  1299                  type: array
  1300                  items:
  1301                    $ref: "#/components/schemas/Problem"
  1302          500:
  1303            description: "problem with getting execution's artifacts from storage"
  1304            content:
  1305              application/problem+json:
  1306                schema:
  1307                  type: array
  1308                  items:
  1309                    $ref: "#/components/schemas/Problem"
  1310  
  1311    /executions/{id}/logs:
  1312      get:
  1313        parameters:
  1314          - $ref: "#/components/parameters/ID"
  1315        tags:
  1316          - logs
  1317          - executions
  1318          - api
  1319        summary: "Get execution's logs by ID"
  1320        description: "Returns logs of the given executionID"
  1321        operationId: getExecutionLogs
  1322        responses:
  1323          200:
  1324            description: successful operation
  1325            content:
  1326              application/json:
  1327                schema:
  1328                  type: array
  1329                  items:
  1330                    $ref: "#/components/schemas/ExecutorOutput"
  1331          500:
  1332            description: "problem with getting execution's logs"
  1333            content:
  1334              application/problem+json:
  1335                schema:
  1336                  type: array
  1337                  items:
  1338                    $ref: "#/components/schemas/Problem"
  1339  
  1340    /executions/{id}/logs/v2:
  1341      get:
  1342        parameters:
  1343          - $ref: "#/components/parameters/ID"
  1344        tags:
  1345          - logs
  1346          - executions
  1347          - api
  1348        summary: "Get execution's logs by ID version 2"
  1349        description: "Returns logs of the given executionID version 2"
  1350        operationId: getExecutionLogsV2
  1351        responses:
  1352          200:
  1353            description: successful operation
  1354            content:
  1355              application/json:
  1356                schema:
  1357                  type: array
  1358                  items:
  1359                    $ref: "#/components/schemas/LogV2"
  1360          500:
  1361            description: "problem with getting execution's logs version 2"
  1362            content:
  1363              application/problem+json:
  1364                schema:
  1365                  type: array
  1366                  items:
  1367                    $ref: "#/components/schemas/Problem"
  1368  
  1369    /executions/{id}/artifacts/{filename}:
  1370      get:
  1371        parameters:
  1372          - $ref: "#/components/parameters/ID"
  1373          - $ref: "#/components/parameters/Filename"
  1374        tags:
  1375          - artifacts
  1376          - executions
  1377          - api
  1378        summary: "Download artifact"
  1379        description: "Download the artifact file from the given execution"
  1380        operationId: downloadFile
  1381        responses:
  1382          200:
  1383            description: "successful operation"
  1384            content:
  1385              application/octet-stream:
  1386                schema:
  1387                  type: string
  1388                  format: binary
  1389          404:
  1390            description: "execution not found"
  1391            content:
  1392              application/problem+json:
  1393                schema:
  1394                  type: array
  1395                  items:
  1396                    $ref: "#/components/schemas/Problem"
  1397          500:
  1398            description: "problem with getting artifacts from storage"
  1399            content:
  1400              application/problem+json:
  1401                schema:
  1402                  type: array
  1403                  items:
  1404                    $ref: "#/components/schemas/Problem"
  1405  
  1406    /executions/{id}/artifact-archive:
  1407      get:
  1408        parameters:
  1409          - $ref: "#/components/parameters/ID"
  1410          - $ref: "#/components/parameters/Mask"
  1411        tags:
  1412          - artifacts
  1413          - executions
  1414          - api
  1415        summary: "Download artifact archive"
  1416        description: "Download the artifact archive from the given execution"
  1417        operationId: downloadArchive
  1418        responses:
  1419          200:
  1420            description: "successful operation"
  1421            content:
  1422              application/octet-stream:
  1423                schema:
  1424                  type: string
  1425                  format: binary
  1426          404:
  1427            description: "execution not found"
  1428            content:
  1429              application/problem+json:
  1430                schema:
  1431                  type: array
  1432                  items:
  1433                    $ref: "#/components/schemas/Problem"
  1434          500:
  1435            description: "problem with getting artifact archive from storage"
  1436            content:
  1437              application/problem+json:
  1438                schema:
  1439                  type: array
  1440                  items:
  1441                    $ref: "#/components/schemas/Problem"
  1442  
  1443    /tests:
  1444      get:
  1445        tags:
  1446          - tests
  1447          - api
  1448        summary: "List tests"
  1449        description: "List available tests"
  1450        operationId: listTests
  1451        parameters:
  1452          - $ref: "#/components/parameters/Selector"
  1453          - $ref: "#/components/parameters/TextSearch"
  1454        responses:
  1455          200:
  1456            description: "successful operation"
  1457            content:
  1458              application/json:
  1459                schema:
  1460                  type: array
  1461                  items:
  1462                    $ref: "#/components/schemas/Test"
  1463              text/yaml:
  1464                schema:
  1465                  type: string
  1466          400:
  1467            description: "invalid parameters"
  1468            content:
  1469              application/problem+json:
  1470                schema:
  1471                  type: array
  1472                  items:
  1473                    $ref: "#/components/schemas/Problem"
  1474          502:
  1475            description: "problem with read information from kubernetes cluster"
  1476            content:
  1477              application/problem+json:
  1478                schema:
  1479                  type: array
  1480                  items:
  1481                    $ref: "#/components/schemas/Problem"
  1482      post:
  1483        tags:
  1484          - tests
  1485          - api
  1486        summary: "Create new test"
  1487        description: "Create new test based on file content, uri or git based data"
  1488        operationId: createTest
  1489        requestBody:
  1490          description: test details body
  1491          required: true
  1492          content:
  1493            application/json:
  1494              schema:
  1495                $ref: "#/components/schemas/TestUpsertRequest"
  1496            text/yaml:
  1497              schema:
  1498                type: string
  1499        responses:
  1500          200:
  1501            description: "successful operation"
  1502            content:
  1503              text/yaml:
  1504                schema:
  1505                  type: string
  1506          201:
  1507            description: "successful operation"
  1508            content:
  1509              application/json:
  1510                schema:
  1511                  $ref: "#/components/schemas/Test"
  1512          400:
  1513            description: "problem with test definition - probably some bad input occurs (invalid JSON body or similar)"
  1514            content:
  1515              application/problem+json:
  1516                schema:
  1517                  type: array
  1518                  items:
  1519                    $ref: "#/components/schemas/Problem"
  1520          502:
  1521            description: "problem with communicating with kubernetes cluster"
  1522            content:
  1523              application/problem+json:
  1524                schema:
  1525                  type: array
  1526                  items:
  1527                    $ref: "#/components/schemas/Problem"
  1528      delete:
  1529        tags:
  1530          - tests
  1531          - api
  1532        summary: "Delete tests"
  1533        description: "Deletes all or labeled tests"
  1534        operationId: deleteTests
  1535        parameters:
  1536          - $ref: "#/components/parameters/Selector"
  1537        responses:
  1538          204:
  1539            description: "no content"
  1540          404:
  1541            description: "no tests found"
  1542            content:
  1543              application/problem+json:
  1544                schema:
  1545                  type: array
  1546                  items:
  1547                    $ref: "#/components/schemas/Problem"
  1548          500:
  1549            description: "problem with deleting tests and their executions"
  1550            content:
  1551              application/problem+json:
  1552                schema:
  1553                  type: array
  1554                  items:
  1555                    $ref: "#/components/schemas/Problem"
  1556          502:
  1557            description: "problem with read information from kubernetes cluster"
  1558            content:
  1559              application/problem+json:
  1560                schema:
  1561                  type: array
  1562                  items:
  1563                    $ref: "#/components/schemas/Problem"
  1564  
  1565    /tests/{id}:
  1566      patch:
  1567        parameters:
  1568          - $ref: "#/components/parameters/ID"
  1569        tags:
  1570          - tests
  1571          - api
  1572        summary: "Update test"
  1573        description: "Update test based on test content or git based data"
  1574        operationId: updateTest
  1575        requestBody:
  1576          description: test details body
  1577          required: true
  1578          content:
  1579            application/json:
  1580              schema:
  1581                $ref: "#/components/schemas/TestUpdateRequest"
  1582            text/yaml:
  1583              schema:
  1584                type: string
  1585        responses:
  1586          200:
  1587            description: "successful operation"
  1588            content:
  1589              application/json:
  1590                schema:
  1591                  $ref: "#/components/schemas/Test"
  1592          400:
  1593            description: "problem with test definition - probably some bad input occurs (invalid JSON body or similar)"
  1594            content:
  1595              application/problem+json:
  1596                schema:
  1597                  type: array
  1598                  items:
  1599                    $ref: "#/components/schemas/Problem"
  1600          404:
  1601            description: "test not found"
  1602            content:
  1603              application/problem+json:
  1604                schema:
  1605                  type: array
  1606                  items:
  1607                    $ref: "#/components/schemas/Problem"
  1608          502:
  1609            description: "problem with communicating with kubernetes cluster"
  1610            content:
  1611              application/problem+json:
  1612                schema:
  1613                  type: array
  1614                  items:
  1615                    $ref: "#/components/schemas/Problem"
  1616  
  1617      get:
  1618        tags:
  1619          - tests
  1620          - api
  1621        parameters:
  1622          - $ref: "#/components/parameters/ID"
  1623        summary: "Get test"
  1624        description: "Gets the specified test"
  1625        operationId: getTest
  1626        responses:
  1627          200:
  1628            description: "successful operation"
  1629            content:
  1630              application/json:
  1631                schema:
  1632                  $ref: "#/components/schemas/Test"
  1633              text/yaml:
  1634                schema:
  1635                  type: string
  1636          400:
  1637            description: "invalid parameters"
  1638            content:
  1639              application/problem+json:
  1640                schema:
  1641                  type: array
  1642                  items:
  1643                    $ref: "#/components/schemas/Problem"
  1644          404:
  1645            description: "test not found"
  1646            content:
  1647              application/problem+json:
  1648                schema:
  1649                  type: array
  1650                  items:
  1651                    $ref: "#/components/schemas/Problem"
  1652          502:
  1653            description: "problem with read information from kubernetes cluster"
  1654            content:
  1655              application/problem+json:
  1656                schema:
  1657                  type: array
  1658                  items:
  1659                    $ref: "#/components/schemas/Problem"
  1660      delete:
  1661        tags:
  1662          - tests
  1663          - api
  1664        parameters:
  1665          - $ref: "#/components/parameters/ID"
  1666          - $ref: "#/components/parameters/SkipDeleteExecutions"
  1667        summary: "Delete test"
  1668        description: "Deletes a test"
  1669        operationId: deleteTest
  1670        responses:
  1671          204:
  1672            description: "no content"
  1673          404:
  1674            description: "no tests found"
  1675            content:
  1676              application/problem+json:
  1677                schema:
  1678                  type: array
  1679                  items:
  1680                    $ref: "#/components/schemas/Problem"
  1681          500:
  1682            description: "problem with deleting test and its executions"
  1683            content:
  1684              application/problem+json:
  1685                schema:
  1686                  type: array
  1687                  items:
  1688                    $ref: "#/components/schemas/Problem"
  1689          502:
  1690            description: "problem with read information from kubernetes cluster"
  1691            content:
  1692              application/problem+json:
  1693                schema:
  1694                  type: array
  1695                  items:
  1696                    $ref: "#/components/schemas/Problem"
  1697  
  1698    /tests/{id}/abort:
  1699      post:
  1700        tags:
  1701          - tests
  1702          - api
  1703        parameters:
  1704          - $ref: "#/components/parameters/ID"
  1705        summary: "Abort all executions of a test"
  1706        description: "Abort all test executions"
  1707        operationId: abortTestExecutions
  1708        responses:
  1709          204:
  1710            description: "no content"
  1711          404:
  1712            description: "no execution found"
  1713            content:
  1714              application/problem+json:
  1715                schema:
  1716                  type: array
  1717                  items:
  1718                    $ref: "#/components/schemas/Problem"
  1719          500:
  1720            description: "problem with aborting test execution"
  1721            content:
  1722              application/problem+json:
  1723                schema:
  1724                  type: array
  1725                  items:
  1726                    $ref: "#/components/schemas/Problem"
  1727          502:
  1728            description: "problem with read information from kubernetes cluster"
  1729            content:
  1730              application/problem+json:
  1731                schema:
  1732                  type: array
  1733                  items:
  1734                    $ref: "#/components/schemas/Problem"
  1735  
  1736    /tests/{id}/metrics:
  1737      get:
  1738        tags:
  1739          - tests
  1740          - api
  1741        parameters:
  1742          - $ref: "#/components/parameters/ID"
  1743          - $ref: "#/components/parameters/LastNDays"
  1744          - $ref: "#/components/parameters/Limit"
  1745        summary: "Get test metrics"
  1746        description: "Gets test metrics for given tests executions, with particular execution status and timings"
  1747        operationId: getTestMetrics
  1748        responses:
  1749          200:
  1750            description: "successful operation"
  1751            content:
  1752              application/json:
  1753                schema:
  1754                  $ref: "#/components/schemas/ExecutionsMetrics"
  1755          500:
  1756            description: "problem with getting metrics"
  1757            content:
  1758              application/problem+json:
  1759                schema:
  1760                  type: array
  1761                  items:
  1762                    $ref: "#/components/schemas/Problem"
  1763          502:
  1764            description: "problem with read information from storage"
  1765            content:
  1766              application/problem+json:
  1767                schema:
  1768                  type: array
  1769                  items:
  1770                    $ref: "#/components/schemas/Problem"
  1771  
  1772    /test-with-executions:
  1773      get:
  1774        tags:
  1775          - tests
  1776          - api
  1777        summary: "List test with executions"
  1778        description: "List available test with executions"
  1779        operationId: listTestWithExecutions
  1780        parameters:
  1781          - $ref: "#/components/parameters/Selector"
  1782          - $ref: "#/components/parameters/TextSearch"
  1783          - $ref: "#/components/parameters/ExecutionsStatusFilter"
  1784          - $ref: "#/components/parameters/PageSize"
  1785          - $ref: "#/components/parameters/PageIndex"
  1786        responses:
  1787          200:
  1788            description: "successful operation"
  1789            content:
  1790              application/json:
  1791                schema:
  1792                  type: array
  1793                  items:
  1794                    $ref: "#/components/schemas/TestWithExecutionSummary"
  1795              text/yaml:
  1796                schema:
  1797                  type: string
  1798          400:
  1799            description: "invalid parameters"
  1800            content:
  1801              application/problem+json:
  1802                schema:
  1803                  type: array
  1804                  items:
  1805                    $ref: "#/components/schemas/Problem"
  1806          500:
  1807            description: "problem with getting tests and their executions"
  1808            content:
  1809              application/problem+json:
  1810                schema:
  1811                  type: array
  1812                  items:
  1813                    $ref: "#/components/schemas/Problem"
  1814          502:
  1815            description: "problem with read information from kubernetes cluster"
  1816            content:
  1817              application/problem+json:
  1818                schema:
  1819                  type: array
  1820                  items:
  1821                    $ref: "#/components/schemas/Problem"
  1822  
  1823    /test-with-executions/{id}:
  1824      get:
  1825        tags:
  1826          - tests
  1827          - api
  1828        parameters:
  1829          - $ref: "#/components/parameters/ID"
  1830        summary: "Get test with execution"
  1831        description: "Gets the specified test with execution"
  1832        operationId: getTestWithExecution
  1833        responses:
  1834          200:
  1835            description: "successful operation"
  1836            content:
  1837              application/json:
  1838                schema:
  1839                  $ref: "#/components/schemas/TestWithExecution"
  1840              text/yaml:
  1841                schema:
  1842                  type: string
  1843          400:
  1844            description: "invalid parameters"
  1845            content:
  1846              application/problem+json:
  1847                schema:
  1848                  type: array
  1849                  items:
  1850                    $ref: "#/components/schemas/Problem"
  1851          404:
  1852            description: "no tests found"
  1853            content:
  1854              application/problem+json:
  1855                schema:
  1856                  type: array
  1857                  items:
  1858                    $ref: "#/components/schemas/Problem"
  1859          500:
  1860            description: "problem with getting tests and their executions"
  1861            content:
  1862              application/problem+json:
  1863                schema:
  1864                  type: array
  1865                  items:
  1866                    $ref: "#/components/schemas/Problem"
  1867          502:
  1868            description: "problem with read information from kubernetes cluster"
  1869            content:
  1870              application/problem+json:
  1871                schema:
  1872                  type: array
  1873                  items:
  1874                    $ref: "#/components/schemas/Problem"
  1875  
  1876    /tests/{id}/executions:
  1877      post:
  1878        parameters:
  1879          - $ref: "#/components/parameters/ID"
  1880          - $ref: "#/components/parameters/Namespace"
  1881          - $ref: "#/components/parameters/TestExecutionName"
  1882        tags:
  1883          - api
  1884          - tests
  1885          - executions
  1886        summary: "Starts new test execution"
  1887        description: "New test execution returns new execution details on successful execution start"
  1888        operationId: executeTest
  1889        requestBody:
  1890          description: body passed to configure execution
  1891          required: true
  1892          content:
  1893            application/json:
  1894              schema:
  1895                $ref: "#/components/schemas/ExecutionRequest"
  1896        responses:
  1897          201:
  1898            description: successful operation
  1899            content:
  1900              application/json:
  1901                schema:
  1902                  $ref: "#/components/schemas/ExecutionResult"
  1903          400:
  1904            description: "problem with request body"
  1905            content:
  1906              application/problem+json:
  1907                schema:
  1908                  type: array
  1909                  items:
  1910                    $ref: "#/components/schemas/Problem"
  1911          404:
  1912            description: "test not found"
  1913            content:
  1914              application/problem+json:
  1915                schema:
  1916                  type: array
  1917                  items:
  1918                    $ref: "#/components/schemas/Problem"
  1919          502:
  1920            description: "problem with communicating with kubernetes cluster"
  1921            content:
  1922              application/problem+json:
  1923                schema:
  1924                  type: array
  1925                  items:
  1926                    $ref: "#/components/schemas/Problem"
  1927          500:
  1928            description: "problem with test execution"
  1929            content:
  1930              application/problem+json:
  1931                schema:
  1932                  type: array
  1933                  items:
  1934                    $ref: "#/components/schemas/Problem"
  1935      get:
  1936        parameters:
  1937          - $ref: "#/components/parameters/ID"
  1938          - $ref: "#/components/parameters/LastNDays"
  1939          - $ref: "#/components/parameters/PageSize"
  1940          - $ref: "#/components/parameters/PageIndex"
  1941          - $ref: "#/components/parameters/ExecutionsStatusFilter"
  1942          - $ref: "#/components/parameters/StartDateFilter"
  1943          - $ref: "#/components/parameters/EndDateFilter"
  1944        tags:
  1945          - api
  1946          - tests
  1947          - executions
  1948        summary: "Get all test executions"
  1949        description: "Returns array of all available test executions"
  1950        operationId: listTestExecutions
  1951        responses:
  1952          200:
  1953            description: successful operation
  1954            content:
  1955              application/json:
  1956                schema:
  1957                  $ref: "#/components/schemas/ExecutionsResult"
  1958          404:
  1959            description: "test or execution not found"
  1960            content:
  1961              application/problem+json:
  1962                schema:
  1963                  type: array
  1964                  items:
  1965                    $ref: "#/components/schemas/Problem"
  1966          500:
  1967            description: "problem with getting test executions from storage"
  1968            content:
  1969              application/problem+json:
  1970                schema:
  1971                  type: array
  1972                  items:
  1973                    $ref: "#/components/schemas/Problem"
  1974  
  1975    /tests/{id}/executions/{executionID}:
  1976      get:
  1977        parameters:
  1978          - $ref: "#/components/parameters/ID"
  1979          - $ref: "#/components/parameters/executionID"
  1980        tags:
  1981          - api
  1982          - tests
  1983          - executions
  1984        summary: "Get test execution"
  1985        description: "Returns execution with given executionID"
  1986        operationId: getTestExecution
  1987        responses:
  1988          200:
  1989            description: successful operation
  1990            content:
  1991              application/json:
  1992                schema:
  1993                  $ref: "#/components/schemas/Execution"
  1994          404:
  1995            description: "execution not found"
  1996            content:
  1997              application/problem+json:
  1998                schema:
  1999                  type: array
  2000                  items:
  2001                    $ref: "#/components/schemas/Problem"
  2002          500:
  2003            description: "problem with getting test executions from storage"
  2004            content:
  2005              application/problem+json:
  2006                schema:
  2007                  type: array
  2008                  items:
  2009                    $ref: "#/components/schemas/Problem"
  2010          502:
  2011            description: "problem with reading secrets from kubernetes cluster"
  2012            content:
  2013              application/problem+json:
  2014                schema:
  2015                  type: array
  2016                  items:
  2017                    $ref: "#/components/schemas/Problem"
  2018      patch:
  2019        parameters:
  2020          - $ref: "#/components/parameters/ID"
  2021          - $ref: "#/components/parameters/executionID"
  2022        tags:
  2023          - api
  2024          - tests
  2025          - executions
  2026        summary: "Aborts execution"
  2027        description: "Aborts execution with given executionID"
  2028        operationId: abortExecution
  2029        responses:
  2030          204:
  2031            description: "no content"
  2032          502:
  2033            description: "problem with read information from kubernetes cluster"
  2034            content:
  2035              application/problem+json:
  2036                schema:
  2037                  type: array
  2038                  items:
  2039                    $ref: "#/components/schemas/Problem"
  2040    /executors:
  2041      get:
  2042        tags:
  2043          - executor
  2044          - api
  2045        summary: "List executors"
  2046        description: "List executors available in cluster"
  2047        operationId: listExecutors
  2048        parameters:
  2049          - $ref: "#/components/parameters/Selector"
  2050        responses:
  2051          200:
  2052            description: "successful operation"
  2053            content:
  2054              application/json:
  2055                schema:
  2056                  type: array
  2057                  items:
  2058                    $ref: "#/components/schemas/Executor"
  2059              text/yaml:
  2060                schema:
  2061                  type: string
  2062          400:
  2063            description: "problem with input for CRD generation"
  2064            content:
  2065              application/problem+json:
  2066                schema:
  2067                  type: array
  2068                  items:
  2069                    $ref: "#/components/schemas/Problem"
  2070          502:
  2071            description: "problem with read information from kubernetes cluster"
  2072            content:
  2073              application/problem+json:
  2074                schema:
  2075                  type: array
  2076                  items:
  2077                    $ref: "#/components/schemas/Problem"
  2078      post:
  2079        tags:
  2080          - executor
  2081          - api
  2082        summary: "Create new executor"
  2083        description: "Create new executor based on variables passed in request"
  2084        operationId: createExecutor
  2085        requestBody:
  2086          description: executor request body data
  2087          required: true
  2088          content:
  2089            application/json:
  2090              schema:
  2091                $ref: "#/components/schemas/ExecutorUpsertRequest"
  2092            text/yaml:
  2093              schema:
  2094                type: string
  2095        responses:
  2096          200:
  2097            description: "successful operation"
  2098            content:
  2099              text/yaml:
  2100                schema:
  2101                  type: string
  2102          201:
  2103            description: "successful operation"
  2104            content:
  2105              application/json:
  2106                schema:
  2107                  $ref: "#/components/schemas/ExecutorDetails"
  2108          400:
  2109            description: "problem with executor definition - probably some bad input occurs (invalid JSON body or similar)"
  2110            content:
  2111              application/problem+json:
  2112                schema:
  2113                  type: array
  2114                  items:
  2115                    $ref: "#/components/schemas/Problem"
  2116          502:
  2117            description: "problem with communicating with kubernetes cluster"
  2118            content:
  2119              application/problem+json:
  2120                schema:
  2121                  type: array
  2122                  items:
  2123                    $ref: "#/components/schemas/Problem"
  2124      delete:
  2125        tags:
  2126          - executor
  2127          - api
  2128        summary: "Delete executors"
  2129        description: "Deletes labeled executors"
  2130        operationId: deleteExecutors
  2131        parameters:
  2132          - $ref: "#/components/parameters/Selector"
  2133        responses:
  2134          204:
  2135            description: "no content"
  2136          502:
  2137            description: "problem with read information from kubernetes cluster"
  2138            content:
  2139              application/problem+json:
  2140                schema:
  2141                  type: array
  2142                  items:
  2143                    $ref: "#/components/schemas/Problem"
  2144  
  2145    /executors/{id}:
  2146      delete:
  2147        parameters:
  2148          - $ref: "#/components/parameters/ID"
  2149        tags:
  2150          - api
  2151          - executor
  2152        summary: "Delete executor"
  2153        description: "Deletes executor by its name"
  2154        operationId: deleteExecutor
  2155        responses:
  2156          204:
  2157            description: executor deleted successfuly
  2158          502:
  2159            description: "problem with communicating with kubernetes cluster"
  2160            content:
  2161              application/problem+json:
  2162                schema:
  2163                  type: array
  2164                  items:
  2165                    $ref: "#/components/schemas/Problem"
  2166  
  2167      get:
  2168        parameters:
  2169          - $ref: "#/components/parameters/ID"
  2170        tags:
  2171          - api
  2172          - executor
  2173        summary: "Get executor details"
  2174        description: "Returns executors data with executions passed to executor"
  2175        operationId: getExecutor
  2176        responses:
  2177          200:
  2178            description: successful operation
  2179            content:
  2180              application/json:
  2181                schema:
  2182                  $ref: "#/components/schemas/ExecutorDetails"
  2183              text/yaml:
  2184                schema:
  2185                  type: string
  2186          400:
  2187            description: "problem with input for CRD generation"
  2188            content:
  2189              application/problem+json:
  2190                schema:
  2191                  type: array
  2192                  items:
  2193                    $ref: "#/components/schemas/Problem"
  2194          502:
  2195            description: "problem with communicating with kubernetes cluster"
  2196            content:
  2197              application/problem+json:
  2198                schema:
  2199                  type: array
  2200                  items:
  2201                    $ref: "#/components/schemas/Problem"
  2202          500:
  2203            description: "problem with getting executor data"
  2204            content:
  2205              application/problem+json:
  2206                schema:
  2207                  type: array
  2208                  items:
  2209                    $ref: "#/components/schemas/Problem"
  2210  
  2211      patch:
  2212        parameters:
  2213          - $ref: "#/components/parameters/ID"
  2214        tags:
  2215          - executor
  2216          - api
  2217        summary: "Update executor"
  2218        description: "Update new executor based on variables passed in request"
  2219        operationId: updateExecutor
  2220        requestBody:
  2221          description: executor request body data
  2222          required: true
  2223          content:
  2224            application/json:
  2225              schema:
  2226                $ref: "#/components/schemas/ExecutorUpdateRequest"
  2227            text/yaml:
  2228              schema:
  2229                type: string
  2230        responses:
  2231          200:
  2232            description: "successful operation"
  2233            content:
  2234              application/json:
  2235                schema:
  2236                  $ref: "#/components/schemas/ExecutorDetails"
  2237          400:
  2238            description: "problem with executor definition - probably some bad input occurs (invalid JSON body or similar)"
  2239            content:
  2240              application/problem+json:
  2241                schema:
  2242                  type: array
  2243                  items:
  2244                    $ref: "#/components/schemas/Problem"
  2245          404:
  2246            description: "executor not found"
  2247            content:
  2248              application/problem+json:
  2249                schema:
  2250                  type: array
  2251                  items:
  2252                    $ref: "#/components/schemas/Problem"
  2253          502:
  2254            description: "problem with communicating with kubernetes cluster"
  2255            content:
  2256              application/problem+json:
  2257                schema:
  2258                  type: array
  2259                  items:
  2260                    $ref: "#/components/schemas/Problem"
  2261  
  2262    /executor-by-types:
  2263      get:
  2264        parameters:
  2265          - $ref: "#/components/parameters/TestType"
  2266        tags:
  2267          - api
  2268          - executor
  2269        summary: "Get executor details by type"
  2270        description: "Returns executors data with executions passed to executor"
  2271        operationId: getExecutorByType
  2272        responses:
  2273          200:
  2274            description: successful operation
  2275            content:
  2276              application/json:
  2277                schema:
  2278                  $ref: "#/components/schemas/ExecutorDetails"
  2279              text/yaml:
  2280                schema:
  2281                  type: string
  2282          400:
  2283            description: "problem with input for CRD generation"
  2284            content:
  2285              application/problem+json:
  2286                schema:
  2287                  type: array
  2288                  items:
  2289                    $ref: "#/components/schemas/Problem"
  2290          502:
  2291            description: "problem with communicating with kubernetes cluster"
  2292            content:
  2293              application/problem+json:
  2294                schema:
  2295                  type: array
  2296                  items:
  2297                    $ref: "#/components/schemas/Problem"
  2298          500:
  2299            description: "problem with getting executor data"
  2300            content:
  2301              application/problem+json:
  2302                schema:
  2303                  type: array
  2304                  items:
  2305                    $ref: "#/components/schemas/Problem"
  2306  
  2307    /labels:
  2308      get:
  2309        tags:
  2310          - labels
  2311        summary: "List labels"
  2312        description: "list all available labels"
  2313        operationId: listLabels
  2314        responses:
  2315          200:
  2316            description: "successful operation"
  2317            content:
  2318              application/json:
  2319                schema:
  2320                  type: object
  2321                  additionalProperties:
  2322                    type: array
  2323                    items:
  2324                      type: string
  2325                  example:
  2326                    app:
  2327                      - backend
  2328                    env:
  2329                      - prod
  2330                    toDelete:
  2331                      - "yes"
  2332          502:
  2333            description: "problem with read information from kubernetes cluster"
  2334            content:
  2335              application/problem+json:
  2336                schema:
  2337                  type: array
  2338                  items:
  2339                    $ref: "#/components/schemas/Problem"
  2340  
  2341    /webhooks:
  2342      get:
  2343        tags:
  2344          - webhook
  2345          - api
  2346        summary: "List webhooks"
  2347        description: "List webhooks available in cluster"
  2348        operationId: listWebhooks
  2349        parameters:
  2350          - $ref: "#/components/parameters/Selector"
  2351        responses:
  2352          200:
  2353            description: "successful operation"
  2354            content:
  2355              application/json:
  2356                schema:
  2357                  type: array
  2358                  items:
  2359                    $ref: "#/components/schemas/Webhook"
  2360              text/yaml:
  2361                schema:
  2362                  type: string
  2363          400:
  2364            description: "problem with input for CRD generation"
  2365            content:
  2366              application/problem+json:
  2367                schema:
  2368                  type: array
  2369                  items:
  2370                    $ref: "#/components/schemas/Problem"
  2371          502:
  2372            description: "problem with read information from kubernetes cluster"
  2373            content:
  2374              application/problem+json:
  2375                schema:
  2376                  type: array
  2377                  items:
  2378                    $ref: "#/components/schemas/Problem"
  2379      post:
  2380        tags:
  2381          - webhook
  2382          - api
  2383        summary: "Create new webhook"
  2384        description: "Create new webhook based on variables passed in request"
  2385        operationId: createWebhook
  2386        requestBody:
  2387          description: webhook request body data
  2388          required: true
  2389          content:
  2390            application/json:
  2391              schema:
  2392                $ref: "#/components/schemas/WebhookCreateRequest"
  2393            text/yaml:
  2394              schema:
  2395                type: string
  2396        responses:
  2397          200:
  2398            description: "successful operation"
  2399            content:
  2400              text/yaml:
  2401                schema:
  2402                  type: string
  2403          201:
  2404            description: "successful operation"
  2405            content:
  2406              application/json:
  2407                schema:
  2408                  $ref: "#/components/schemas/Webhook"
  2409          400:
  2410            description: "problem with webhook definition - probably some bad input occurs (invalid JSON body or similar)"
  2411            content:
  2412              application/problem+json:
  2413                schema:
  2414                  type: array
  2415                  items:
  2416                    $ref: "#/components/schemas/Problem"
  2417          502:
  2418            description: "problem with communicating with kubernetes cluster"
  2419            content:
  2420              application/problem+json:
  2421                schema:
  2422                  type: array
  2423                  items:
  2424                    $ref: "#/components/schemas/Problem"
  2425      delete:
  2426        tags:
  2427          - webhook
  2428          - api
  2429        summary: "Delete webhooks"
  2430        description: "Deletes labeled webhooks"
  2431        operationId: deleteWebhooks
  2432        parameters:
  2433          - $ref: "#/components/parameters/Selector"
  2434        responses:
  2435          204:
  2436            description: "no content"
  2437          502:
  2438            description: "problem with read information from kubernetes cluster"
  2439            content:
  2440              application/problem+json:
  2441                schema:
  2442                  type: array
  2443                  items:
  2444                    $ref: "#/components/schemas/Problem"
  2445  
  2446    /webhooks/{id}:
  2447      delete:
  2448        parameters:
  2449          - $ref: "#/components/parameters/ID"
  2450        tags:
  2451          - api
  2452          - webhook
  2453        summary: "Delete webhook"
  2454        description: "Deletes webhook by its name"
  2455        operationId: deleteWebhook
  2456        responses:
  2457          204:
  2458            description: webhook deleted successfuly
  2459          404:
  2460            description: "webhook not found"
  2461            content:
  2462              application/problem+json:
  2463                schema:
  2464                  type: array
  2465                  items:
  2466                    $ref: "#/components/schemas/Problem"
  2467          502:
  2468            description: "problem with communicating with kubernetes cluster"
  2469            content:
  2470              application/problem+json:
  2471                schema:
  2472                  type: array
  2473                  items:
  2474                    $ref: "#/components/schemas/Problem"
  2475  
  2476      get:
  2477        parameters:
  2478          - $ref: "#/components/parameters/ID"
  2479        tags:
  2480          - api
  2481          - webhook
  2482        summary: "Get webhook details"
  2483        description: "Returns webhook"
  2484        operationId: getWebhook
  2485        responses:
  2486          200:
  2487            description: successful operation
  2488            content:
  2489              application/json:
  2490                schema:
  2491                  $ref: "#/components/schemas/Webhook"
  2492              text/yaml:
  2493                schema:
  2494                  type: string
  2495          400:
  2496            description: "problem with input for CRD generation"
  2497            content:
  2498              application/problem+json:
  2499                schema:
  2500                  type: array
  2501                  items:
  2502                    $ref: "#/components/schemas/Problem"
  2503          404:
  2504            description: "webhook not found"
  2505            content:
  2506              application/problem+json:
  2507                schema:
  2508                  type: array
  2509                  items:
  2510                    $ref: "#/components/schemas/Problem"
  2511          500:
  2512            description: "problem with getting webhook data"
  2513            content:
  2514              application/problem+json:
  2515                schema:
  2516                  type: array
  2517                  items:
  2518                    $ref: "#/components/schemas/Problem"
  2519          502:
  2520            description: "problem with communicating with kubernetes cluster"
  2521            content:
  2522              application/problem+json:
  2523                schema:
  2524                  type: array
  2525                  items:
  2526                    $ref: "#/components/schemas/Problem"
  2527      patch:
  2528        parameters:
  2529          - $ref: "#/components/parameters/ID"
  2530        tags:
  2531          - webhook
  2532          - api
  2533        summary: "Update new webhook"
  2534        description: "Update new webhook based on variables passed in request"
  2535        operationId: updateWebhook
  2536        requestBody:
  2537          description: webhook request body data
  2538          required: true
  2539          content:
  2540            application/json:
  2541              schema:
  2542                $ref: "#/components/schemas/WebhookUpdateRequest"
  2543            text/yaml:
  2544              schema:
  2545                type: string
  2546        responses:
  2547          200:
  2548            description: "successful operation"
  2549            content:
  2550              application/json:
  2551                schema:
  2552                  $ref: "#/components/schemas/Webhook"
  2553          400:
  2554            description: "problem with webhook definition - probably some bad input occurs (invalid JSON body or similar)"
  2555            content:
  2556              application/problem+json:
  2557                schema:
  2558                  type: array
  2559                  items:
  2560                    $ref: "#/components/schemas/Problem"
  2561          404:
  2562            description: "webhook not found"
  2563            content:
  2564              application/problem+json:
  2565                schema:
  2566                  type: array
  2567                  items:
  2568                    $ref: "#/components/schemas/Problem"
  2569          502:
  2570            description: "problem with communicating with kubernetes cluster"
  2571            content:
  2572              application/problem+json:
  2573                schema:
  2574                  type: array
  2575                  items:
  2576                    $ref: "#/components/schemas/Problem"
  2577  
  2578    /templates:
  2579      get:
  2580        tags:
  2581          - templates
  2582          - api
  2583        summary: "List templates"
  2584        description: "List templates available in cluster"
  2585        operationId: listTemplates
  2586        parameters:
  2587          - $ref: "#/components/parameters/Selector"
  2588        responses:
  2589          200:
  2590            description: "successful operation"
  2591            content:
  2592              application/json:
  2593                schema:
  2594                  type: array
  2595                  items:
  2596                    $ref: "#/components/schemas/Template"
  2597              text/yaml:
  2598                schema:
  2599                  type: string
  2600          400:
  2601            description: "problem with input for CRD generation"
  2602            content:
  2603              application/problem+json:
  2604                schema:
  2605                  type: array
  2606                  items:
  2607                    $ref: "#/components/schemas/Problem"
  2608          502:
  2609            description: "problem with read information from kubernetes cluster"
  2610            content:
  2611              application/problem+json:
  2612                schema:
  2613                  type: array
  2614                  items:
  2615                    $ref: "#/components/schemas/Problem"
  2616      post:
  2617        tags:
  2618          - template
  2619          - api
  2620        summary: "Create new template"
  2621        description: "Create new template based on variables passed in request"
  2622        operationId: createTemplate
  2623        requestBody:
  2624          description: template request body data
  2625          required: true
  2626          content:
  2627            application/json:
  2628              schema:
  2629                $ref: "#/components/schemas/TemplateCreateRequest"
  2630            text/yaml:
  2631              schema:
  2632                type: string
  2633        responses:
  2634          200:
  2635            description: "successful operation"
  2636            content:
  2637              text/yaml:
  2638                schema:
  2639                  type: string
  2640          201:
  2641            description: "successful operation"
  2642            content:
  2643              application/json:
  2644                schema:
  2645                  $ref: "#/components/schemas/Template"
  2646          400:
  2647            description: "problem with template definition - probably some bad input occurs (invalid JSON body or similar)"
  2648            content:
  2649              application/problem+json:
  2650                schema:
  2651                  type: array
  2652                  items:
  2653                    $ref: "#/components/schemas/Problem"
  2654          502:
  2655            description: "problem with communicating with kubernetes cluster"
  2656            content:
  2657              application/problem+json:
  2658                schema:
  2659                  type: array
  2660                  items:
  2661                    $ref: "#/components/schemas/Problem"
  2662      delete:
  2663        tags:
  2664          - template
  2665          - api
  2666        summary: "Delete templates"
  2667        description: "Deletes labeled templates"
  2668        operationId: deleteTemplates
  2669        parameters:
  2670          - $ref: "#/components/parameters/Selector"
  2671        responses:
  2672          204:
  2673            description: "no content"
  2674          502:
  2675            description: "problem with read information from kubernetes cluster"
  2676            content:
  2677              application/problem+json:
  2678                schema:
  2679                  type: array
  2680                  items:
  2681                    $ref: "#/components/schemas/Problem"
  2682  
  2683    /templates/{id}:
  2684      delete:
  2685        parameters:
  2686          - $ref: "#/components/parameters/ID"
  2687        tags:
  2688          - api
  2689          - template
  2690        summary: "Delete template"
  2691        description: "Deletes template by its name"
  2692        operationId: deleteTemplate
  2693        responses:
  2694          204:
  2695            description: template deleted successfuly
  2696          404:
  2697            description: "template not found"
  2698            content:
  2699              application/problem+json:
  2700                schema:
  2701                  type: array
  2702                  items:
  2703                    $ref: "#/components/schemas/Problem"
  2704          502:
  2705            description: "problem with communicating with kubernetes cluster"
  2706            content:
  2707              application/problem+json:
  2708                schema:
  2709                  type: array
  2710                  items:
  2711                    $ref: "#/components/schemas/Problem"
  2712  
  2713      get:
  2714        parameters:
  2715          - $ref: "#/components/parameters/ID"
  2716        tags:
  2717          - api
  2718          - template
  2719        summary: "Get template details"
  2720        description: "Returns template"
  2721        operationId: getTemplate
  2722        responses:
  2723          200:
  2724            description: successful operation
  2725            content:
  2726              application/json:
  2727                schema:
  2728                  $ref: "#/components/schemas/Template"
  2729              text/yaml:
  2730                schema:
  2731                  type: string
  2732          400:
  2733            description: "problem with input for CRD generation"
  2734            content:
  2735              application/problem+json:
  2736                schema:
  2737                  type: array
  2738                  items:
  2739                    $ref: "#/components/schemas/Problem"
  2740          404:
  2741            description: "template not found"
  2742            content:
  2743              application/problem+json:
  2744                schema:
  2745                  type: array
  2746                  items:
  2747                    $ref: "#/components/schemas/Problem"
  2748          500:
  2749            description: "problem with getting template data"
  2750            content:
  2751              application/problem+json:
  2752                schema:
  2753                  type: array
  2754                  items:
  2755                    $ref: "#/components/schemas/Problem"
  2756          502:
  2757            description: "problem with communicating with kubernetes cluster"
  2758            content:
  2759              application/problem+json:
  2760                schema:
  2761                  type: array
  2762                  items:
  2763                    $ref: "#/components/schemas/Problem"
  2764      patch:
  2765        parameters:
  2766          - $ref: "#/components/parameters/ID"
  2767        tags:
  2768          - template
  2769          - api
  2770        summary: "Update new template"
  2771        description: "Update new template based on variables passed in request"
  2772        operationId: updateTemplate
  2773        requestBody:
  2774          description: template request body data
  2775          required: true
  2776          content:
  2777            application/json:
  2778              schema:
  2779                $ref: "#/components/schemas/TemplateUpdateRequest"
  2780            text/yaml:
  2781              schema:
  2782                type: string
  2783        responses:
  2784          200:
  2785            description: "successful operation"
  2786            content:
  2787              application/json:
  2788                schema:
  2789                  $ref: "#/components/schemas/Template"
  2790          400:
  2791            description: "problem with template definition - probably some bad input occurs (invalid JSON body or similar)"
  2792            content:
  2793              application/problem+json:
  2794                schema:
  2795                  type: array
  2796                  items:
  2797                    $ref: "#/components/schemas/Problem"
  2798          404:
  2799            description: "template not found"
  2800            content:
  2801              application/problem+json:
  2802                schema:
  2803                  type: array
  2804                  items:
  2805                    $ref: "#/components/schemas/Problem"
  2806          502:
  2807            description: "problem with communicating with kubernetes cluster"
  2808            content:
  2809              application/problem+json:
  2810                schema:
  2811                  type: array
  2812                  items:
  2813                    $ref: "#/components/schemas/Problem"
  2814  
  2815    /config:
  2816      patch:
  2817        tags:
  2818          - api
  2819        summary: "Update config"
  2820        description: "Updates config in cluster storage state"
  2821        operationId: updateConfigKey
  2822        requestBody:
  2823          description: config request body data
  2824          required: true
  2825          content:
  2826            application/json:
  2827              schema:
  2828                $ref: "#/components/schemas/Config"
  2829        responses:
  2830          200:
  2831            description: update successful
  2832            content:
  2833              application/json:
  2834                schema:
  2835                  $ref: "#/components/schemas/Config"
  2836          400:
  2837            description: "problem with input"
  2838            content:
  2839              application/problem+json:
  2840                schema:
  2841                  type: array
  2842                  items:
  2843                    $ref: "#/components/schemas/Problem"
  2844          404:
  2845            description: "config not found"
  2846            content:
  2847              application/problem+json:
  2848                schema:
  2849                  type: array
  2850                  items:
  2851                    $ref: "#/components/schemas/Problem"
  2852          500:
  2853            description: "problem with updating key in cluster storage"
  2854            content:
  2855              application/problem+json:
  2856                schema:
  2857                  type: array
  2858                  items:
  2859                    $ref: "#/components/schemas/Problem"
  2860      get:
  2861        tags:
  2862          - api
  2863        summary: "Get config"
  2864        description: "Get config from cluster storage state"
  2865        operationId: getConfig
  2866        responses:
  2867          200:
  2868            description: get successful
  2869            content:
  2870              application/json:
  2871                schema:
  2872                  $ref: "#/components/schemas/Config"
  2873          404:
  2874            description: "config not found"
  2875            content:
  2876              application/problem+json:
  2877                schema:
  2878                  type: array
  2879                  items:
  2880                    $ref: "#/components/schemas/Problem"
  2881          500:
  2882            description: "problem with getting config from cluster storage"
  2883            content:
  2884              application/problem+json:
  2885                schema:
  2886                  type: array
  2887                  items:
  2888                    $ref: "#/components/schemas/Problem"
  2889    /debug:
  2890      get:
  2891        tags:
  2892          - api
  2893        summary: "Get debug information"
  2894        description: "Gets information that is needed for debugging and opening Testkube bug reports"
  2895        operationId: getDebugInfo
  2896        responses:
  2897          200:
  2898            description: "successful operation"
  2899            content:
  2900              application/json:
  2901                schema:
  2902                  $ref: "#/components/schemas/DebugInfo"
  2903          500:
  2904            description: "problem with getting execution logs from storage"
  2905            content:
  2906              application/problem+json:
  2907                schema:
  2908                  type: array
  2909                  items:
  2910                    $ref: "#/components/schemas/Problem"
  2911          502:
  2912            description: "problem with getting debug information from the Kuberenetes cluster"
  2913            content:
  2914              application/problem+json:
  2915                schema:
  2916                  type: array
  2917                  items:
  2918                    $ref: "#/components/schemas/Problem"
  2919  
  2920    /test-sources:
  2921      get:
  2922        tags:
  2923          - test-sources
  2924          - api
  2925        summary: "List test sources"
  2926        description: "List test sources available in cluster"
  2927        operationId: listTestSources
  2928        parameters:
  2929          - $ref: "#/components/parameters/Selector"
  2930        responses:
  2931          200:
  2932            description: "successful operation"
  2933            content:
  2934              application/json:
  2935                schema:
  2936                  type: array
  2937                  items:
  2938                    $ref: "#/components/schemas/TestSource"
  2939              text/yaml:
  2940                schema:
  2941                  type: string
  2942          400:
  2943            description: "problem with input for CRD generation"
  2944            content:
  2945              application/problem+json:
  2946                schema:
  2947                  type: array
  2948                  items:
  2949                    $ref: "#/components/schemas/Problem"
  2950          502:
  2951            description: "problem with read information from kubernetes cluster"
  2952            content:
  2953              application/problem+json:
  2954                schema:
  2955                  type: array
  2956                  items:
  2957                    $ref: "#/components/schemas/Problem"
  2958      post:
  2959        tags:
  2960          - test-sources
  2961          - api
  2962        summary: "Create new test source"
  2963        description: "Create new test source based on variables passed in request"
  2964        operationId: createTestSource
  2965        requestBody:
  2966          description: test source request body data
  2967          required: true
  2968          content:
  2969            application/json:
  2970              schema:
  2971                $ref: "#/components/schemas/TestSourceUpsertRequest"
  2972            text/yaml:
  2973              schema:
  2974                type: string
  2975        responses:
  2976          200:
  2977            description: "successful operation"
  2978            content:
  2979              text/yaml:
  2980                schema:
  2981                  type: string
  2982          201:
  2983            description: "successful operation"
  2984            content:
  2985              application/json:
  2986                schema:
  2987                  $ref: "#/components/schemas/TestSource"
  2988          400:
  2989            description: "problem with test source definition - probably some bad input occurs (invalid JSON body or similar)"
  2990            content:
  2991              application/problem+json:
  2992                schema:
  2993                  type: array
  2994                  items:
  2995                    $ref: "#/components/schemas/Problem"
  2996          502:
  2997            description: "problem with communicating with kubernetes cluster"
  2998            content:
  2999              application/problem+json:
  3000                schema:
  3001                  type: array
  3002                  items:
  3003                    $ref: "#/components/schemas/Problem"
  3004      patch:
  3005        tags:
  3006          - test-sources
  3007          - api
  3008        summary: "Process test source batch (create, update, delete)"
  3009        description: "Process test source batch based on variables passed in request"
  3010        operationId: processTestSourceBatch
  3011        requestBody:
  3012          description: test source batch request body data
  3013          required: true
  3014          content:
  3015            application/json:
  3016              schema:
  3017                $ref: "#/components/schemas/TestSourceBatchRequest"
  3018        responses:
  3019          200:
  3020            description: "successful operation"
  3021            content:
  3022              application/json:
  3023                schema:
  3024                  $ref: "#/components/schemas/TestSourceBatchResult"
  3025          400:
  3026            description: "problem with test source definition - probably some bad input occurs (invalid JSON body or similar)"
  3027            content:
  3028              application/problem+json:
  3029                schema:
  3030                  type: array
  3031                  items:
  3032                    $ref: "#/components/schemas/Problem"
  3033          502:
  3034            description: "problem with communicating with kubernetes cluster"
  3035            content:
  3036              application/problem+json:
  3037                schema:
  3038                  type: array
  3039                  items:
  3040                    $ref: "#/components/schemas/Problem"
  3041      delete:
  3042        tags:
  3043          - test-sources
  3044          - api
  3045        summary: "Delete test sources"
  3046        description: "Deletes labeled test sources"
  3047        operationId: deleteTestSources
  3048        parameters:
  3049          - $ref: "#/components/parameters/Selector"
  3050        responses:
  3051          204:
  3052            description: "no content"
  3053          502:
  3054            description: "problem with read information from kubernetes cluster"
  3055            content:
  3056              application/problem+json:
  3057                schema:
  3058                  type: array
  3059                  items:
  3060                    $ref: "#/components/schemas/Problem"
  3061  
  3062    /test-sources/{id}:
  3063      patch:
  3064        parameters:
  3065          - $ref: "#/components/parameters/ID"
  3066        tags:
  3067          - test-sources
  3068          - api
  3069        summary: "Update test source"
  3070        description: "Update test source based on test content or git based data"
  3071        operationId: updateTestSource
  3072        requestBody:
  3073          description: test source body
  3074          required: true
  3075          content:
  3076            application/json:
  3077              schema:
  3078                $ref: "#/components/schemas/TestSourceUpdateRequest"
  3079            text/yaml:
  3080              schema:
  3081                type: string
  3082        responses:
  3083          200:
  3084            description: "successful operation"
  3085            content:
  3086              application/json:
  3087                schema:
  3088                  $ref: "#/components/schemas/TestSource"
  3089          400:
  3090            description: "problem with test source definition - probably some bad input occurs (invalid JSON body or similar)"
  3091            content:
  3092              application/problem+json:
  3093                schema:
  3094                  type: array
  3095                  items:
  3096                    $ref: "#/components/schemas/Problem"
  3097          404:
  3098            description: "test source not found"
  3099            content:
  3100              application/problem+json:
  3101                schema:
  3102                  type: array
  3103                  items:
  3104                    $ref: "#/components/schemas/Problem"
  3105          502:
  3106            description: "problem with communicating with kubernetes cluster"
  3107            content:
  3108              application/problem+json:
  3109                schema:
  3110                  type: array
  3111                  items:
  3112                    $ref: "#/components/schemas/Problem"
  3113      delete:
  3114        parameters:
  3115          - $ref: "#/components/parameters/ID"
  3116        tags:
  3117          - api
  3118          - test-sources
  3119        summary: "Delete test source"
  3120        description: "Deletes test source by its name"
  3121        operationId: deleteTestSource
  3122        responses:
  3123          204:
  3124            description: test source deleted successfuly
  3125          502:
  3126            description: "problem with communicating with kubernetes cluster"
  3127            content:
  3128              application/problem+json:
  3129                schema:
  3130                  type: array
  3131                  items:
  3132                    $ref: "#/components/schemas/Problem"
  3133      get:
  3134        parameters:
  3135          - $ref: "#/components/parameters/ID"
  3136        tags:
  3137          - api
  3138          - test-sources
  3139        summary: "Get test source data"
  3140        description: "Returns test sources data"
  3141        operationId: getTestSource
  3142        responses:
  3143          200:
  3144            description: successful operation
  3145            content:
  3146              application/json:
  3147                schema:
  3148                  $ref: "#/components/schemas/TestSource"
  3149              text/yaml:
  3150                schema:
  3151                  type: string
  3152          400:
  3153            description: "problem with input for CRD generation"
  3154            content:
  3155              application/problem+json:
  3156                schema:
  3157                  type: array
  3158                  items:
  3159                    $ref: "#/components/schemas/Problem"
  3160          404:
  3161            description: "test source not found"
  3162            content:
  3163              application/problem+json:
  3164                schema:
  3165                  type: array
  3166                  items:
  3167                    $ref: "#/components/schemas/Problem"
  3168          502:
  3169            description: "problem with communicating with kubernetes cluster"
  3170            content:
  3171              application/problem+json:
  3172                schema:
  3173                  type: array
  3174                  items:
  3175                    $ref: "#/components/schemas/Problem"
  3176          500:
  3177            description: "problem with getting test source data"
  3178            content:
  3179              application/problem+json:
  3180                schema:
  3181                  type: array
  3182                  items:
  3183                    $ref: "#/components/schemas/Problem"
  3184  
  3185    /uploads:
  3186      post:
  3187        tags:
  3188          - api
  3189          - tests
  3190          - executions
  3191        summary: "Upload file"
  3192        description: "Upload file to be used in executions and tests"
  3193        operationId: uploads
  3194        requestBody:
  3195          $ref: "#/components/requestBodies/UploadsBody"
  3196        responses:
  3197          200:
  3198            description: "successful operation"
  3199            content:
  3200              application/json:
  3201                schema:
  3202                  type: string
  3203              text/yaml:
  3204                schema:
  3205                  type: string
  3206          400:
  3207            description: "problem with the input"
  3208            content:
  3209              application/problem+json:
  3210                schema:
  3211                  type: array
  3212                  items:
  3213                    $ref: "#/components/schemas/Problem"
  3214          500:
  3215            description: "could not upload file"
  3216            content:
  3217              application/problem+json:
  3218                schema:
  3219                  type: array
  3220                  items:
  3221                    $ref: "#/components/schemas/Problem"
  3222  
  3223    /repositories:
  3224      post:
  3225        tags:
  3226          - repository
  3227          - api
  3228        summary: "Validate new repository"
  3229        description: "Validate new repository based on variables passed in request"
  3230        operationId: validateRepository
  3231        requestBody:
  3232          description: repository request body data
  3233          required: true
  3234          content:
  3235            application/json:
  3236              schema:
  3237                $ref: "#/components/schemas/Repository"
  3238        responses:
  3239          204:
  3240            description: "no content"
  3241          400:
  3242            description: "problem with repository definition - probably some bad input occurs (invalid JSON body or similar)"
  3243            content:
  3244              application/problem+json:
  3245                schema:
  3246                  type: array
  3247                  items:
  3248                    $ref: "#/components/schemas/Problem"
  3249          500:
  3250            description: "problem with creating folder for partial git checkout"
  3251            content:
  3252              application/problem+json:
  3253                schema:
  3254                  type: array
  3255                  items:
  3256                    $ref: "#/components/schemas/Problem"
  3257          502:
  3258            description: "problem with communicating with kubernetes cluster or git server"
  3259            content:
  3260              application/problem+json:
  3261                schema:
  3262                  type: array
  3263                  items:
  3264                    $ref: "#/components/schemas/Problem"
  3265  
  3266    /secrets:
  3267      get:
  3268        tags:
  3269          - secrets
  3270          - api
  3271        parameters:
  3272          - $ref: "#/components/parameters/All"
  3273          - $ref: "#/components/parameters/Namespace"        
  3274        summary: "List secrets"
  3275        description: "List secrets available in cluster"
  3276        operationId: listSecrets
  3277        responses:
  3278          200:
  3279            description: "successful operation"
  3280            content:
  3281              application/json:
  3282                schema:
  3283                  type: array
  3284                  items:
  3285                    $ref: "#/components/schemas/Secret"
  3286          502:
  3287            description: "problem with communicating with kubernetes cluster or git server"
  3288            content:
  3289              application/problem+json:
  3290                schema:
  3291                  type: array
  3292                  items:
  3293                    $ref: "#/components/schemas/Problem"
  3294  
  3295    /test-workflows:
  3296      get:
  3297        tags:
  3298          - test-workflows
  3299          - api
  3300          - pro
  3301        parameters:
  3302          - $ref: "#/components/parameters/Selector"
  3303        summary: List test workflows
  3304        description: List test workflows from the kubernetes cluster
  3305        operationId: listTestWorkflows
  3306        responses:
  3307          200:
  3308            description: successful list operation
  3309            content:
  3310              application/json:
  3311                schema:
  3312                  type: array
  3313                  items:
  3314                    $ref: "#/components/schemas/TestWorkflow"
  3315              text/yaml:
  3316                schema:
  3317                  type: string
  3318          400:
  3319            description: "problem with selector parsing - probably some bad input occurs"
  3320            content:
  3321              application/problem+json:
  3322                schema:
  3323                  type: array
  3324                  items:
  3325                    $ref: "#/components/schemas/Problem"
  3326          402:
  3327            description: "missing Pro subscription for a commercial feature"
  3328            content:
  3329              application/problem+json:
  3330                schema:
  3331                  type: array
  3332                  items:
  3333                    $ref: "#/components/schemas/Problem"
  3334          502:
  3335            description: problem communicating with kubernetes cluster
  3336            content:
  3337              application/problem+json:
  3338                schema:
  3339                  type: array
  3340                  items:
  3341                    $ref: "#/components/schemas/Problem"
  3342      delete:
  3343        tags:
  3344          - test-workflows
  3345          - api
  3346          - pro
  3347        parameters:
  3348          - $ref: "#/components/parameters/Selector"
  3349        summary: Delete test workflows
  3350        description: Delete test workflows from the kubernetes cluster
  3351        operationId: deleteTestWorkflows
  3352        responses:
  3353          204:
  3354            description: no content
  3355          400:
  3356            description: "problem with selector parsing - probably some bad input occurs"
  3357            content:
  3358              application/problem+json:
  3359                schema:
  3360                  type: array
  3361                  items:
  3362                    $ref: "#/components/schemas/Problem"
  3363          402:
  3364            description: "missing Pro subscription for a commercial feature"
  3365            content:
  3366              application/problem+json:
  3367                schema:
  3368                  type: array
  3369                  items:
  3370                    $ref: "#/components/schemas/Problem"
  3371          502:
  3372            description: problem communicating with kubernetes cluster
  3373            content:
  3374              application/problem+json:
  3375                schema:
  3376                  type: array
  3377                  items:
  3378                    $ref: "#/components/schemas/Problem"
  3379      post:
  3380        tags:
  3381          - test-workflows
  3382          - api
  3383          - pro
  3384        summary: Create test workflow
  3385        description: Create test workflow in the kubernetes cluster
  3386        operationId: createTestWorkflow
  3387        requestBody:
  3388          description: test workflow body
  3389          required: true
  3390          content:
  3391            application/json:
  3392              schema:
  3393                $ref: "#/components/schemas/TestWorkflow"
  3394            text/yaml:
  3395              schema:
  3396                type: string
  3397        responses:
  3398          200:
  3399            description: successful creation
  3400            content:
  3401              application/json:
  3402                schema:
  3403                  type: array
  3404                  items:
  3405                    $ref: "#/components/schemas/TestWorkflow"
  3406              text/yaml:
  3407                schema:
  3408                  type: string
  3409          400:
  3410            description: "problem with body parsing - probably some bad input occurs"
  3411            content:
  3412              application/problem+json:
  3413                schema:
  3414                  type: array
  3415                  items:
  3416                    $ref: "#/components/schemas/Problem"
  3417          402:
  3418            description: "missing Pro subscription for a commercial feature"
  3419            content:
  3420              application/problem+json:
  3421                schema:
  3422                  type: array
  3423                  items:
  3424                    $ref: "#/components/schemas/Problem"
  3425          502:
  3426            description: problem communicating with kubernetes cluster
  3427            content:
  3428              application/problem+json:
  3429                schema:
  3430                  type: array
  3431                  items:
  3432                    $ref: "#/components/schemas/Problem"
  3433    /test-workflow-with-executions:
  3434      get:
  3435        tags:
  3436          - test-workflows
  3437          - api
  3438          - pro
  3439        parameters:
  3440          - $ref: "#/components/parameters/Selector"
  3441        summary: List test workflows with latest execution
  3442        description: List test workflows from the kubernetes cluster with latest execution
  3443        operationId: listTestWorkflowWithExecutions
  3444        responses:
  3445          200:
  3446            description: successful list operation
  3447            content:
  3448              application/json:
  3449                schema:
  3450                  type: array
  3451                  items:
  3452                    $ref: "#/components/schemas/TestWorkflowWithExecutionSummary"
  3453              text/yaml:
  3454                schema:
  3455                  type: string
  3456          400:
  3457            description: "problem with selector parsing - probably some bad input occurs"
  3458            content:
  3459              application/problem+json:
  3460                schema:
  3461                  type: array
  3462                  items:
  3463                    $ref: "#/components/schemas/Problem"
  3464          402:
  3465            description: "missing Pro subscription for a commercial feature"
  3466            content:
  3467              application/problem+json:
  3468                schema:
  3469                  type: array
  3470                  items:
  3471                    $ref: "#/components/schemas/Problem"
  3472          502:
  3473            description: problem communicating with kubernetes cluster
  3474            content:
  3475              application/problem+json:
  3476                schema:
  3477                  type: array
  3478                  items:
  3479                    $ref: "#/components/schemas/Problem"
  3480    /test-workflow-with-executions/{id}:
  3481      get:
  3482        tags:
  3483          - test-workflows
  3484          - api
  3485          - pro
  3486        parameters:
  3487          - $ref: "#/components/parameters/ID"
  3488        summary: Get test workflow details with latest execution
  3489        description: Get test workflow details from the kubernetes cluster with latest execution
  3490        operationId: getTestWorkflowWithExecution
  3491        responses:
  3492          200:
  3493            description: successful operation
  3494            content:
  3495              application/json:
  3496                schema:
  3497                  $ref: "#/components/schemas/TestWorkflowWithExecution"
  3498              text/yaml:
  3499                schema:
  3500                  type: string
  3501          402:
  3502            description: "missing Pro subscription for a commercial feature"
  3503            content:
  3504              application/problem+json:
  3505                schema:
  3506                  type: array
  3507                  items:
  3508                    $ref: "#/components/schemas/Problem"
  3509          404:
  3510            description: "the resource has not been found"
  3511            content:
  3512              application/problem+json:
  3513                schema:
  3514                  type: array
  3515                  items:
  3516                    $ref: "#/components/schemas/Problem"
  3517          502:
  3518            description: problem communicating with kubernetes cluster
  3519            content:
  3520              application/problem+json:
  3521                schema:
  3522                  type: array
  3523                  items:
  3524                    $ref: "#/components/schemas/Problem"
  3525    /test-workflows/{id}/executions:
  3526      get:
  3527        tags:
  3528          - test-workflows
  3529          - api
  3530          - pro
  3531        parameters:
  3532          - $ref: "#/components/parameters/ID"
  3533        summary: List test workflow executions
  3534        description: List test workflow executions
  3535        operationId: listTestWorkflowExecutionsByTestWorkflow
  3536        responses:
  3537          200:
  3538            description: successful list operation
  3539            content:
  3540              application/json:
  3541                schema:
  3542                  type: array
  3543                  items:
  3544                    $ref: "#/components/schemas/TestWorkflowExecutionsResult"
  3545              text/yaml:
  3546                schema:
  3547                  type: string
  3548          400:
  3549            description: "problem with selector parsing - probably some bad input occurs"
  3550            content:
  3551              application/problem+json:
  3552                schema:
  3553                  type: array
  3554                  items:
  3555                    $ref: "#/components/schemas/Problem"
  3556          402:
  3557            description: "missing Pro subscription for a commercial feature"
  3558            content:
  3559              application/problem+json:
  3560                schema:
  3561                  type: array
  3562                  items:
  3563                    $ref: "#/components/schemas/Problem"
  3564          502:
  3565            description: problem communicating with kubernetes cluster
  3566            content:
  3567              application/problem+json:
  3568                schema:
  3569                  type: array
  3570                  items:
  3571                    $ref: "#/components/schemas/Problem"
  3572      post:
  3573        tags:
  3574          - test-workflows
  3575          - api
  3576          - pro
  3577        summary: Execute test workflow
  3578        description: Execute test workflow in the kubernetes cluster
  3579        operationId: executeTestWorkflow
  3580        requestBody:
  3581          description: test workflow execution request
  3582          required: true
  3583          content:
  3584            application/json:
  3585              schema:
  3586                $ref: "#/components/schemas/TestWorkflowExecutionRequest"
  3587        responses:
  3588          200:
  3589            description: successful execution
  3590            content:
  3591              application/json:
  3592                schema:
  3593                  type: array
  3594                  items:
  3595                    $ref: "#/components/schemas/TestWorkflowExecution"
  3596          400:
  3597            description: "problem with body parsing - probably some bad input occurs"
  3598            content:
  3599              application/problem+json:
  3600                schema:
  3601                  type: array
  3602                  items:
  3603                    $ref: "#/components/schemas/Problem"
  3604          402:
  3605            description: "missing Pro subscription for a commercial feature"
  3606            content:
  3607              application/problem+json:
  3608                schema:
  3609                  type: array
  3610                  items:
  3611                    $ref: "#/components/schemas/Problem"
  3612          502:
  3613            description: problem communicating with kubernetes cluster
  3614            content:
  3615              application/problem+json:
  3616                schema:
  3617                  type: array
  3618                  items:
  3619                    $ref: "#/components/schemas/Problem"
  3620    /test-workflows/{id}/metrics:
  3621      get:
  3622        tags:
  3623          - test-workflows
  3624          - api
  3625          - pro
  3626        parameters:
  3627          - $ref: "#/components/parameters/ID"
  3628        summary: Get test workflow metrics
  3629        description: Get metrics of test workflow executions
  3630        operationId: getTestWorkflowMetrics
  3631        responses:
  3632          200:
  3633            description: successful list operation
  3634            content:
  3635              application/json:
  3636                schema:
  3637                  $ref: "#/components/schemas/ExecutionsMetrics"
  3638              text/yaml:
  3639                schema:
  3640                  type: string
  3641          400:
  3642            description: "problem with selector parsing - probably some bad input occurs"
  3643            content:
  3644              application/problem+json:
  3645                schema:
  3646                  type: array
  3647                  items:
  3648                    $ref: "#/components/schemas/Problem"
  3649          402:
  3650            description: "missing Pro subscription for a commercial feature"
  3651            content:
  3652              application/problem+json:
  3653                schema:
  3654                  type: array
  3655                  items:
  3656                    $ref: "#/components/schemas/Problem"
  3657          502:
  3658            description: problem communicating with kubernetes cluster
  3659            content:
  3660              application/problem+json:
  3661                schema:
  3662                  type: array
  3663                  items:
  3664                    $ref: "#/components/schemas/Problem"
  3665    /test-workflows/{id}/executions/{executionID}:
  3666      get:
  3667        tags:
  3668          - test-workflows
  3669          - api
  3670          - pro
  3671        parameters:
  3672          - $ref: "#/components/parameters/ID"
  3673          - $ref: "#/components/parameters/executionID"
  3674        summary: Get test workflow execution
  3675        description: Get test workflow execution details
  3676        operationId: getTestWorkflowExecutionByTestWorkflow
  3677        responses:
  3678          200:
  3679            description: successful list operation
  3680            content:
  3681              application/json:
  3682                schema:
  3683                  $ref: "#/components/schemas/TestWorkflowExecution"
  3684              text/yaml:
  3685                schema:
  3686                  type: string
  3687          400:
  3688            description: "problem with selector parsing - probably some bad input occurs"
  3689            content:
  3690              application/problem+json:
  3691                schema:
  3692                  type: array
  3693                  items:
  3694                    $ref: "#/components/schemas/Problem"
  3695          402:
  3696            description: "missing Pro subscription for a commercial feature"
  3697            content:
  3698              application/problem+json:
  3699                schema:
  3700                  type: array
  3701                  items:
  3702                    $ref: "#/components/schemas/Problem"
  3703          502:
  3704            description: problem communicating with kubernetes cluster
  3705            content:
  3706              application/problem+json:
  3707                schema:
  3708                  type: array
  3709                  items:
  3710                    $ref: "#/components/schemas/Problem"
  3711    /test-workflows/{id}/executions/{executionID}/abort:
  3712      post:
  3713        tags:
  3714          - test-workflows
  3715          - api
  3716          - pro
  3717        parameters:
  3718          - $ref: "#/components/parameters/ID"
  3719          - $ref: "#/components/parameters/executionID"
  3720        summary: Abort test workflow execution
  3721        description: Abort test workflow execution
  3722        operationId: abortTestWorkflowExecutionByTestWorkflow
  3723        responses:
  3724          204:
  3725            description: "no content"
  3726          400:
  3727            description: "problem with selector parsing - probably some bad input occurs"
  3728            content:
  3729              application/problem+json:
  3730                schema:
  3731                  type: array
  3732                  items:
  3733                    $ref: "#/components/schemas/Problem"
  3734          402:
  3735            description: "missing Pro subscription for a commercial feature"
  3736            content:
  3737              application/problem+json:
  3738                schema:
  3739                  type: array
  3740                  items:
  3741                    $ref: "#/components/schemas/Problem"
  3742          502:
  3743            description: problem communicating with kubernetes cluster
  3744            content:
  3745              application/problem+json:
  3746                schema:
  3747                  type: array
  3748                  items:
  3749                    $ref: "#/components/schemas/Problem"
  3750    /test-workflow-executions:
  3751      get:
  3752        tags:
  3753          - test-workflows
  3754          - api
  3755          - pro
  3756        parameters:
  3757          - $ref: "#/components/parameters/ID"
  3758        summary: List test workflow executions
  3759        description: List test workflow executions
  3760        operationId: listTestWorkflowExecutions
  3761        responses:
  3762          200:
  3763            description: successful list operation
  3764            content:
  3765              application/json:
  3766                schema:
  3767                  type: array
  3768                  items:
  3769                    $ref: "#/components/schemas/TestWorkflowExecutionsResult"
  3770              text/yaml:
  3771                schema:
  3772                  type: string
  3773          400:
  3774            description: "problem with selector parsing - probably some bad input occurs"
  3775            content:
  3776              application/problem+json:
  3777                schema:
  3778                  type: array
  3779                  items:
  3780                    $ref: "#/components/schemas/Problem"
  3781          402:
  3782            description: "missing Pro subscription for a commercial feature"
  3783            content:
  3784              application/problem+json:
  3785                schema:
  3786                  type: array
  3787                  items:
  3788                    $ref: "#/components/schemas/Problem"
  3789          502:
  3790            description: problem communicating with kubernetes cluster
  3791            content:
  3792              application/problem+json:
  3793                schema:
  3794                  type: array
  3795                  items:
  3796                    $ref: "#/components/schemas/Problem"
  3797    /test-workflow-executions/{executionID}:
  3798      get:
  3799        tags:
  3800          - test-workflows
  3801          - api
  3802          - pro
  3803        parameters:
  3804          - $ref: "#/components/parameters/executionID"
  3805        summary: Get test workflow execution
  3806        description: Get test workflow execution details
  3807        operationId: getTestWorkflowExecution
  3808        responses:
  3809          200:
  3810            description: successful list operation
  3811            content:
  3812              application/json:
  3813                schema:
  3814                  type: array
  3815                  items:
  3816                    $ref: "#/components/schemas/TestWorkflowExecution"
  3817              text/yaml:
  3818                schema:
  3819                  type: string
  3820          400:
  3821            description: "problem with selector parsing - probably some bad input occurs"
  3822            content:
  3823              application/problem+json:
  3824                schema:
  3825                  type: array
  3826                  items:
  3827                    $ref: "#/components/schemas/Problem"
  3828          402:
  3829            description: "missing Pro subscription for a commercial feature"
  3830            content:
  3831              application/problem+json:
  3832                schema:
  3833                  type: array
  3834                  items:
  3835                    $ref: "#/components/schemas/Problem"
  3836          502:
  3837            description: problem communicating with kubernetes cluster
  3838            content:
  3839              application/problem+json:
  3840                schema:
  3841                  type: array
  3842                  items:
  3843                    $ref: "#/components/schemas/Problem"
  3844  
  3845    /test-workflow-executions/{executionID}/artifacts:
  3846      get:
  3847        parameters:
  3848          - $ref: "#/components/parameters/ID"
  3849        tags:
  3850          - test-workflows
  3851          - artifacts
  3852          - executions
  3853          - api
  3854          - pro
  3855        summary: "Get test workflow execution's artifacts by ID"
  3856        description: "Returns artifacts of the given executionID"
  3857        operationId: getTestWorkflowExecutionArtifacts
  3858        responses:
  3859          200:
  3860            description: successful operation
  3861            content:
  3862              application/json:
  3863                schema:
  3864                  type: array
  3865                  items:
  3866                    $ref: "#/components/schemas/Artifact"
  3867          404:
  3868            description: "execution not found"
  3869            content:
  3870              application/problem+json:
  3871                schema:
  3872                  type: array
  3873                  items:
  3874                    $ref: "#/components/schemas/Problem"
  3875          402:
  3876            description: "missing Pro subscription for a commercial feature"
  3877            content:
  3878              application/problem+json:
  3879                schema:
  3880                  type: array
  3881                  items:
  3882                    $ref: "#/components/schemas/Problem"
  3883          500:
  3884            description: "problem with getting execution's artifacts from storage"
  3885            content:
  3886              application/problem+json:
  3887                schema:
  3888                  type: array
  3889                  items:
  3890                    $ref: "#/components/schemas/Problem"
  3891  
  3892    /test-workflow-executions/{executionID}/artifacts/{filename}:
  3893      get:
  3894        parameters:
  3895          - $ref: "#/components/parameters/ID"
  3896          - $ref: "#/components/parameters/Filename"
  3897        tags:
  3898          - test-workflows
  3899          - artifacts
  3900          - executions
  3901          - api
  3902          - pro
  3903        summary: "Download test workflow artifact"
  3904        description: "Download the artifact file from the given execution"
  3905        operationId: downloadTestWorkflowArtifact
  3906        responses:
  3907          200:
  3908            description: "successful operation"
  3909            content:
  3910              application/octet-stream:
  3911                schema:
  3912                  type: string
  3913                  format: binary
  3914          404:
  3915            description: "execution not found"
  3916            content:
  3917              application/problem+json:
  3918                schema:
  3919                  type: array
  3920                  items:
  3921                    $ref: "#/components/schemas/Problem"
  3922          402:
  3923            description: "missing Pro subscription for a commercial feature"
  3924            content:
  3925              application/problem+json:
  3926                schema:
  3927                  type: array
  3928                  items:
  3929                    $ref: "#/components/schemas/Problem"
  3930          500:
  3931            description: "problem with getting artifacts from storage"
  3932            content:
  3933              application/problem+json:
  3934                schema:
  3935                  type: array
  3936                  items:
  3937                    $ref: "#/components/schemas/Problem"
  3938  
  3939    /test-workflow-executions/{executionID}/artifact-archive:
  3940      get:
  3941        parameters:
  3942          - $ref: "#/components/parameters/ID"
  3943          - $ref: "#/components/parameters/Mask"
  3944        tags:
  3945          - test-workflows
  3946          - artifacts
  3947          - executions
  3948          - api
  3949          - pro
  3950        summary: "Download test workflow artifact archive"
  3951        description: "Download the artifact archive from the given execution"
  3952        operationId: downloadTestWorkflowArtifactArchive
  3953        responses:
  3954          200:
  3955            description: "successful operation"
  3956            content:
  3957              application/octet-stream:
  3958                schema:
  3959                  type: string
  3960                  format: binary
  3961          404:
  3962            description: "execution not found"
  3963            content:
  3964              application/problem+json:
  3965                schema:
  3966                  type: array
  3967                  items:
  3968                    $ref: "#/components/schemas/Problem"
  3969          402:
  3970            description: "missing Pro subscription for a commercial feature"
  3971            content:
  3972              application/problem+json:
  3973                schema:
  3974                  type: array
  3975                  items:
  3976                    $ref: "#/components/schemas/Problem"
  3977          500:
  3978            description: "problem with getting artifact archive from storage"
  3979            content:
  3980              application/problem+json:
  3981                schema:
  3982                  type: array
  3983                  items:
  3984                    $ref: "#/components/schemas/Problem"
  3985  
  3986    /test-workflow-executions/{executionID}/abort:
  3987      post:
  3988        tags:
  3989          - test-workflows
  3990          - api
  3991          - pro
  3992        parameters:
  3993          - $ref: "#/components/parameters/executionID"
  3994        summary: Abort test workflow execution
  3995        description: Abort test workflow execution
  3996        operationId: abortTestWorkflowExecution
  3997        responses:
  3998          204:
  3999            description: "no content"
  4000          400:
  4001            description: "problem with selector parsing - probably some bad input occurs"
  4002            content:
  4003              application/problem+json:
  4004                schema:
  4005                  type: array
  4006                  items:
  4007                    $ref: "#/components/schemas/Problem"
  4008          402:
  4009            description: "missing Pro subscription for a commercial feature"
  4010            content:
  4011              application/problem+json:
  4012                schema:
  4013                  type: array
  4014                  items:
  4015                    $ref: "#/components/schemas/Problem"
  4016          502:
  4017            description: problem communicating with kubernetes cluster
  4018            content:
  4019              application/problem+json:
  4020                schema:
  4021                  type: array
  4022                  items:
  4023                    $ref: "#/components/schemas/Problem"
  4024    /test-workflows/{id}/abort:
  4025      post:
  4026        tags:
  4027          - test-workflows
  4028          - api
  4029          - pro
  4030        parameters:
  4031          - $ref: "#/components/parameters/ID"
  4032        summary: Abort all test workflow executions
  4033        description: Abort all test workflow executions
  4034        operationId: abortAllTestWorkflowExecutions
  4035        responses:
  4036          204:
  4037            description: "no content"
  4038          400:
  4039            description: "problem with selector parsing - probably some bad input occurs"
  4040            content:
  4041              application/problem+json:
  4042                schema:
  4043                  type: array
  4044                  items:
  4045                    $ref: "#/components/schemas/Problem"
  4046          402:
  4047            description: "missing Pro subscription for a commercial feature"
  4048            content:
  4049              application/problem+json:
  4050                schema:
  4051                  type: array
  4052                  items:
  4053                    $ref: "#/components/schemas/Problem"
  4054          502:
  4055            description: problem communicating with kubernetes cluster
  4056            content:
  4057              application/problem+json:
  4058                schema:
  4059                  type: array
  4060                  items:
  4061                    $ref: "#/components/schemas/Problem"
  4062    /preview-test-workflow:
  4063      post:
  4064        tags:
  4065          - test-workflows
  4066          - api
  4067          - pro
  4068        parameters:
  4069          - $ref: "#/components/parameters/InlineTemplates"
  4070        summary: Preview test workflow
  4071        description: Preview test workflow after including templates inside
  4072        operationId: previewTestWorkflow
  4073        requestBody:
  4074          description: test workflow body
  4075          required: true
  4076          content:
  4077            application/json:
  4078              schema:
  4079                $ref: "#/components/schemas/TestWorkflow"
  4080            text/yaml:
  4081              schema:
  4082                type: string
  4083        responses:
  4084          200:
  4085            description: resolved test workflow
  4086            content:
  4087              application/json:
  4088                schema:
  4089                  type: array
  4090                  items:
  4091                    $ref: "#/components/schemas/TestWorkflow"
  4092              text/yaml:
  4093                schema:
  4094                  type: string
  4095          400:
  4096            description: "problem with body parsing - probably some bad input occurs"
  4097            content:
  4098              application/problem+json:
  4099                schema:
  4100                  type: array
  4101                  items:
  4102                    $ref: "#/components/schemas/Problem"
  4103          402:
  4104            description: "missing Pro subscription for a commercial feature"
  4105            content:
  4106              application/problem+json:
  4107                schema:
  4108                  type: array
  4109                  items:
  4110                    $ref: "#/components/schemas/Problem"
  4111          502:
  4112            description: problem communicating with kubernetes cluster
  4113            content:
  4114              application/problem+json:
  4115                schema:
  4116                  type: array
  4117                  items:
  4118                    $ref: "#/components/schemas/Problem"
  4119    /test-workflows/{id}:
  4120      get:
  4121        tags:
  4122          - test-workflows
  4123          - api
  4124          - pro
  4125        parameters:
  4126          - $ref: "#/components/parameters/ID"
  4127        summary: Get test workflow details
  4128        description: Get test workflow details from the kubernetes cluster
  4129        operationId: getTestWorkflow
  4130        responses:
  4131          200:
  4132            description: successful operation
  4133            content:
  4134              application/json:
  4135                schema:
  4136                  $ref: "#/components/schemas/TestWorkflow"
  4137              text/yaml:
  4138                schema:
  4139                  type: string
  4140          402:
  4141            description: "missing Pro subscription for a commercial feature"
  4142            content:
  4143              application/problem+json:
  4144                schema:
  4145                  type: array
  4146                  items:
  4147                    $ref: "#/components/schemas/Problem"
  4148          404:
  4149            description: "the resource has not been found"
  4150            content:
  4151              application/problem+json:
  4152                schema:
  4153                  type: array
  4154                  items:
  4155                    $ref: "#/components/schemas/Problem"
  4156          502:
  4157            description: problem communicating with kubernetes cluster
  4158            content:
  4159              application/problem+json:
  4160                schema:
  4161                  type: array
  4162                  items:
  4163                    $ref: "#/components/schemas/Problem"
  4164      put:
  4165        tags:
  4166          - test-workflows
  4167          - api
  4168          - pro
  4169        parameters:
  4170          - $ref: "#/components/parameters/ID"
  4171        summary: Update test workflow details
  4172        description: Update test workflow details in the kubernetes cluster
  4173        operationId: updateTestWorkflow
  4174        requestBody:
  4175          description: test workflow body
  4176          required: true
  4177          content:
  4178            application/json:
  4179              schema:
  4180                $ref: "#/components/schemas/TestWorkflow"
  4181            text/yaml:
  4182              schema:
  4183                type: string
  4184        responses:
  4185          200:
  4186            description: successful operation
  4187            content:
  4188              application/json:
  4189                schema:
  4190                  $ref: "#/components/schemas/TestWorkflow"
  4191              text/yaml:
  4192                schema:
  4193                  type: string
  4194          402:
  4195            description: "missing Pro subscription for a commercial feature"
  4196            content:
  4197              application/problem+json:
  4198                schema:
  4199                  type: array
  4200                  items:
  4201                    $ref: "#/components/schemas/Problem"
  4202          404:
  4203            description: "the resource has not been found"
  4204            content:
  4205              application/problem+json:
  4206                schema:
  4207                  type: array
  4208                  items:
  4209                    $ref: "#/components/schemas/Problem"
  4210          502:
  4211            description: problem communicating with kubernetes cluster
  4212            content:
  4213              application/problem+json:
  4214                schema:
  4215                  type: array
  4216                  items:
  4217                    $ref: "#/components/schemas/Problem"
  4218      delete:
  4219        tags:
  4220          - test-workflows
  4221          - api
  4222          - pro
  4223        parameters:
  4224          - $ref: "#/components/parameters/ID"
  4225          - $ref: "#/components/parameters/SkipDeleteExecutions"
  4226        summary: Delete test workflow
  4227        description: Delete test workflow from the kubernetes cluster
  4228        operationId: deleteTestWorkflow
  4229        responses:
  4230          204:
  4231            description: no content
  4232          402:
  4233            description: "missing Pro subscription for a commercial feature"
  4234            content:
  4235              application/problem+json:
  4236                schema:
  4237                  type: array
  4238                  items:
  4239                    $ref: "#/components/schemas/Problem"
  4240          404:
  4241            description: "the resource has not been found"
  4242            content:
  4243              application/problem+json:
  4244                schema:
  4245                  type: array
  4246                  items:
  4247                    $ref: "#/components/schemas/Problem"
  4248          502:
  4249            description: problem communicating with kubernetes cluster
  4250            content:
  4251              application/problem+json:
  4252                schema:
  4253                  type: array
  4254                  items:
  4255                    $ref: "#/components/schemas/Problem"
  4256  
  4257    /test-workflow-templates:
  4258      get:
  4259        tags:
  4260          - test-workflows
  4261          - api
  4262          - pro
  4263        parameters:
  4264          - $ref: "#/components/parameters/Selector"
  4265        summary: List test workflow templates
  4266        description: List test workflow templates from the kubernetes cluster
  4267        operationId: listTestWorkflowTemplates
  4268        responses:
  4269          200:
  4270            description: successful list operation
  4271            content:
  4272              application/json:
  4273                schema:
  4274                  type: array
  4275                  items:
  4276                    $ref: "#/components/schemas/TestWorkflowTemplate"
  4277              text/yaml:
  4278                schema:
  4279                  type: string
  4280          400:
  4281            description: "problem with selector parsing - probably some bad input occurs"
  4282            content:
  4283              application/problem+json:
  4284                schema:
  4285                  type: array
  4286                  items:
  4287                    $ref: "#/components/schemas/Problem"
  4288          402:
  4289            description: "missing Pro subscription for a commercial feature"
  4290            content:
  4291              application/problem+json:
  4292                schema:
  4293                  type: array
  4294                  items:
  4295                    $ref: "#/components/schemas/Problem"
  4296          502:
  4297            description: problem communicating with kubernetes cluster
  4298            content:
  4299              application/problem+json:
  4300                schema:
  4301                  type: array
  4302                  items:
  4303                    $ref: "#/components/schemas/Problem"
  4304      delete:
  4305        tags:
  4306          - test-workflows
  4307          - api
  4308          - pro
  4309        parameters:
  4310          - $ref: "#/components/parameters/Selector"
  4311        summary: Delete test workflow templates
  4312        description: Delete test workflow templates from the kubernetes cluster
  4313        operationId: deleteTestWorkflowTemplates
  4314        responses:
  4315          204:
  4316            description: no content
  4317          400:
  4318            description: "problem with selector parsing - probably some bad input occurs"
  4319            content:
  4320              application/problem+json:
  4321                schema:
  4322                  type: array
  4323                  items:
  4324                    $ref: "#/components/schemas/Problem"
  4325          402:
  4326            description: "missing Pro subscription for a commercial feature"
  4327            content:
  4328              application/problem+json:
  4329                schema:
  4330                  type: array
  4331                  items:
  4332                    $ref: "#/components/schemas/Problem"
  4333          502:
  4334            description: problem communicating with kubernetes cluster
  4335            content:
  4336              application/problem+json:
  4337                schema:
  4338                  type: array
  4339                  items:
  4340                    $ref: "#/components/schemas/Problem"
  4341      post:
  4342        tags:
  4343          - test-workflows
  4344          - api
  4345          - pro
  4346        summary: Create test workflow template
  4347        description: Create test workflow template in the kubernetes cluster
  4348        operationId: createTestWorkflowTemplate
  4349        requestBody:
  4350          description: test workflow template body
  4351          required: true
  4352          content:
  4353            application/json:
  4354              schema:
  4355                $ref: "#/components/schemas/TestWorkflowTemplate"
  4356            text/yaml:
  4357              schema:
  4358                type: string
  4359        responses:
  4360          200:
  4361            description: successful creation
  4362            content:
  4363              application/json:
  4364                schema:
  4365                  type: array
  4366                  items:
  4367                    $ref: "#/components/schemas/TestWorkflowTemplate"
  4368              text/yaml:
  4369                schema:
  4370                  type: string
  4371          400:
  4372            description: "problem with body parsing - probably some bad input occurs"
  4373            content:
  4374              application/problem+json:
  4375                schema:
  4376                  type: array
  4377                  items:
  4378                    $ref: "#/components/schemas/Problem"
  4379          402:
  4380            description: "missing Pro subscription for a commercial feature"
  4381            content:
  4382              application/problem+json:
  4383                schema:
  4384                  type: array
  4385                  items:
  4386                    $ref: "#/components/schemas/Problem"
  4387          502:
  4388            description: problem communicating with kubernetes cluster
  4389            content:
  4390              application/problem+json:
  4391                schema:
  4392                  type: array
  4393                  items:
  4394                    $ref: "#/components/schemas/Problem"
  4395    /test-workflow-templates/{id}:
  4396      get:
  4397        tags:
  4398          - test-workflows
  4399          - api
  4400          - pro
  4401        parameters:
  4402          - $ref: "#/components/parameters/ID"
  4403        summary: Get test workflow template details
  4404        description: Get test workflow template details from the kubernetes cluster
  4405        operationId: getTestWorkflowTemplate
  4406        responses:
  4407          200:
  4408            description: successful operation
  4409            content:
  4410              application/json:
  4411                schema:
  4412                  $ref: "#/components/schemas/TestWorkflowTemplate"
  4413              text/yaml:
  4414                schema:
  4415                  type: string
  4416          402:
  4417            description: "missing Pro subscription for a commercial feature"
  4418            content:
  4419              application/problem+json:
  4420                schema:
  4421                  type: array
  4422                  items:
  4423                    $ref: "#/components/schemas/Problem"
  4424          404:
  4425            description: "the resource has not been found"
  4426            content:
  4427              application/problem+json:
  4428                schema:
  4429                  type: array
  4430                  items:
  4431                    $ref: "#/components/schemas/Problem"
  4432          502:
  4433            description: problem communicating with kubernetes cluster
  4434            content:
  4435              application/problem+json:
  4436                schema:
  4437                  type: array
  4438                  items:
  4439                    $ref: "#/components/schemas/Problem"
  4440      put:
  4441        tags:
  4442          - test-workflows
  4443          - api
  4444          - pro
  4445        parameters:
  4446          - $ref: "#/components/parameters/ID"
  4447        summary: Update test workflow template details
  4448        description: Update test workflow template details in the kubernetes cluster
  4449        operationId: updateTestWorkflowTemplate
  4450        requestBody:
  4451          description: test workflow template body
  4452          required: true
  4453          content:
  4454            application/json:
  4455              schema:
  4456                $ref: "#/components/schemas/TestWorkflowTemplate"
  4457            text/yaml:
  4458              schema:
  4459                type: string
  4460        responses:
  4461          200:
  4462            description: successful operation
  4463            content:
  4464              application/json:
  4465                schema:
  4466                  $ref: "#/components/schemas/TestWorkflowTemplate"
  4467              text/yaml:
  4468                schema:
  4469                  type: string
  4470          402:
  4471            description: "missing Pro subscription for a commercial feature"
  4472            content:
  4473              application/problem+json:
  4474                schema:
  4475                  type: array
  4476                  items:
  4477                    $ref: "#/components/schemas/Problem"
  4478          404:
  4479            description: "the resource has not been found"
  4480            content:
  4481              application/problem+json:
  4482                schema:
  4483                  type: array
  4484                  items:
  4485                    $ref: "#/components/schemas/Problem"
  4486          502:
  4487            description: problem communicating with kubernetes cluster
  4488            content:
  4489              application/problem+json:
  4490                schema:
  4491                  type: array
  4492                  items:
  4493                    $ref: "#/components/schemas/Problem"
  4494      delete:
  4495        tags:
  4496          - test-workflows
  4497          - api
  4498          - pro
  4499        parameters:
  4500          - $ref: "#/components/parameters/ID"
  4501        summary: Delete test workflow template
  4502        description: Delete test workflow template from the kubernetes cluster
  4503        operationId: deleteTestWorkflowTemplate
  4504        responses:
  4505          204:
  4506            description: no content
  4507          402:
  4508            description: "missing Pro subscription for a commercial feature"
  4509            content:
  4510              application/problem+json:
  4511                schema:
  4512                  type: array
  4513                  items:
  4514                    $ref: "#/components/schemas/Problem"
  4515          404:
  4516            description: "the resource has not been found"
  4517            content:
  4518              application/problem+json:
  4519                schema:
  4520                  type: array
  4521                  items:
  4522                    $ref: "#/components/schemas/Problem"
  4523          502:
  4524            description: problem communicating with kubernetes cluster
  4525            content:
  4526              application/problem+json:
  4527                schema:
  4528                  type: array
  4529                  items:
  4530                    $ref: "#/components/schemas/Problem"
  4531  
  4532  components:
  4533    schemas:
  4534      ExecutionsMetrics:
  4535        type: object
  4536        properties:
  4537          passFailRatio:
  4538            type: number
  4539            description: Percentage pass to fail ratio
  4540            example: 50
  4541          executionDurationP50:
  4542            type: string
  4543            description: 50th percentile of all durations
  4544            example: "7m2.71s"
  4545          executionDurationP50ms:
  4546            type: integer
  4547            description: 50th percentile of all durations in milliseconds
  4548            example: 422
  4549          executionDurationP90:
  4550            type: string
  4551            description: 90th percentile of all durations
  4552            example: "7m2.71s"
  4553          executionDurationP90ms:
  4554            type: integer
  4555            description: 90th percentile of all durations in milliseconds
  4556            example: 422
  4557          executionDurationP95:
  4558            type: string
  4559            description: 95th percentile of all durations
  4560            example: "7m2.71s"
  4561          executionDurationP95ms:
  4562            type: integer
  4563            description: 95th percentile of all durations in milliseconds
  4564            example: 422
  4565          executionDurationP99:
  4566            type: string
  4567            description: 99th percentile of all durations
  4568            example: "7m2.71s"
  4569          executionDurationP99ms:
  4570            type: integer
  4571            description: 99th percentile of all durations in milliseconds
  4572            example: 422
  4573          totalExecutions:
  4574            type: integer
  4575            description: total executions number
  4576            example: 2
  4577          failedExecutions:
  4578            type: integer
  4579            description: failed executions number
  4580            example: 1
  4581          executions:
  4582            type: array
  4583            description: List of test/testsuite executions
  4584            items:
  4585              $ref: "#/components/schemas/ExecutionsMetricsExecutions"
  4586  
  4587      ExecutionsMetricsExecutions:
  4588        type: object
  4589        properties:
  4590          executionId:
  4591            type: string
  4592          duration:
  4593            type: string
  4594          durationMs:
  4595            type: integer
  4596          status:
  4597            type: string
  4598          name:
  4599            type: string
  4600          startTime:
  4601            type: string
  4602            format: date-time
  4603  
  4604      Variables:
  4605        type: object
  4606        description: "execution variables passed to executor converted to vars for usage in tests"
  4607        additionalProperties:
  4608          $ref: "#/components/schemas/Variable"
  4609        example:
  4610          var1:
  4611            name: "var1"
  4612            type: "basic"
  4613            value: "value1"
  4614          secret1:
  4615            name: "secret1"
  4616            type: "secret"
  4617            value: "secretvalue1"
  4618  
  4619      Variable:
  4620        type: object
  4621        properties:
  4622          name:
  4623            type: string
  4624          value:
  4625            type: string
  4626          type:
  4627            $ref: "#/components/schemas/VariableType"
  4628          secretRef:
  4629            $ref: "#/components/schemas/SecretRef"
  4630          configMapRef:
  4631            $ref: "#/components/schemas/ConfigMapRef"
  4632  
  4633      VariableType:
  4634        type: string
  4635        enum:
  4636          - basic
  4637          - secret
  4638  
  4639      ObjectRef:
  4640        required:
  4641          - name
  4642        type: object
  4643        properties:
  4644          namespace:
  4645            type: string
  4646            description: object kubernetes namespace
  4647            example: "testkube"
  4648          name:
  4649            type: string
  4650            description: object name
  4651            example: "name"
  4652  
  4653      SecretRef:
  4654        required:
  4655          - name
  4656          - key
  4657        type: object
  4658        description: Testkube internal reference for secret storage in Kubernetes secrets
  4659        properties:
  4660          namespace:
  4661            type: string
  4662            description: object kubernetes namespace
  4663          name:
  4664            type: string
  4665            description: object name
  4666          key:
  4667            type: string
  4668            description: object key
  4669  
  4670      ConfigMapRef:
  4671        required:
  4672          - name
  4673          - key
  4674        type: object
  4675        description: Testkube internal reference for data in Kubernetes config maps
  4676        properties:
  4677          namespace:
  4678            type: string
  4679            description: object kubernetes namespace
  4680          name:
  4681            type: string
  4682            description: object name
  4683          key:
  4684            type: string
  4685            description: object key
  4686  
  4687      TestSuite:
  4688        type: object
  4689        required:
  4690          - name
  4691          - status
  4692        properties:
  4693          name:
  4694            type: string
  4695            example: "test-suite1"
  4696          namespace:
  4697            type: string
  4698            example: "testkube"
  4699          description:
  4700            type: string
  4701            example: "collection of tests"
  4702          before:
  4703            type: array
  4704            items:
  4705              $ref: "#/components/schemas/TestSuiteBatchStep"
  4706            description: Run these batch steps before whole suite
  4707            example:
  4708              - stopOnFailure: true
  4709                execute:
  4710                  - test: "example-test"
  4711          steps:
  4712            type: array
  4713            items:
  4714              $ref: "#/components/schemas/TestSuiteBatchStep"
  4715            description: Batch steps to run
  4716            example:
  4717              - stopOnFailure: true
  4718                execute:
  4719                  - test: "example-test"
  4720          after:
  4721            type: array
  4722            items:
  4723              $ref: "#/components/schemas/TestSuiteBatchStep"
  4724            description: Run these batch steps after whole suite
  4725            example:
  4726              - stopOnFailure: true
  4727                execute:
  4728                  - test: "example-test"
  4729          labels:
  4730            type: object
  4731            description: "test suite labels"
  4732            additionalProperties:
  4733              type: string
  4734            example:
  4735              env: "prod"
  4736              app: "backend"
  4737          schedule:
  4738            type: string
  4739            description: schedule to run test suite
  4740            example: "* * * * *"
  4741          repeats:
  4742            type: integer
  4743            default: 1
  4744            example: 1
  4745          created:
  4746            type: string
  4747            format: date-time
  4748          executionRequest:
  4749            $ref: "#/components/schemas/TestSuiteExecutionRequest"
  4750          status:
  4751            $ref: "#/components/schemas/TestSuiteStatus"
  4752          readOnly:
  4753            type: boolean
  4754            description: if test suite is offline and cannot be executed
  4755  
  4756      TestSuiteV2:
  4757        type: object
  4758        required:
  4759          - name
  4760          - status
  4761        properties:
  4762          name:
  4763            type: string
  4764            example: "test-suite1"
  4765          namespace:
  4766            type: string
  4767            example: "testkube"
  4768          description:
  4769            type: string
  4770            example: "collection of tests"
  4771          before:
  4772            type: array
  4773            items:
  4774              $ref: "#/components/schemas/TestSuiteStepV2"
  4775            description: Run this step before whole suite
  4776            example:
  4777              - stopTestOnFailure: true
  4778                execute:
  4779                  namespace: "testkube"
  4780                  name: "example-test"
  4781          steps:
  4782            type: array
  4783            items:
  4784              $ref: "#/components/schemas/TestSuiteStepV2"
  4785            description: Steps to run
  4786            example:
  4787              - stopTestOnFailure: true
  4788                execute:
  4789                  namespace: "testkube"
  4790                  name: "example-test"
  4791          after:
  4792            type: array
  4793            items:
  4794              $ref: "#/components/schemas/TestSuiteStepV2"
  4795            description: Run this step after whole suite
  4796            example:
  4797              - stopTestOnFailure: true
  4798                execute:
  4799                  namespace: "testkube"
  4800                  name: "example-test"
  4801          labels:
  4802            type: object
  4803            description: "test suite labels"
  4804            additionalProperties:
  4805              type: string
  4806            example:
  4807              env: "prod"
  4808              app: "backend"
  4809          schedule:
  4810            type: string
  4811            description: schedule to run test suite
  4812            example: "* * * * *"
  4813          repeats:
  4814            type: integer
  4815            default: 1
  4816            example: 1
  4817          created:
  4818            type: string
  4819            format: date-time
  4820          executionRequest:
  4821            $ref: "#/components/schemas/TestSuiteExecutionRequest"
  4822          status:
  4823            $ref: "#/components/schemas/TestSuiteStatus"
  4824  
  4825      TestSuiteStepType:
  4826        type: string
  4827        enum:
  4828          - executeTest
  4829          - delay
  4830  
  4831      TestSuiteBatchStep:
  4832        description: set of steps run in parallel
  4833        type: object
  4834        required:
  4835          - stopOnFailure
  4836        properties:
  4837          stopOnFailure:
  4838            type: boolean
  4839            default: true
  4840          downloadArtifacts:
  4841            $ref: "#/components/schemas/DownloadArtifactOptions"
  4842          execute:
  4843            type: array
  4844            items:
  4845              $ref: "#/components/schemas/TestSuiteStep"
  4846  
  4847      DownloadArtifactOptions:
  4848        description: options to download artifacts from previous steps
  4849        type: object
  4850        properties:
  4851          allPreviousSteps:
  4852            type: boolean
  4853            default: false
  4854          previousStepNumbers:
  4855            type: array
  4856            description: previous step numbers starting from 1
  4857            items:
  4858              type: integer
  4859          previousTestNames:
  4860            type: array
  4861            description: previous test names
  4862            items:
  4863              type: string
  4864  
  4865      TestSuiteStep:
  4866        type: object
  4867        properties:
  4868          test:
  4869            type: string
  4870            description: object name
  4871            example: "name"
  4872          delay:
  4873            type: string
  4874            format: duration
  4875            example: 1s
  4876            description: delay duration in time units
  4877          executionRequest:
  4878            $ref: "#/components/schemas/TestSuiteStepExecutionRequest"
  4879            description: test suite step execution request parameters
  4880  
  4881      TestSuiteStepV2:
  4882        type: object
  4883        required:
  4884          - name
  4885          - type
  4886          - stopTestOnFailure
  4887        properties:
  4888          stopTestOnFailure:
  4889            type: boolean
  4890            default: true
  4891          execute:
  4892            $ref: "#/components/schemas/TestSuiteStepExecuteTestV2"
  4893          delay:
  4894            $ref: "#/components/schemas/TestSuiteStepDelayV2"
  4895  
  4896      TestSuiteStepExecuteTestV2:
  4897        allOf:
  4898          - $ref: "#/components/schemas/ObjectRef"
  4899  
  4900      TestSuiteStepDelayV2:
  4901        type: object
  4902        required:
  4903          - duration
  4904        properties:
  4905          duration:
  4906            type: integer
  4907            default: 0
  4908            description: delay duration in milliseconds
  4909  
  4910      TestSuiteExecution:
  4911        type: object
  4912        description: Test suite executions data
  4913        required:
  4914          - id
  4915          - name
  4916          - testSuite
  4917        properties:
  4918          id:
  4919            type: string
  4920            description: execution id
  4921            format: bson objectId
  4922            example: "62f395e004109209b50edfc1"
  4923          name:
  4924            type: string
  4925            description: "execution name"
  4926            example: "test-suite1.needlessly-sweet-imp"
  4927          testSuite:
  4928            $ref: "#/components/schemas/ObjectRef"
  4929            description: object name and namespace
  4930          status:
  4931            $ref: "#/components/schemas/TestSuiteExecutionStatus"
  4932          envs:
  4933            deprecated: true
  4934            type: object
  4935            description: "Environment variables passed to executor. Deprecated: use Basic Variables instead"
  4936            additionalProperties:
  4937              type: string
  4938            example:
  4939              record: "true"
  4940              prefix: "some-"
  4941          variables:
  4942            $ref: "#/components/schemas/Variables"
  4943          secretUUID:
  4944            type: string
  4945            description: secret uuid
  4946            readOnly: true
  4947            example: "7934600f-b367-48dd-b981-4353304362fb"
  4948          startTime:
  4949            type: string
  4950            description: "test start time"
  4951            format: date-time
  4952          endTime:
  4953            type: string
  4954            description: "test end time"
  4955            format: date-time
  4956          duration:
  4957            type: string
  4958            description: "test duration"
  4959            example: "2m"
  4960          durationMs:
  4961            type: integer
  4962            description: "test duration in ms"
  4963            example: 6000
  4964          stepResults:
  4965            type: array
  4966            description: "steps execution results"
  4967            items:
  4968              $ref: "#/components/schemas/TestSuiteStepExecutionResultV2"
  4969              description: test execution results
  4970          executeStepResults:
  4971            type: array
  4972            description: "batch steps execution results"
  4973            items:
  4974              $ref: "#/components/schemas/TestSuiteBatchStepExecutionResult"
  4975              description: test execution results
  4976          labels:
  4977            type: object
  4978            description: "test suite labels"
  4979            additionalProperties:
  4980              type: string
  4981            example:
  4982              env: "prod"
  4983              app: "backend"
  4984          runningContext:
  4985            $ref: "#/components/schemas/RunningContext"
  4986            description: running context for the test suite execution
  4987          testSuiteExecutionName:
  4988            type: string
  4989            description: test suite execution name started the test suite execution
  4990  
  4991      TestSuiteExecutionCR:
  4992        type: object
  4993        required:
  4994          - testSuite
  4995        properties:
  4996          testSuite:
  4997            $ref: "#/components/schemas/ObjectRef"
  4998            description: test suite name and namespace
  4999          executionRequest:
  5000            $ref: "#/components/schemas/TestSuiteExecutionRequest"
  5001            description: test suite execution request parameters
  5002          status:
  5003            $ref: "#/components/schemas/TestSuiteExecutionStatusCR"
  5004            description: test suite execution status
  5005  
  5006      TestSuiteExecutionStatusCR:
  5007        type: object
  5008        description: test suite execution status
  5009        properties:
  5010          latestExecution:
  5011            $ref: "#/components/schemas/TestSuiteExecution"
  5012          generation:
  5013            type: integer
  5014            format: int64
  5015            description: test suite execution generation
  5016  
  5017      TestSuiteExecutionStatus:
  5018        type: string
  5019        enum:
  5020          - queued
  5021          - running
  5022          - passed
  5023          - failed
  5024          - aborting
  5025          - aborted
  5026          - timeout
  5027  
  5028      TestSuiteStepExecutionResult:
  5029        description: execution result returned from executor
  5030        type: object
  5031        properties:
  5032          step:
  5033            $ref: "#/components/schemas/TestSuiteStep"
  5034          test:
  5035            $ref: "#/components/schemas/ObjectRef"
  5036            description: object name and namespace
  5037          execution:
  5038            $ref: "#/components/schemas/Execution"
  5039            description: "test step execution, NOTE: the execution output will be empty, retrieve it directly form the test execution"
  5040  
  5041      TestSuiteStepExecutionResultV2:
  5042        description: execution result returned from executor
  5043        type: object
  5044        properties:
  5045          step:
  5046            $ref: "#/components/schemas/TestSuiteStepV2"
  5047          test:
  5048            $ref: "#/components/schemas/ObjectRef"
  5049            description: object name and namespace
  5050          execution:
  5051            $ref: "#/components/schemas/Execution"
  5052            description: test step execution
  5053  
  5054      TestSuiteBatchStepExecutionResult:
  5055        description: execution result returned from executor
  5056        type: object
  5057        properties:
  5058          step:
  5059            $ref: "#/components/schemas/TestSuiteBatchStep"
  5060          execute:
  5061            type: array
  5062            items:
  5063              $ref: "#/components/schemas/TestSuiteStepExecutionResult"
  5064          startTime:
  5065            type: string
  5066            description: "step start time"
  5067            format: date-time
  5068          endTime:
  5069            type: string
  5070            description: "step end time"
  5071            format: date-time
  5072          duration:
  5073            type: string
  5074            description: "step duration"
  5075            example: "2m"
  5076  
  5077      TestSuiteExecutionsResult:
  5078        description: the result for a page of executions
  5079        type: object
  5080        required:
  5081          - totals
  5082          - results
  5083        properties:
  5084          totals:
  5085            $ref: "#/components/schemas/ExecutionsTotals"
  5086          filtered:
  5087            $ref: "#/components/schemas/ExecutionsTotals"
  5088          results:
  5089            type: array
  5090            items:
  5091              $ref: "#/components/schemas/TestSuiteExecutionSummary"
  5092  
  5093      TestSuiteExecutionSummary:
  5094        description: "Test execution summary"
  5095        type: object
  5096        required:
  5097          - id
  5098          - name
  5099          - testSuiteName
  5100          - status
  5101        properties:
  5102          id:
  5103            type: string
  5104            description: execution id
  5105            format: bson objectId
  5106            example: "62f395e004109209b50edfc1"
  5107          name:
  5108            type: string
  5109            description: execution name
  5110            example: "test-suite1.needlessly-sweet-imp"
  5111          testSuiteName:
  5112            type: string
  5113            description: name of the test suite
  5114            example: "test-suite1"
  5115          status:
  5116            $ref: "#/components/schemas/TestSuiteExecutionStatus"
  5117          startTime:
  5118            type: string
  5119            description: "test suite execution start time"
  5120            format: date-time
  5121          endTime:
  5122            type: string
  5123            description: "test suite execution end time"
  5124            format: date-time
  5125          duration:
  5126            type: string
  5127            description: "test suite execution duration"
  5128            example: "00:00:09"
  5129          durationMs:
  5130            type: integer
  5131            description: "test suite execution duration in ms"
  5132            example: 9009
  5133          execution:
  5134            type: array
  5135            items:
  5136              $ref: "#/components/schemas/TestSuiteBatchStepExecutionSummary"
  5137          labels:
  5138            type: object
  5139            description: "test suite and execution labels"
  5140            additionalProperties:
  5141              type: string
  5142            example:
  5143              env: "prod"
  5144              app: "backend"
  5145  
  5146      TestSuiteStepExecutionSummary:
  5147        description: "Test suite execution summary"
  5148        type: object
  5149        required:
  5150          - id
  5151          - name
  5152          - status
  5153        properties:
  5154          id:
  5155            type: string
  5156            example: "62f395e004109209b50edfc4"
  5157          name:
  5158            type: string
  5159            description: execution name
  5160            example: "run:testkube/test1"
  5161          testName:
  5162            type: string
  5163            description: test name
  5164            example: "test1"
  5165          status:
  5166            $ref: "#/components/schemas/ExecutionStatus"
  5167          type:
  5168            $ref: "#/components/schemas/TestSuiteStepType"
  5169  
  5170      TestSuiteBatchStepExecutionSummary:
  5171        description: "Test suite batch execution summary"
  5172        type: object
  5173        properties:
  5174          execute:
  5175            type: array
  5176            items:
  5177              $ref: "#/components/schemas/TestSuiteStepExecutionSummary"
  5178  
  5179      TestSuiteStatus:
  5180        type: object
  5181        description: test suite status
  5182        properties:
  5183          latestExecution:
  5184            $ref: "#/components/schemas/TestSuiteExecutionCore"
  5185  
  5186      TestSuiteExecutionCore:
  5187        type: object
  5188        description: test suite execution core
  5189        properties:
  5190          id:
  5191            type: string
  5192            description: execution id
  5193            format: bson objectId
  5194            example: "62f395e004109209b50edfc4"
  5195          startTime:
  5196            type: string
  5197            description: "test suite execution start time"
  5198            format: date-time
  5199          endTime:
  5200            type: string
  5201            description: "test suite execution end time"
  5202            format: date-time
  5203          status:
  5204            $ref: "#/components/schemas/TestSuiteExecutionStatus"
  5205  
  5206      Test:
  5207        type: object
  5208        properties:
  5209          name:
  5210            type: string
  5211            description: test name
  5212            example: "test1"
  5213          namespace:
  5214            type: string
  5215            description: test namespace
  5216            example: "testkube"
  5217          description:
  5218            type: string
  5219            description: test description
  5220            example: "this test is used for that purpose"
  5221          type:
  5222            type: string
  5223            description: test type
  5224            example: "postman/collection"
  5225          content:
  5226            $ref: "#/components/schemas/TestContent"
  5227            description: test content
  5228          source:
  5229            type: string
  5230            description: reference to test source resource
  5231            example: "my-private-repository-test"
  5232          created:
  5233            type: string
  5234            format: date-time
  5235            example: "2022-07-30T06:54:15Z"
  5236          labels:
  5237            type: object
  5238            description: "test labels"
  5239            additionalProperties:
  5240              type: string
  5241            example:
  5242              env: "prod"
  5243              app: "backend"
  5244          schedule:
  5245            type: string
  5246            description: schedule to run test
  5247            example: "* * * * *"
  5248          readOnly:
  5249            type: boolean
  5250            description: if test is offline and cannot be executed
  5251  
  5252          uploads:
  5253            type: array
  5254            items:
  5255              type: string
  5256            description: list of file paths that will be needed from uploads
  5257            example:
  5258              - settings/config.txt
  5259          executionRequest:
  5260            $ref: "#/components/schemas/ExecutionRequest"
  5261          status:
  5262            $ref: "#/components/schemas/TestStatus"
  5263  
  5264      TestExecutionCR:
  5265        type: object
  5266        required:
  5267          - test
  5268        properties:
  5269          test:
  5270            $ref: "#/components/schemas/ObjectRef"
  5271            description: test name and namespace
  5272          executionRequest:
  5273            $ref: "#/components/schemas/ExecutionRequest"
  5274            description: test execution request parameters
  5275          status:
  5276            $ref: "#/components/schemas/TestExecutionStatusCR"
  5277            description: test execution status
  5278  
  5279      TestExecutionStatusCR:
  5280        type: object
  5281        description: test execution status
  5282        properties:
  5283          latestExecution:
  5284            $ref: "#/components/schemas/Execution"
  5285          generation:
  5286            type: integer
  5287            format: int64
  5288            description: test execution generation
  5289  
  5290      TestContent:
  5291        type: object
  5292        properties:
  5293          type:
  5294            type: string
  5295            description: |
  5296              type of sources a runner can get data from.
  5297                string: String content (e.g. Postman JSON file).
  5298                file-uri: content stored on the webserver.
  5299                git-file: the file stored in the Git repo in the given repository.path field (Deprecated: use git instead).
  5300                git-dir: the entire git repo or git subdirectory depending on the  repository.path field (Testkube does a shadow clone and sparse checkout to limit IOs in the case of monorepos). (Deprecated: use git instead).
  5301                git: automatically provisions either a file, directory or whole git repository depending on the repository.path field.
  5302  
  5303            enum:
  5304              - string
  5305              - file-uri
  5306              # Deprecated: use git instead
  5307              - git-file
  5308              # Deprecated: use git instead
  5309              - git-dir
  5310              - git
  5311          repository:
  5312            $ref: "#/components/schemas/Repository"
  5313          data:
  5314            type: string
  5315            description: test content data as string
  5316          uri:
  5317            type: string
  5318            description: test content
  5319            example: "https://github.com/kubeshop/testkube"
  5320  
  5321      TestContentRequest:
  5322        description: test content request body
  5323        type: object
  5324        properties:
  5325          repository:
  5326            $ref: "#/components/schemas/RepositoryParameters"
  5327  
  5328      TestContentUpdate:
  5329        description: test content update body
  5330        type: object
  5331        nullable: true
  5332        allOf:
  5333          - $ref: "#/components/schemas/TestContent"
  5334  
  5335      TestContentUpdateRequest:
  5336        description: test content update request body
  5337        type: object
  5338        nullable: true
  5339        allOf:
  5340          - $ref: "#/components/schemas/TestContentRequest"
  5341  
  5342      TestSource:
  5343        description: Test source resource for shared test content
  5344        type: object
  5345        allOf:
  5346          - $ref: "#/components/schemas/TestContent"
  5347        properties:
  5348          name:
  5349            type: string
  5350            description: test source name
  5351            example: "testsource1"
  5352          namespace:
  5353            type: string
  5354            description: test source namespace
  5355            example: "testkube"
  5356          labels:
  5357            type: object
  5358            description: "test source labels"
  5359            additionalProperties:
  5360              type: string
  5361  
  5362      TestSourceUpdate:
  5363        description: Test source resource update for shared test content
  5364        type: object
  5365        nullable: true
  5366        allOf:
  5367          - $ref: "#/components/schemas/TestContent"
  5368        properties:
  5369          name:
  5370            type: string
  5371            description: test source name
  5372            example: "testsource1"
  5373          namespace:
  5374            type: string
  5375            description: test source namespace
  5376            example: "testkube"
  5377          labels:
  5378            type: object
  5379            description: "test source labels"
  5380            additionalProperties:
  5381              type: string
  5382  
  5383      TestSourceUpsertRequest:
  5384        description: test source create request body
  5385        type: object
  5386        allOf:
  5387          - $ref: "#/components/schemas/TestContent"
  5388        properties:
  5389          name:
  5390            type: string
  5391            description: test source name
  5392            example: "testsource1"
  5393          namespace:
  5394            type: string
  5395            description: test source namespace
  5396            example: "testkube"
  5397          labels:
  5398            type: object
  5399            description: "test source labels"
  5400            additionalProperties:
  5401              type: string
  5402  
  5403      TestSourceUpdateRequest:
  5404        description: test source update request body
  5405        type: object
  5406        nullable: true
  5407        allOf:
  5408          - $ref: "#/components/schemas/TestContent"
  5409        properties:
  5410          name:
  5411            type: string
  5412            description: test source name
  5413            example: "testsource1"
  5414          namespace:
  5415            type: string
  5416            description: test source namespace
  5417            example: "testkube"
  5418          labels:
  5419            type: object
  5420            description: "test source labels"
  5421            additionalProperties:
  5422              type: string
  5423  
  5424      TestStatus:
  5425        type: object
  5426        description: test status
  5427        properties:
  5428          latestExecution:
  5429            $ref: "#/components/schemas/ExecutionCore"
  5430  
  5431      ExecutionCore:
  5432        type: object
  5433        description: test execution core
  5434        properties:
  5435          id:
  5436            type: string
  5437            description: execution id
  5438            format: bson objectId
  5439            example: "62f395e004109209b50edfc4"
  5440          number:
  5441            type: integer
  5442            description: "execution number"
  5443            example: 1
  5444          startTime:
  5445            type: string
  5446            description: "test start time"
  5447            format: date-time
  5448          endTime:
  5449            type: string
  5450            description: "test end time"
  5451            format: date-time
  5452          status:
  5453            $ref: "#/components/schemas/ExecutionStatus"
  5454  
  5455      Execution:
  5456        type: object
  5457        description: test execution
  5458        properties:
  5459          id:
  5460            type: string
  5461            description: execution id
  5462            format: bson objectId
  5463            example: "62f395e004109209b50edfc4"
  5464          testName:
  5465            type: string
  5466            description: unique test name (CRD Test name)
  5467            example: "example-test"
  5468          testSuiteName:
  5469            type: string
  5470            description: unique test suite name (CRD Test suite name), if it's run as a part of test suite
  5471            example: "test-suite1"
  5472          testNamespace:
  5473            type: string
  5474            description: test namespace
  5475            example: "testkube"
  5476          testType:
  5477            type: string
  5478            description: test type e.g. postman/collection
  5479            example: "postman/collection"
  5480          name:
  5481            type: string
  5482            description: "execution name"
  5483            example: "test-suite1-example-test-1"
  5484          number:
  5485            type: integer
  5486            description: "execution number"
  5487            example: 1
  5488          envs:
  5489            deprecated: true
  5490            type: object
  5491            description: "Environment variables passed to executor. Deprecated: use Basic Variables instead"
  5492            additionalProperties:
  5493              type: string
  5494            example:
  5495              record: "true"
  5496              prefix: "some-"
  5497          command:
  5498            type: array
  5499            description: "executor image command"
  5500            example: ["curl"]
  5501            items:
  5502              type: string
  5503          args:
  5504            type: array
  5505            description: "additional arguments/flags passed to executor binary"
  5506            example: ["--concurrency", "2", "--remote", "--some", "blabla"]
  5507            items:
  5508              type: string
  5509          args_mode:
  5510            type: string
  5511            description: usage mode for arguments
  5512            enum:
  5513              - append
  5514              - override
  5515              - replace
  5516          variables:
  5517            $ref: "#/components/schemas/Variables"
  5518          isVariablesFileUploaded:
  5519            type: boolean
  5520            description: in case the variables file is too big, it will be uploaded to storage
  5521            example: false
  5522          variablesFile:
  5523            type: string
  5524            description: variables file content - need to be in format for particular executor (e.g. postman envs file)
  5525          testSecretUUID:
  5526            type: string
  5527            description: test secret uuid
  5528            readOnly: true
  5529            example: "7934600f-b367-48dd-b981-4353304362fb"
  5530          testSuiteSecretUUID:
  5531            type: string
  5532            description: test suite secret uuid, if it's run as a part of test suite
  5533            readOnly: true
  5534            example: "7934600f-b367-48dd-b981-4353304362fb"
  5535          content:
  5536            $ref: "#/components/schemas/TestContent"
  5537          startTime:
  5538            type: string
  5539            description: "test start time"
  5540            format: date-time
  5541          endTime:
  5542            type: string
  5543            description: "test end time"
  5544            format: date-time
  5545          duration:
  5546            type: string
  5547            description: "test duration"
  5548            example: "88s"
  5549          durationMs:
  5550            type: integer
  5551            description: "test duration in milliseconds"
  5552            example: 10000
  5553          executionResult:
  5554            $ref: "#/components/schemas/ExecutionResult"
  5555            description: result get from executor
  5556          labels:
  5557            type: object
  5558            description: "test and execution labels"
  5559            additionalProperties:
  5560              type: string
  5561            example:
  5562              env: "prod"
  5563              app: "backend"
  5564          uploads:
  5565            type: array
  5566            items:
  5567              type: string
  5568            description: list of file paths that need to be copied into the test from uploads
  5569            example:
  5570              - settings/config.txt
  5571          bucketName:
  5572            type: string
  5573            description: minio bucket name to get uploads from
  5574            example: execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43
  5575          artifactRequest:
  5576            $ref: "#/components/schemas/ArtifactRequest"
  5577            description: configuration parameters for storing test artifacts
  5578          preRunScript:
  5579            type: string
  5580            description: script to run before test execution
  5581            example: "echo -n '$SECRET_ENV' > ./secret_file"
  5582          postRunScript:
  5583            type: string
  5584            description: script to run after test execution
  5585            example: "sleep 30"
  5586          executePostRunScriptBeforeScraping:
  5587            type: boolean
  5588            description: execute post run script before scraping (prebuilt executor only)
  5589          sourceScripts:
  5590            type: boolean
  5591            description: run scripts using source command (container executor only)
  5592          runningContext:
  5593            $ref: "#/components/schemas/RunningContext"
  5594            description: running context for the test execution
  5595          containerShell:
  5596            type: string
  5597            description: shell used in container executor
  5598            example: "/bin/sh"
  5599          testExecutionName:
  5600            type: string
  5601            description: test execution name started the test execution
  5602          downloadArtifactExecutionIDs:
  5603            type: array
  5604            description: "execution ids for artifacts to download"
  5605            items:
  5606              type: string
  5607          downloadArtifactTestNames:
  5608            type: array
  5609            description: "test names for artifacts to download from latest executions"
  5610            items:
  5611              type: string
  5612          slavePodRequest:
  5613            $ref: "#/components/schemas/PodRequest"
  5614            description: configuration parameters for executed slave pods
  5615          executionNamespace:
  5616            type: string
  5617            description: namespace for test execution (Pro edition only)
  5618  
  5619      Artifact:
  5620        type: object
  5621        description: API server artifact
  5622        properties:
  5623          name:
  5624            type: string
  5625            description: artifact file path
  5626          size:
  5627            type: integer
  5628            description: file size in bytes
  5629          executionName:
  5630            type: string
  5631            description: execution name that produced the artifact
  5632            example: "test-1"
  5633          status:
  5634            type: string
  5635            enum:
  5636              - ready
  5637              - processing
  5638              - failed
  5639  
  5640      ExecutionsResult:
  5641        description: the result for a page of executions
  5642        type: object
  5643        required:
  5644          - totals
  5645          - results
  5646        properties:
  5647          totals:
  5648            $ref: "#/components/schemas/ExecutionsTotals"
  5649          filtered:
  5650            $ref: "#/components/schemas/ExecutionsTotals"
  5651          results:
  5652            type: array
  5653            items:
  5654              $ref: "#/components/schemas/ExecutionSummary"
  5655  
  5656      ExecutionSummary:
  5657        description: "Execution summary"
  5658        type: object
  5659        required:
  5660          - id
  5661          - name
  5662          - testName
  5663          - testType
  5664          - status
  5665        properties:
  5666          id:
  5667            type: string
  5668            description: execution id
  5669            format: bson objectId
  5670            example: "62f395e004109209b50edfc4"
  5671          name:
  5672            type: string
  5673            description: execution name
  5674            example: "test-suite1-test1"
  5675          number:
  5676            type: integer
  5677            description: execution number
  5678            example: 1
  5679          testName:
  5680            type: string
  5681            description: name of the test
  5682            example: "test1"
  5683          testNamespace:
  5684            type: string
  5685            description: name of the test
  5686            example: "testkube"
  5687          testType:
  5688            type: string
  5689            description: the type of test for this execution
  5690            example: "postman/collection"
  5691          status:
  5692            $ref: "#/components/schemas/ExecutionStatus"
  5693          startTime:
  5694            type: string
  5695            description: "test execution start time"
  5696            format: date-time
  5697          endTime:
  5698            type: string
  5699            description: "test execution end time"
  5700            format: date-time
  5701          duration:
  5702            type: string
  5703            description: calculated test duration
  5704            example: "00:00:13"
  5705          durationMs:
  5706            type: integer
  5707            description: calculated test duration in ms
  5708            example: 10000
  5709          labels:
  5710            type: object
  5711            description: "test and execution labels"
  5712            additionalProperties:
  5713              type: string
  5714            example:
  5715              env: "prod"
  5716              app: "backend"
  5717          runningContext:
  5718            $ref: "#/components/schemas/RunningContext"
  5719            description: running context for the test execution
  5720  
  5721      ExecutionStatus:
  5722        type: string
  5723        enum:
  5724          - queued
  5725          - running
  5726          - passed
  5727          - failed
  5728          - aborted
  5729          - timeout
  5730          - skipped
  5731  
  5732      ExecutionResult:
  5733        description: execution result returned from executor
  5734        type: object
  5735        required:
  5736          - status
  5737        properties:
  5738          status:
  5739            $ref: "#/components/schemas/ExecutionStatus"
  5740          output:
  5741            type: string
  5742            description: "RAW Test execution output, depends of reporter used in particular tool"
  5743          outputType:
  5744            type: string
  5745            description: "output type depends of reporter used in particular tool"
  5746            enum:
  5747              - text/plain
  5748              - application/junit+xml
  5749              - application/json
  5750          errorMessage:
  5751            type: string
  5752            description: "error message when status is error, separate to output as output can be partial in case of error"
  5753          steps:
  5754            type: array
  5755            items:
  5756              $ref: "#/components/schemas/ExecutionStepResult"
  5757            description: execution steps (for collection of requests)
  5758          reports:
  5759            type: object
  5760            properties:
  5761              junit:
  5762                type: string
  5763  
  5764      ExecutionStepResult:
  5765        description: execution result data
  5766        type: object
  5767        required:
  5768          - name
  5769          - status
  5770        properties:
  5771          name:
  5772            type: string
  5773            description: step name
  5774            example: "step1"
  5775          duration:
  5776            type: string
  5777            format: duration
  5778            example: "10m0s"
  5779          status:
  5780            type: string
  5781            description: execution step status
  5782            enum: [passed, failed]
  5783          assertionResults:
  5784            type: array
  5785            items:
  5786              $ref: "#/components/schemas/AssertionResult"
  5787  
  5788      AssertionResult:
  5789        description: execution result data
  5790        type: object
  5791        properties:
  5792          name:
  5793            type: string
  5794            example: "assertion1"
  5795          status:
  5796            type: string
  5797            enum: [passed, failed]
  5798          errorMessage:
  5799            type: string
  5800            nullable: true
  5801  
  5802      ExecutionsTotals:
  5803        type: object
  5804        description: various execution counters
  5805        required:
  5806          - results
  5807          - passed
  5808          - failed
  5809          - queued
  5810          - running
  5811        properties:
  5812          results:
  5813            type: integer
  5814            description: the total number of executions available
  5815          passed:
  5816            type: integer
  5817            description: the total number of passed executions available
  5818          failed:
  5819            type: integer
  5820            description: the total number of failed executions available
  5821          queued:
  5822            type: integer
  5823            description: the total number of queued executions available
  5824          running:
  5825            type: integer
  5826            description: the total number of running executions available
  5827  
  5828      ServerInfo:
  5829        type: object
  5830        description: Server information with build version, build commit etc.
  5831        required:
  5832          - version
  5833        properties:
  5834          version:
  5835            type: string
  5836            description: build version
  5837            example: "v1.4.4"
  5838          commit:
  5839            type: string
  5840            description: build commit
  5841            example: "aaff223ae68aab1af56e8ed8c84c2b80ed63d9b8"
  5842          namespace:
  5843            type: string
  5844            description: server installaton namespace
  5845            example: "my-testkube"
  5846          clusterId:
  5847            type: string
  5848            description: cluster id
  5849            example: "my-cluster-id"
  5850          context:
  5851            type: string
  5852            description: currently configured testkube API context
  5853            example: "cloud|oss"
  5854          orgId:
  5855            type: string
  5856            description: cloud organization id
  5857            example: "tkcorg_xxxx"
  5858          envId:
  5859            type: string
  5860            description: cloud env id
  5861            example: "tkcenv_xxxx"
  5862          helmchartVersion:
  5863            type: string
  5864            description: helm chart version
  5865            example: "1.4.14"
  5866          dashboardUri:
  5867            type: string
  5868            description: dashboard uri
  5869            example: "http://localhost:8080"
  5870          enableSecretEndpoint:
  5871            type: boolean
  5872            description: enable secret endpoint to list secrets in namespace
  5873          disableSecretCreation:
  5874            type: boolean
  5875            description: disable secret creation for tests and test sources
  5876          features:
  5877            $ref: "#/components/schemas/Features"
  5878          executionNamespaces:
  5879            type: array
  5880            description: execution namespaces
  5881            items:
  5882              type: string
  5883              example: my-namespace
  5884  
  5885      Repository:
  5886        description: repository representation for tests in git repositories
  5887        type: object
  5888        required:
  5889          - type
  5890          - uri
  5891        properties:
  5892          type:
  5893            type: string
  5894            enum:
  5895              - git
  5896            description: VCS repository type
  5897          uri:
  5898            type: string
  5899            description: uri of content file or git directory
  5900            example: "https://github.com/kubeshop/testkube"
  5901          branch:
  5902            type: string
  5903            description: branch/tag name for checkout
  5904            example: "main"
  5905          commit:
  5906            type: string
  5907            description: commit id (sha) for checkout
  5908            example: "b928cbb7186944ab9275937ec1ac3d3738ca2e1d"
  5909          path:
  5910            type: string
  5911            description: if needed we can checkout particular path (dir or file) in case of BIG/mono repositories
  5912            example: "test/perf"
  5913          username:
  5914            type: string
  5915            description: git auth username for private repositories
  5916          token:
  5917            type: string
  5918            description: git auth token for private repositories
  5919          usernameSecret:
  5920            $ref: "#/components/schemas/SecretRef"
  5921          tokenSecret:
  5922            $ref: "#/components/schemas/SecretRef"
  5923          certificateSecret:
  5924            type: string
  5925            description: secret with certificate for private repositories. Should contain one key ending with .crt such as "mycorp.crt", whose value is the certificate file content, suitable for git config http.sslCAInfo
  5926          workingDir:
  5927            type: string
  5928            description: if provided we checkout the whole repository and run test from this directory
  5929            example: "/"
  5930          authType:
  5931            type: string
  5932            enum:
  5933              - basic
  5934              - header
  5935            description: auth type for git requests
  5936  
  5937      RepositoryParameters:
  5938        description: repository parameters for tests in git repositories
  5939        type: object
  5940        properties:
  5941          branch:
  5942            type: string
  5943            description: branch/tag name for checkout
  5944            example: "main"
  5945          commit:
  5946            type: string
  5947            description: commit id (sha) for checkout
  5948            example: "b928cbb7186944ab9275937ec1ac3d3738ca2e1d"
  5949          path:
  5950            type: string
  5951            description: if needed we can checkout particular path (dir or file) in case of BIG/mono repositories
  5952            example: "test/perf"
  5953          workingDir:
  5954            type: string
  5955            description: if provided we checkout the whole repository and run test from this directory
  5956            example: "/"
  5957  
  5958      RepositoryUpdate:
  5959        description: repository update body
  5960        type: object
  5961        nullable: true
  5962        allOf:
  5963          - $ref: "#/components/schemas/Repository"
  5964  
  5965      RepositoryUpdateParameters:
  5966        description: repository update parameters for tests in git repositories
  5967        type: object
  5968        nullable: true
  5969        allOf:
  5970          - $ref: "#/components/schemas/RepositoryParameters"
  5971  
  5972      ArtifactRequest:
  5973        description: artifact request body with test artifacts
  5974        type: object
  5975        properties:
  5976          storageClassName:
  5977            type: string
  5978            description: artifact storage class name for container executor
  5979            example: artifact-volume-local
  5980          volumeMountPath:
  5981            type: string
  5982            description: artifact volume mount path for container executor
  5983          dirs:
  5984            type: array
  5985            items:
  5986              type: string
  5987            description: artifact directories for scraping
  5988          masks:
  5989            type: array
  5990            items:
  5991              type: string
  5992            description: regexp to filter scraped artifacts, single or comma separated
  5993          storageBucket:
  5994            type: string
  5995            description: artifact bucket storage
  5996            example: test1-artifacts
  5997          omitFolderPerExecution:
  5998            type: boolean
  5999            description: don't use a separate folder for execution artifacts
  6000          sharedBetweenPods:
  6001            type: boolean
  6002            description: whether to share volume between pods
  6003          useDefaultStorageClassName:
  6004            type: boolean
  6005            description: whether to use default storage class name     
  6006  
  6007      ArtifactUpdateRequest:
  6008        description: artifact request update body
  6009        type: object
  6010        nullable: true
  6011        allOf:
  6012          - $ref: "#/components/schemas/ArtifactRequest"
  6013  
  6014      PodRequest:
  6015        description: pod request body
  6016        type: object
  6017        properties:
  6018          resources:
  6019            $ref: "#/components/schemas/PodResourcesRequest"
  6020            description: pod resources request parameters
  6021          podTemplate:
  6022            type: string
  6023            description: pod template extensions
  6024          podTemplateReference:
  6025            type: string
  6026            description: name of the template resource
  6027  
  6028      PodUpdateRequest:
  6029        description: pod request update body
  6030        type: object
  6031        nullable: true
  6032        allOf:
  6033          - $ref: "#/components/schemas/PodRequest"
  6034  
  6035      PodResourcesRequest:
  6036        description: pod resources request specification
  6037        type: object
  6038        properties:
  6039          requests:
  6040            $ref: "#/components/schemas/ResourceRequest"
  6041            description: pod resources requests
  6042          limits:
  6043            $ref: "#/components/schemas/ResourceRequest"
  6044            description: pod resources limits
  6045  
  6046      PodResourcesUpdateRequest:
  6047        description: pod resources update request specification
  6048        type: object
  6049        nullable: true
  6050        allOf:
  6051          - $ref: "#/components/schemas/PodResourcesRequest"
  6052  
  6053      ResourceRequest:
  6054        description: resource request specification
  6055        type: object
  6056        properties:
  6057          cpu:
  6058            type: string
  6059            description: requested cpu units
  6060            example: 250m
  6061          memory:
  6062            type: string
  6063            description: requested memory units
  6064            example: 64Mi
  6065  
  6066      ResourceUpdateRequest:
  6067        description: resource update request specification
  6068        type: object
  6069        nullable: true
  6070        allOf:
  6071          - $ref: "#/components/schemas/ResourceRequest"
  6072  
  6073      ExecutionRequest:
  6074        description: test execution request body
  6075        type: object
  6076        properties:
  6077          id:
  6078            type: string
  6079            description: execution id
  6080            format: bson objectId
  6081            example: "62f395e004109209b50edfc1"
  6082          name:
  6083            type: string
  6084            description: test execution custom name
  6085            example: "testing with 1000 users"
  6086          testSuiteName:
  6087            type: string
  6088            description: unique test suite name (CRD Test suite name), if it's run as a part of test suite
  6089            example: "test-suite1"
  6090          number:
  6091            type: integer
  6092            description: test execution number
  6093          executionLabels:
  6094            type: object
  6095            description: "test execution labels"
  6096            additionalProperties:
  6097              type: string
  6098            example:
  6099              users: "3"
  6100              prefix: "some-"
  6101          namespace:
  6102            type: string
  6103            description: test kubernetes namespace ("testkube" when not set)
  6104            example: testkube
  6105          isVariablesFileUploaded:
  6106            type: boolean
  6107            description: in case the variables file is too big, it will be uploaded
  6108            example: false
  6109          variablesFile:
  6110            type: string
  6111            description: variables file content - need to be in format for particular executor (e.g. postman envs file)
  6112          variables:
  6113            $ref: "#/components/schemas/Variables"
  6114          testSecretUUID:
  6115            type: string
  6116            description: test secret uuid
  6117            readOnly: true
  6118            example: "7934600f-b367-48dd-b981-4353304362fb"
  6119          testSuiteSecretUUID:
  6120            type: string
  6121            description: test suite secret uuid, if it's run as a part of test suite
  6122            readOnly: true
  6123            example: "7934600f-b367-48dd-b981-4353304362fb"
  6124          command:
  6125            type: array
  6126            description: "executor image command"
  6127            items:
  6128              type: string
  6129            example:
  6130              - "curl"
  6131          args:
  6132            type: array
  6133            description: "additional executor binary arguments"
  6134            items:
  6135              type: string
  6136            example:
  6137              - "--repeats"
  6138              - "5"
  6139              - "--insecure"
  6140          args_mode:
  6141            type: string
  6142            description: usage mode for arguments
  6143            enum:
  6144              - append
  6145              - override
  6146              - replace
  6147          image:
  6148            type: string
  6149            description: container image, executor will run inside this image
  6150            example: kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91
  6151          imagePullSecrets:
  6152            type: array
  6153            description: "container image pull secrets"
  6154            items:
  6155              $ref: "#/components/schemas/LocalObjectReference"
  6156          envs:
  6157            deprecated: true
  6158            type: object
  6159            description: "Environment variables passed to executor. Deprecated: use Basic Variables instead"
  6160            additionalProperties:
  6161              type: string
  6162            example:
  6163              record: "true"
  6164              prefix: "some-"
  6165          secretEnvs:
  6166            deprecated: true
  6167            type: object
  6168            description: "Execution variables passed to executor from secrets. Deprecated: use Secret Variables instead"
  6169            additionalProperties:
  6170              type: string
  6171            example:
  6172              secret_key_name1: "secret-name"
  6173              secret_Key_name2: "secret-name"
  6174          sync:
  6175            type: boolean
  6176            description: whether to start execution sync or async
  6177          httpProxy:
  6178            type: string
  6179            description: http proxy for executor containers
  6180            example: user:pass@my.proxy.server:8080
  6181          httpsProxy:
  6182            type: string
  6183            description: https proxy for executor containers
  6184            example: user:pass@my.proxy.server:8081
  6185          negativeTest:
  6186            type: boolean
  6187            description: whether to run test as negative test
  6188            example: false
  6189          isNegativeTestChangedOnRun:
  6190            type: boolean
  6191            description: whether negativeTest was changed by user
  6192            example: false
  6193          activeDeadlineSeconds:
  6194            type: integer
  6195            format: int64
  6196            description: duration in seconds the test may be active, until its stopped
  6197            example: 1
  6198          uploads:
  6199            type: array
  6200            items:
  6201              type: string
  6202            description: list of file paths that need to be copied into the test from uploads
  6203            example:
  6204              - settings/config.txt
  6205          bucketName:
  6206            type: string
  6207            description: minio bucket name to get uploads from
  6208            example: execution-c01d7cf6-ec3f-47f0-9556-a5d6e9009a43
  6209          artifactRequest:
  6210            $ref: "#/components/schemas/ArtifactRequest"
  6211            description: configuration parameters for storing test artifacts
  6212          jobTemplate:
  6213            type: string
  6214            description: job template extensions
  6215          jobTemplateReference:
  6216            type: string
  6217            description: name of the template resource
  6218          cronJobTemplate:
  6219            type: string
  6220            description: cron job template extensions
  6221          cronJobTemplateReference:
  6222            type: string
  6223            description: name of the template resource
  6224          contentRequest:
  6225            $ref: "#/components/schemas/TestContentRequest"
  6226            description: adjusting parameters for test content
  6227          preRunScript:
  6228            type: string
  6229            description: script to run before test execution
  6230            example: "echo -n '$SECRET_ENV' > ./secret_file"
  6231          postRunScript:
  6232            type: string
  6233            description: script to run after test execution
  6234            example: "sleep 30"
  6235          executePostRunScriptBeforeScraping:
  6236            type: boolean
  6237            description: execute post run script before scraping (prebuilt executor only)
  6238          sourceScripts:
  6239            type: boolean
  6240            description: run scripts using source command (container executor only)
  6241          scraperTemplate:
  6242            type: string
  6243            description: scraper template extensions
  6244          scraperTemplateReference:
  6245            type: string
  6246            description: name of the template resource
  6247          pvcTemplate:
  6248            type: string
  6249            description: pvc template extensions
  6250          pvcTemplateReference:
  6251            type: string
  6252            description: name of the template resource
  6253          envConfigMaps:
  6254            type: array
  6255            description: "config map references"
  6256            items:
  6257              $ref: "#/components/schemas/EnvReference"
  6258          envSecrets:
  6259            type: array
  6260            description: "secret references"
  6261            items:
  6262              $ref: "#/components/schemas/EnvReference"
  6263          runningContext:
  6264            $ref: "#/components/schemas/RunningContext"
  6265            description: running context for the test execution
  6266          testExecutionName:
  6267            type: string
  6268            description: test execution name started the test execution
  6269          downloadArtifactExecutionIDs:
  6270            type: array
  6271            description: "execution ids for artifacts to download"
  6272            items:
  6273              type: string
  6274          downloadArtifactTestNames:
  6275            type: array
  6276            description: "test names for artifacts to download from latest executions"
  6277            items:
  6278              type: string
  6279          slavePodRequest:
  6280            $ref: "#/components/schemas/PodRequest"
  6281            description: configuration parameters for executed slave pods
  6282          executionNamespace:
  6283            type: string
  6284            description: namespace for test execution (Pro edition only) 
  6285  
  6286      TestSuiteStepExecutionRequest:
  6287        description: test step execution request body
  6288        type: object
  6289        readOnly: true
  6290        properties:
  6291          executionLabels:
  6292            type: object
  6293            description: "test execution labels"
  6294            additionalProperties:
  6295              type: string
  6296            example:
  6297              users: "3"
  6298              prefix: "some-"
  6299          variables:
  6300            $ref: "#/components/schemas/Variables"
  6301          command:
  6302            type: array
  6303            description: "executor image command"
  6304            items:
  6305              type: string
  6306            example:
  6307              - "curl"
  6308          args:
  6309            type: array
  6310            description: "additional executor binary arguments"
  6311            items:
  6312              type: string
  6313            example:
  6314              - "--repeats"
  6315              - "5"
  6316              - "--insecure"
  6317          args_mode:
  6318            type: string
  6319            description: usage mode for arguments
  6320            enum:
  6321              - append
  6322              - override
  6323              - replace
  6324          sync:
  6325            type: boolean
  6326            description: whether to start execution sync or async
  6327          httpProxy:
  6328            type: string
  6329            description: http proxy for executor containers
  6330            example: user:pass@my.proxy.server:8080
  6331          httpsProxy:
  6332            type: string
  6333            description: https proxy for executor containers
  6334            example: user:pass@my.proxy.server:8081
  6335          negativeTest:
  6336            type: boolean
  6337            description: whether to run test as negative test
  6338            example: false
  6339          jobTemplate:
  6340            type: string
  6341            description: job template extensions
  6342          jobTemplateReference:
  6343            type: string
  6344            description: name of the template resource
  6345          cronJobTemplate:
  6346            type: string
  6347            description: cron job template extensions
  6348          cronJobTemplateReference:
  6349            type: string
  6350            description: name of the template resource
  6351          scraperTemplate:
  6352            type: string
  6353            description: scraper template extensions
  6354          scraperTemplateReference:
  6355            type: string
  6356            description: name of the template resource
  6357          pvcTemplate:
  6358            type: string
  6359            description: pvc template extensions
  6360          pvcTemplateReference:
  6361            type: string
  6362            description: name of the template resource
  6363          runningContext:
  6364            $ref: "#/components/schemas/RunningContext"
  6365            description: running context for the test execution
  6366  
  6367      ExecutionUpdateRequest:
  6368        description: test execution request update body
  6369        type: object
  6370        nullable: true
  6371        allOf:
  6372          - $ref: "#/components/schemas/ExecutionRequest"
  6373  
  6374      TestSuiteExecutionRequest:
  6375        description: test suite execution request body
  6376        type: object
  6377        properties:
  6378          name:
  6379            type: string
  6380            description: test execution custom name
  6381            example: "testing with 1000 users"
  6382          number:
  6383            type: integer
  6384            description: test suite execution number
  6385            example: 1
  6386          namespace:
  6387            type: string
  6388            description: test kubernetes namespace ("testkube" when not set)
  6389            example: testkube
  6390          variables:
  6391            $ref: "#/components/schemas/Variables"
  6392          secretUUID:
  6393            type: string
  6394            description: secret uuid
  6395            readOnly: true
  6396            example: "7934600f-b367-48dd-b981-4353304362fb"
  6397          labels:
  6398            type: object
  6399            description: "test suite labels"
  6400            additionalProperties:
  6401              type: string
  6402            example:
  6403              users: "3"
  6404              prefix: "some-"
  6405          executionLabels:
  6406            type: object
  6407            description: "execution labels"
  6408            additionalProperties:
  6409              type: string
  6410            example:
  6411              users: "3"
  6412              prefix: "some-"
  6413          sync:
  6414            type: boolean
  6415            description: whether to start execution sync or async
  6416          httpProxy:
  6417            type: string
  6418            description: http proxy for executor containers
  6419            example: user:pass@my.proxy.server:8080
  6420          httpsProxy:
  6421            type: string
  6422            description: https proxy for executor containers
  6423            example: user:pass@my.proxy.server:8081
  6424          timeout:
  6425            type: integer
  6426            format: int32
  6427            description: duration in seconds the test suite may be active, until its stopped
  6428            example: 1
  6429          contentRequest:
  6430            $ref: "#/components/schemas/TestContentRequest"
  6431            description: adjusting parameters for test content
  6432          runningContext:
  6433            $ref: "#/components/schemas/RunningContext"
  6434            description: running context for the test suite execution
  6435          jobTemplate:
  6436            type: string
  6437            description: job template extensions
  6438          jobTemplateReference:
  6439            type: string
  6440            description: name of the template resource
  6441          cronJobTemplate:
  6442            type: string
  6443            description: cron job template extensions
  6444          cronJobTemplateReference:
  6445            type: string
  6446            description: name of the template resource
  6447          scraperTemplate:
  6448            type: string
  6449            description: scraper template extensions
  6450          scraperTemplateReference:
  6451            type: string
  6452            description: name of the template resource
  6453          pvcTemplate:
  6454            type: string
  6455            description: pvc template extensions
  6456          pvcTemplateReference:
  6457            type: string
  6458            description: name of the template resource
  6459          concurrencyLevel:
  6460            type: integer
  6461            format: int32
  6462            description: number of tests run in parallel
  6463            example: 10
  6464          testSuiteExecutionName:
  6465            type: string
  6466            description: test suite execution name started the test suite execution
  6467  
  6468      TestSuiteExecutionUpdateRequest:
  6469        description: test suite execution update request body
  6470        type: object
  6471        nullable: true
  6472        allOf:
  6473          - $ref: "#/components/schemas/TestSuiteExecutionRequest"
  6474  
  6475      TestUpsertRequest:
  6476        description: test create request body
  6477        type: object
  6478        allOf:
  6479          - $ref: "#/components/schemas/Test"
  6480  
  6481      TestUpdateRequest:
  6482        description: test update request body
  6483        type: object
  6484        nullable: true
  6485        allOf:
  6486          - $ref: "#/components/schemas/Test"
  6487  
  6488      TestSuiteUpsertRequest:
  6489        description: test suite create request body
  6490        type: object
  6491        required:
  6492          - name
  6493          - namespace
  6494        allOf:
  6495          - $ref: "#/components/schemas/TestSuite"
  6496          - $ref: "#/components/schemas/ObjectRef"
  6497  
  6498      TestSuiteUpsertRequestV2:
  6499        description: test suite create request body
  6500        type: object
  6501        required:
  6502          - name
  6503          - namespace
  6504        allOf:
  6505          - $ref: "#/components/schemas/TestSuiteV2"
  6506          - $ref: "#/components/schemas/ObjectRef"
  6507  
  6508      TestSuiteUpdateRequest:
  6509        description: test suite update body
  6510        type: object
  6511        nullable: true
  6512        allOf:
  6513          - $ref: "#/components/schemas/TestSuite"
  6514          - $ref: "#/components/schemas/ObjectRef"
  6515  
  6516      TestSuiteUpdateRequestV2:
  6517        description: test suite update body
  6518        type: object
  6519        nullable: true
  6520        allOf:
  6521          - $ref: "#/components/schemas/TestSuiteV2"
  6522          - $ref: "#/components/schemas/ObjectRef"
  6523  
  6524      TestTriggerUpsertRequest:
  6525        description: test trigger create or update request body
  6526        type: object
  6527        required:
  6528          - resource
  6529          - resourceSelector
  6530          - event
  6531          - action
  6532          - execution
  6533          - testSelector
  6534        allOf:
  6535          - $ref: "#/components/schemas/TestTrigger"
  6536          - $ref: "#/components/schemas/ObjectRef"
  6537  
  6538      ExecutorUpsertRequest:
  6539        description: executor create request body
  6540        type: object
  6541        required:
  6542          - name
  6543          - namespace
  6544          - types
  6545        allOf:
  6546          - $ref: "#/components/schemas/Executor"
  6547          - $ref: "#/components/schemas/ObjectRef"
  6548  
  6549      ExecutorUpdateRequest:
  6550        description: executor update request body
  6551        type: object
  6552        nullable: true
  6553        allOf:
  6554          - $ref: "#/components/schemas/Executor"
  6555          - $ref: "#/components/schemas/ObjectRef"
  6556  
  6557      WebhookCreateRequest:
  6558        description: webhook create request body
  6559        type: object
  6560        allOf:
  6561          - $ref: "#/components/schemas/Webhook"
  6562  
  6563      WebhookUpdateRequest:
  6564        description: webhook update request body
  6565        type: object
  6566        nullable: true
  6567        allOf:
  6568          - $ref: "#/components/schemas/Webhook"
  6569  
  6570      # Copied from CRD spec
  6571      # https://github.com/kubeshop/testkube-operator/blob/main/config/crd/bases/executor.testkube.io_executors.yaml
  6572      # TODO we need to sync those in some nice way
  6573      Executor:
  6574        description: CRD based executor data
  6575        type: object
  6576        properties:
  6577          executorType:
  6578            description:
  6579              ExecutorType one of "rest" for rest openapi based executors
  6580              or "job" which will be default runners for testkube soon
  6581            type: string
  6582          image:
  6583            description: Image for kube-job
  6584            type: string
  6585          slaves:
  6586            $ref: "#/components/schemas/SlavesMeta"
  6587          imagePullSecrets:
  6588            type: array
  6589            description: "container image pull secrets"
  6590            items:
  6591              $ref: "#/components/schemas/LocalObjectReference"
  6592          command:
  6593            type: array
  6594            description: "executor image command"
  6595            items:
  6596              type: string
  6597            example:
  6598              - "curl"
  6599          args:
  6600            type: array
  6601            description: "additional executor binary argument"
  6602            items:
  6603              type: string
  6604            example:
  6605              - "--repeats"
  6606              - "5"
  6607              - "--insecure"
  6608          types:
  6609            description: Types defines what types can be handled by executor e.g.
  6610              "postman/collection", ":curl/command" etc
  6611            items:
  6612              type: string
  6613            type: array
  6614          uri:
  6615            description: URI for rest based executors
  6616            type: string
  6617          contentTypes:
  6618            description: list of handled content types
  6619            items:
  6620              type: string
  6621            type: array
  6622          jobTemplate:
  6623            description: Job template to launch executor
  6624            type: string
  6625          jobTemplateReference:
  6626            type: string
  6627            description: name of the template resource
  6628          labels:
  6629            type: object
  6630            description: "executor labels"
  6631            additionalProperties:
  6632              type: string
  6633            example:
  6634              env: "prod"
  6635              app: "backend"
  6636          features:
  6637            description: Available executor features
  6638            type: array
  6639            items:
  6640              type: string
  6641              enum:
  6642                - artifacts
  6643                - junit-report
  6644          meta:
  6645            $ref: "#/components/schemas/ExecutorMeta"
  6646          useDataDirAsWorkingDir:
  6647            type: boolean
  6648            description: use data dir as working dir for executor
  6649  
  6650      ExecutorDetails:
  6651        description: Executor details with Executor data and additional information like list of executions
  6652        type: object
  6653        properties:
  6654          name:
  6655            description: Executor name
  6656            type: string
  6657          executor:
  6658            $ref: "#/components/schemas/Executor"
  6659          executions:
  6660            $ref: "#/components/schemas/ExecutionsResult"
  6661  
  6662      ExecutorOutput:
  6663        description: CRD based executor data
  6664        type: object
  6665        required:
  6666          - type
  6667        properties:
  6668          type:
  6669            type: string
  6670            description: One of possible output types
  6671            enum:
  6672              - error
  6673              - log
  6674              - event
  6675              - result
  6676          content:
  6677            type: string
  6678            description: Message/event data passed from executor (like log lines etc)
  6679          result:
  6680            $ref: "#/components/schemas/ExecutionResult"
  6681            description: Execution result when job is finished
  6682          time:
  6683            type: string
  6684            format: date-time
  6685            description: Timestamp of log
  6686            example: "2018-03-20T09:12:28Z"
  6687  
  6688      LogV2:
  6689        description: Log format version 2
  6690        type: object
  6691        required:
  6692          - logVersion
  6693          - source
  6694        properties:
  6695          time:
  6696            type: string
  6697            format: date-time
  6698            description: Timestamp of log
  6699            example: "2018-03-20T09:12:28Z"  
  6700          content:
  6701            type: string
  6702            description: Message/event data passed from executor (like log lines etc)  
  6703          type:
  6704            type: string
  6705            description: One of possible log types
  6706          source:
  6707            type: string
  6708            description: One of possible log sources
  6709            enum:
  6710              - job-pod
  6711              - test-scheduler
  6712              - container-executor
  6713              - job-executor
  6714          error:
  6715            type: boolean
  6716            description: indicates a log error 
  6717          version:
  6718            type: string
  6719            description: One of possible log versions
  6720            enum:
  6721              - v1
  6722              - v2
  6723          metadata:
  6724            type: object
  6725            description: additional log details
  6726            additionalProperties:
  6727              type: string
  6728            example:
  6729              argsl: "passed command arguments"
  6730          v1:
  6731            $ref: "#/components/schemas/LogV1"
  6732            description: Old output - for backwards compatibility - will be removed for non-structured logs
  6733         
  6734      LogV1:
  6735        description: Log format version 1
  6736        type: object
  6737        required:
  6738          - type
  6739        properties:
  6740          result:
  6741            $ref: "#/components/schemas/ExecutionResult"
  6742            description: output for previous log format
  6743  
  6744      ExecutorMeta:
  6745        description: Executor meta data
  6746        type: object
  6747        properties:
  6748          iconURI:
  6749            description: URI for executor icon
  6750            type: string
  6751            example: /assets/k6.jpg
  6752          docsURI:
  6753            description: URI for executor docs
  6754            type: string
  6755            example: https://docs.testkube.io/test-types/executor-k6
  6756          tooltips:
  6757            type: object
  6758            description: executor tooltips
  6759            additionalProperties:
  6760              type: string
  6761            example:
  6762              general: "please provide k6 test script for execution"
  6763  
  6764      ExecutorMetaUpdate:
  6765        description: Executor meta update data
  6766        type: object
  6767        nullable: true
  6768        allOf:
  6769          - $ref: "#/components/schemas/ExecutorMeta"
  6770  
  6771      SlavesMeta:
  6772        description: Slave data for executing tests in distributed environment
  6773        type: object
  6774        properties:
  6775          image:
  6776            description: slave image
  6777            type: string
  6778            example: kubeshop/ex-slaves-image:latest
  6779        required:
  6780          - image
  6781  
  6782      RunningContext:
  6783        description: running context for test or test suite execution
  6784        type: object
  6785        required:
  6786          - type
  6787        properties:
  6788          type:
  6789            type: string
  6790            description: One of possible context types
  6791            enum:
  6792              - userCLI
  6793              - userUI
  6794              - testsuite
  6795              - testtrigger
  6796              - scheduler
  6797          context:
  6798            type: string
  6799            description: Context value depending from its type
  6800  
  6801      Webhook:
  6802        description: CRD based webhook data
  6803        type: object
  6804        required:
  6805          - uri
  6806          - events
  6807        properties:
  6808          name:
  6809            type: string
  6810            example: "webhook1"
  6811          namespace:
  6812            type: string
  6813            example: "testkube"
  6814          uri:
  6815            type: string
  6816            example: "https://hooks.app.com/services/1"
  6817          events:
  6818            type: array
  6819            items:
  6820              $ref: "#/components/schemas/EventType"
  6821          selector:
  6822            type: string
  6823            description: Labels to filter for tests and test suites
  6824          payloadObjectField:
  6825            type: string
  6826            description: will load the generated payload for notification inside the object
  6827          payloadTemplate:
  6828            type: string
  6829            description: golang based template for notification payload
  6830          payloadTemplateReference:
  6831            type: string
  6832            description: name of the template resource
  6833          headers:
  6834            type: object
  6835            description: "webhook headers (golang template supported)"
  6836            additionalProperties:
  6837              type: string
  6838            example:
  6839              Content-Type: "application/xml"
  6840          labels:
  6841            type: object
  6842            description: "webhook labels"
  6843            additionalProperties:
  6844              type: string
  6845            example:
  6846              env: "prod"
  6847              app: "backend"
  6848  
  6849      Event:
  6850        description: Event data
  6851        type: object
  6852        required:
  6853          - type
  6854          - id
  6855          - resourceId
  6856          - resource
  6857        properties:
  6858          id:
  6859            type: string
  6860            description: UUID of event
  6861          streamTopic:
  6862            type: string
  6863            description: stream topic
  6864          resource:
  6865            $ref: "#/components/schemas/EventResource"
  6866          resourceId:
  6867            type: string
  6868            description: ID of resource
  6869          type:
  6870            $ref: "#/components/schemas/EventType"
  6871          testExecution:
  6872            $ref: "#/components/schemas/Execution"
  6873          testSuiteExecution:
  6874            $ref: "#/components/schemas/TestSuiteExecution"
  6875          testWorkflowExecution:
  6876            $ref: "#/components/schemas/TestWorkflowExecution"
  6877          clusterName:
  6878            type: string
  6879            description: cluster name of event
  6880          envs:
  6881            type: object
  6882            description: "environment variables"
  6883            additionalProperties:
  6884              type: string
  6885            example:
  6886              WEBHOOK_PARAMETER: "any value"
  6887  
  6888      EventResource:
  6889        type: string
  6890        enum:
  6891          - test
  6892          - testsuite
  6893          - executor
  6894          - trigger
  6895          - webhook
  6896          - testexecution
  6897          - testsuiteexecution
  6898          - testsource
  6899          - testworkflow
  6900          - testworkflowexecution
  6901  
  6902      EventType:
  6903        type: string
  6904        enum:
  6905          - start-test
  6906          - end-test-success
  6907          - end-test-failed
  6908          - end-test-aborted
  6909          - end-test-timeout
  6910          - start-testsuite
  6911          - end-testsuite-success
  6912          - end-testsuite-failed
  6913          - end-testsuite-aborted
  6914          - end-testsuite-timeout
  6915          - queue-testworkflow
  6916          - start-testworkflow
  6917          - end-testworkflow-success
  6918          - end-testworkflow-failed
  6919          - end-testworkflow-aborted
  6920          - created
  6921          - updated
  6922          - deleted
  6923  
  6924      EventResult:
  6925        description: Listener result after sending particular event
  6926        type: object
  6927        required:
  6928          - type
  6929        properties:
  6930          id:
  6931            type: string
  6932            description: UUID of event
  6933          error:
  6934            type: string
  6935            description: error message if any
  6936          result:
  6937            type: string
  6938            format: error
  6939            description: result of event
  6940  
  6941      TestWithExecution:
  6942        description: Test with latest Execution result
  6943        type: object
  6944        required:
  6945          - test
  6946        properties:
  6947          test:
  6948            $ref: "#/components/schemas/Test"
  6949          latestExecution:
  6950            $ref: "#/components/schemas/Execution"
  6951  
  6952      TestWithExecutionSummary:
  6953        description: Test with latest Execution result summary
  6954        type: object
  6955        required:
  6956          - test
  6957        properties:
  6958          test:
  6959            $ref: "#/components/schemas/Test"
  6960          latestExecution:
  6961            $ref: "#/components/schemas/ExecutionSummary"
  6962  
  6963      TestSuiteWithExecution:
  6964        description: Test suite with latest execution result
  6965        type: object
  6966        required:
  6967          - testSuite
  6968        properties:
  6969          testSuite:
  6970            $ref: "#/components/schemas/TestSuite"
  6971          latestExecution:
  6972            $ref: "#/components/schemas/TestSuiteExecution"
  6973  
  6974      TestSuiteWithExecutionSummary:
  6975        description: Test suite with latest execution result
  6976        type: object
  6977        required:
  6978          - testSuite
  6979        properties:
  6980          testSuite:
  6981            $ref: "#/components/schemas/TestSuite"
  6982          latestExecution:
  6983            $ref: "#/components/schemas/TestSuiteExecutionSummary"
  6984  
  6985      Config:
  6986        description: Testkube API config data structure
  6987        type: object
  6988        required:
  6989          - id
  6990          - clusterId
  6991          - enableTelemetry
  6992        properties:
  6993          id:
  6994            type: string
  6995          clusterId:
  6996            type: string
  6997          enableTelemetry:
  6998            type: boolean
  6999  
  7000      DebugInfo:
  7001        description: Testkube debug info
  7002        type: object
  7003        properties:
  7004          clientVersion:
  7005            type: string
  7006            example: "1.4.9"
  7007          serverVersion:
  7008            type: string
  7009            example: "v1.4.9"
  7010          clusterVersion:
  7011            type: string
  7012            example: "v1.23.4"
  7013          apiLogs:
  7014            type: array
  7015            items:
  7016              type: string
  7017            example: ["logline1", "logline2", "logline3"]
  7018          operatorLogs:
  7019            type: array
  7020            items:
  7021              type: string
  7022            example: ["logline1", "logline2", "logline3"]
  7023          executionLogs:
  7024            type: object
  7025            additionalProperties:
  7026              type: array
  7027              items:
  7028                type: string
  7029              example: ["logline1", "logline2", "logline3"]
  7030  
  7031      Features:
  7032        type: object
  7033        required:
  7034          - logsV2
  7035        properties:
  7036          logsV2:
  7037            type: boolean
  7038            description: Log processing version 2 
  7039  
  7040      TestTrigger:
  7041        type: object
  7042        required:
  7043          - resource
  7044          - resourceSelector
  7045          - event
  7046          - action
  7047          - execution
  7048          - testSelector
  7049        properties:
  7050          name:
  7051            type: string
  7052            description: test trigger name
  7053            example: "test1"
  7054          namespace:
  7055            type: string
  7056            description: test trigger namespace
  7057            example: "testkube"
  7058          labels:
  7059            type: object
  7060            description: "test trigger labels"
  7061            additionalProperties:
  7062              type: string
  7063            example:
  7064              env: "prod"
  7065              app: "backend"
  7066          resource:
  7067            $ref: "#/components/schemas/TestTriggerResources"
  7068          resourceSelector:
  7069            $ref: "#/components/schemas/TestTriggerSelector"
  7070          event:
  7071            type: string
  7072            description: listen for event for selected resource
  7073            example: modified
  7074          conditionSpec:
  7075            $ref: "#/components/schemas/TestTriggerConditionSpec"
  7076          probeSpec:
  7077            $ref: "#/components/schemas/TestTriggerProbeSpec"
  7078          action:
  7079            $ref: "#/components/schemas/TestTriggerActions"
  7080          execution:
  7081            $ref: "#/components/schemas/TestTriggerExecutions"
  7082          testSelector:
  7083            $ref: "#/components/schemas/TestTriggerSelector"
  7084          concurrencyPolicy:
  7085            $ref: "#/components/schemas/TestTriggerConcurrencyPolicies"
  7086  
  7087      LocalObjectReference:
  7088        description: Reference to Kubernetes object
  7089        type: object
  7090        properties:
  7091          name:
  7092            type: string
  7093  
  7094      EnvReference:
  7095        description: Reference to env resource
  7096        type: object
  7097        required:
  7098          - reference
  7099        properties:
  7100          reference:
  7101            $ref: "#/components/schemas/LocalObjectReference"
  7102          mount:
  7103            type: boolean
  7104            description: whether we shoud mount resource
  7105            example: /etc/data
  7106          mountPath:
  7107            type: string
  7108            description: where we shoud mount resource
  7109          mapToVariables:
  7110            type: boolean
  7111            description: whether we shoud map to variables from resource
  7112            default: false
  7113  
  7114      TestTriggerSelector:
  7115        type: object
  7116        properties:
  7117          name:
  7118            type: string
  7119            description: kubernetes resource name selector
  7120            example: nginx
  7121          nameRegex:
  7122            type: string
  7123            description: kubernetes resource name regex
  7124            example: nginx.*
  7125          namespace:
  7126            type: string
  7127            description: resource namespace
  7128            example: testkube
  7129          labelSelector:
  7130            $ref: "https://raw.githubusercontent.com/garethr/kubernetes-json-schema/master/v1.7.8/_definitions.json#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.LabelSelector"
  7131            description: label selector for Kubernetes resources
  7132  
  7133      TestTriggerResources:
  7134        description: supported kubernetes resources for test triggers
  7135        type: string
  7136        enum:
  7137          - pod
  7138          - deployment
  7139          - statefulset
  7140          - daemonset
  7141          - service
  7142          - ingress
  7143          - event
  7144          - configmap
  7145  
  7146      TestTriggerExecutions:
  7147        description: supported test resources for test triggers
  7148        type: string
  7149        enum:
  7150          - test
  7151          - testsuite
  7152  
  7153      TestTriggerActions:
  7154        description: supported actions for test triggers
  7155        type: string
  7156        enum:
  7157          - run
  7158  
  7159      TestTriggerConditionSpec:
  7160        type: object
  7161        properties:
  7162          conditions:
  7163            type: array
  7164            items:
  7165              $ref: "#/components/schemas/TestTriggerCondition"
  7166            description: list of test trigger conditions
  7167          timeout:
  7168            type: integer
  7169            format: int32
  7170            description: duration in seconds the test trigger waits for conditions, until its stopped
  7171            example: 1
  7172          delay:
  7173            type: integer
  7174            format: int32
  7175            description: duration in seconds the test trigger waits between condition checks
  7176            example: 1
  7177  
  7178      TestTriggerCondition:
  7179        description: supported condition for test triggers
  7180        type: object
  7181        required:
  7182          - status
  7183          - type
  7184        properties:
  7185          status:
  7186            $ref: "#/components/schemas/TestTriggerConditionStatuses"
  7187          type:
  7188            type: string
  7189            description: test trigger condition
  7190            example: Progressing
  7191          reason:
  7192            type: string
  7193            description: test trigger condition reason
  7194            example: NewReplicaSetAvailable
  7195          ttl:
  7196            type: integer
  7197            format: int32
  7198            description: duration in seconds in the past from current time when the condition is still valid
  7199            example: 1
  7200  
  7201      TestTriggerConditionStatuses:
  7202        description: supported kubernetes condition statuses for test triggers
  7203        type: string
  7204        enum:
  7205          - "True"
  7206          - "False"
  7207          - "Unknown"
  7208  
  7209      TestTriggerProbeSpec:
  7210        type: object
  7211        properties:
  7212          probes:
  7213            type: array
  7214            items:
  7215              $ref: "#/components/schemas/TestTriggerProbe"
  7216            description: list of test trigger probes
  7217          timeout:
  7218            type: integer
  7219            format: int32
  7220            description: duration in seconds the test trigger waits for probes, until its stopped
  7221            example: 1
  7222          delay:
  7223            type: integer
  7224            format: int32
  7225            description: duration in seconds the test trigger waits between probes
  7226            example: 1
  7227  
  7228      TestTriggerProbe:
  7229        description: supported probe for test triggers
  7230        type: object
  7231        properties:
  7232          scheme:
  7233            type: string
  7234            description: test trigger condition probe scheme to connect to host, default is http
  7235            example: http
  7236          host:
  7237            type: string
  7238            description: test trigger condition probe host, default is pod ip or service name
  7239            example: testkube-api-server
  7240          path:
  7241            type: string
  7242            description: test trigger condition probe path to check, default is /
  7243            example: /
  7244          port:
  7245            type: integer
  7246            format: int32
  7247            description: test trigger condition probe port to connect
  7248            example: 80
  7249          headers:
  7250            type: object
  7251            description: test trigger condition probe headers to submit
  7252            additionalProperties:
  7253              type: string
  7254            example:
  7255              Content-Type: "application/xml"
  7256  
  7257      TestTriggerConcurrencyPolicies:
  7258        description: supported concurrency policies for test triggers
  7259        type: string
  7260        enum:
  7261          - allow
  7262          - forbid
  7263          - replace
  7264  
  7265      TestTriggerKeyMap:
  7266        type: object
  7267        required:
  7268          - resources
  7269          - actions
  7270          - executions
  7271          - events
  7272          - concurrencyPolicies
  7273        properties:
  7274          resources:
  7275            type: array
  7276            items:
  7277              type: string
  7278            description: list of supported values for resources
  7279            example:
  7280              [
  7281                "pod",
  7282                "deployment",
  7283                "statefulset",
  7284                "daemonset",
  7285                "service",
  7286                "ingress",
  7287                "event",
  7288                "configmap",
  7289              ]
  7290          actions:
  7291            type: array
  7292            items:
  7293              type: string
  7294            description: list of supported values for actions
  7295            example: ["run"]
  7296          executions:
  7297            type: array
  7298            items:
  7299              type: string
  7300            description: list of supported values for executions
  7301            example: ["test", "testsuite"]
  7302          events:
  7303            type: object
  7304            additionalProperties:
  7305              type: array
  7306              items:
  7307                type: string
  7308            description: mapping between resources and supported events
  7309            example:
  7310              {
  7311                "pod": ["created", "modified", "deleted"],
  7312                "deployment": ["created", "modified", "deleted"],
  7313              }
  7314          conditions:
  7315            type: array
  7316            items:
  7317              type: string
  7318            description: list of supported values for conditions
  7319            example: ["Available", "Progressing"]
  7320          concurrencyPolicies:
  7321            type: array
  7322            items:
  7323              type: string
  7324            description: list of supported values for concurrency policies
  7325            example: ["allow", "forbid", "replace"]
  7326  
  7327      TestSourceBatchRequest:
  7328        description: Test source batch request
  7329        type: object
  7330        required:
  7331          - batch
  7332        properties:
  7333          batch:
  7334            type: array
  7335            items:
  7336              $ref: "#/components/schemas/TestSourceUpsertRequest"
  7337  
  7338      TestSourceBatchResult:
  7339        description: Test source batch result
  7340        type: object
  7341        properties:
  7342          created:
  7343            type: array
  7344            items:
  7345              type: string
  7346            description: created test sources
  7347            example: ["name1", "name2", "name3"]
  7348          updated:
  7349            type: array
  7350            items:
  7351              type: string
  7352            description: updated test sources
  7353            example: ["name4", "name5", "name6"]
  7354          deleted:
  7355            type: array
  7356            items:
  7357              type: string
  7358            description: deleted test sources
  7359            example: ["name7", "name8", "name9"]
  7360  
  7361      Template:
  7362        description: Golang based template
  7363        type: object
  7364        required:
  7365          - name
  7366          - type
  7367          - body
  7368        properties:
  7369          name:
  7370            type: string
  7371            description: template name for reference
  7372            example: "webhook-template"
  7373          namespace:
  7374            type: string
  7375            description: template namespace
  7376            example: "testkube"
  7377          type:
  7378            $ref: "#/components/schemas/TemplateType"
  7379          body:
  7380            type: string
  7381            description: template body to use
  7382            example: '{"id": "{{ .Id }}"}'
  7383          labels:
  7384            type: object
  7385            description: "template labels"
  7386            additionalProperties:
  7387              type: string
  7388            example:
  7389              env: "prod"
  7390              app: "backend"
  7391  
  7392      TemplateType:
  7393        description: template type by purpose
  7394        type: string
  7395        enum:
  7396          - job
  7397          - container
  7398          - cronjob
  7399          - scraper
  7400          - pvc
  7401          - webhook
  7402          - pod
  7403  
  7404      TemplateCreateRequest:
  7405        description: template create request body
  7406        type: object
  7407        allOf:
  7408          - $ref: "#/components/schemas/Template"
  7409  
  7410      TemplateUpdateRequest:
  7411        description: template update request body
  7412        type: object
  7413        nullable: true
  7414        allOf:
  7415          - $ref: "#/components/schemas/Template"
  7416  
  7417      Secret:
  7418        description: Secret with keys
  7419        type: object
  7420        required:
  7421          - name
  7422        properties:
  7423          name:
  7424            type: string
  7425            description: secret name
  7426            example: "git-secret"
  7427          keys:
  7428            type: array
  7429            description: secret keys
  7430            items:
  7431              type: string
  7432            example: ["key1", "key2", "key3"]
  7433  
  7434      TestWorkflow:
  7435        type: object
  7436        properties:
  7437          name:
  7438            type: string
  7439            description: kubernetes resource name
  7440          namespace:
  7441            type: string
  7442            description: kubernetes namespace
  7443          description:
  7444            type: string
  7445            description: human-readable description
  7446          labels:
  7447            type: object
  7448            description: "test workflow labels"
  7449            additionalProperties:
  7450              type: string
  7451            example:
  7452              env: "prod"
  7453              app: "backend"
  7454          annotations:
  7455            type: object
  7456            description: "test workflow annotations"
  7457            additionalProperties:
  7458              type: string
  7459          created:
  7460            type: string
  7461            format: date-time
  7462            example: "2022-07-30T06:54:15Z"
  7463          spec:
  7464            $ref: "#/components/schemas/TestWorkflowSpec"
  7465  
  7466      TestWorkflowExecutionRequest:
  7467        type: object
  7468        properties:
  7469          name:
  7470            type: string
  7471            description: custom execution name
  7472          config:
  7473            $ref: "#/components/schemas/TestWorkflowConfigValue"
  7474  
  7475      TestWorkflowWithExecution:
  7476        type: object
  7477        properties:
  7478          workflow:
  7479            $ref: "#/components/schemas/TestWorkflow"
  7480          latestExecution:
  7481            $ref: "#/components/schemas/TestWorkflowExecution"
  7482  
  7483      TestWorkflowWithExecutionSummary:
  7484        type: object
  7485        properties:
  7486          workflow:
  7487            $ref: "#/components/schemas/TestWorkflow"
  7488          latestExecution:
  7489            $ref: "#/components/schemas/TestWorkflowExecutionSummary"
  7490  
  7491      TestWorkflowExecutionsResult:
  7492        type: object
  7493        properties:
  7494          totals:
  7495            $ref: "#/components/schemas/ExecutionsTotals"
  7496          filtered:
  7497            $ref: "#/components/schemas/ExecutionsTotals"
  7498          results:
  7499            type: array
  7500            items:
  7501              $ref: "#/components/schemas/TestWorkflowExecutionSummary"
  7502        required:
  7503          - totals
  7504          - filtered
  7505          - results
  7506  
  7507      TestWorkflowExecution:
  7508        type: object
  7509        properties:
  7510          id:
  7511            type: string
  7512            description: unique execution identifier
  7513            format: bson objectId
  7514            example: "62f395e004109209b50edfc1"
  7515          name:
  7516            type: string
  7517            description: execution name
  7518            example: "some-workflow-name-1"
  7519          number:
  7520            type: integer
  7521            description: sequence number for the execution
  7522          scheduledAt:
  7523            type: string
  7524            format: date-time
  7525            description: when the execution has been scheduled to run
  7526          statusAt:
  7527            type: string
  7528            format: date-time
  7529            description: when the execution result's status has changed last time (queued, passed, failed)
  7530          signature:
  7531            type: array
  7532            description: structured tree of steps
  7533            items:
  7534              $ref: "#/components/schemas/TestWorkflowSignature"
  7535          result:
  7536            $ref: "#/components/schemas/TestWorkflowResult"
  7537          output:
  7538            type: array
  7539            description: additional information from the steps, like referenced executed tests or artifacts
  7540            items:
  7541              $ref: "#/components/schemas/TestWorkflowOutput"
  7542          workflow:
  7543            $ref: "#/components/schemas/TestWorkflow"
  7544          resolvedWorkflow:
  7545            $ref: "#/components/schemas/TestWorkflow"
  7546        required:
  7547          - id
  7548          - name
  7549          - workflow
  7550  
  7551      TestWorkflowExecutionSummary:
  7552        type: object
  7553        properties:
  7554          id:
  7555            type: string
  7556            description: unique execution identifier
  7557            format: bson objectId
  7558            example: "62f395e004109209b50edfc1"
  7559          name:
  7560            type: string
  7561            description: execution name
  7562            example: "some-workflow-name-1"
  7563          number:
  7564            type: integer
  7565            description: sequence number for the execution
  7566          scheduledAt:
  7567            type: string
  7568            format: date-time
  7569            description: when the execution has been scheduled to run
  7570          statusAt:
  7571            type: string
  7572            format: date-time
  7573            description: when the execution result's status has changed last time (queued, passed, failed)
  7574          result:
  7575            $ref: "#/components/schemas/TestWorkflowResultSummary"
  7576          workflow:
  7577            $ref: "#/components/schemas/TestWorkflowSummary"
  7578        required:
  7579          - id
  7580          - name
  7581          - workflow
  7582  
  7583      TestWorkflowSummary:
  7584        type: object
  7585        properties:
  7586          name:
  7587            type: string
  7588          namespace:
  7589            type: string
  7590          labels:
  7591            type: object
  7592            additionalProperties:
  7593              type: string
  7594          annotations:
  7595            type: object
  7596            additionalProperties:
  7597              type: string
  7598  
  7599      TestWorkflowResultSummary:
  7600        type: object
  7601        properties:
  7602          status:
  7603            $ref: "#/components/schemas/TestWorkflowStatus"
  7604          predictedStatus:
  7605            $ref: "#/components/schemas/TestWorkflowStatus"
  7606          queuedAt:
  7607            type: string
  7608            format: date-time
  7609            description: when the pod was created
  7610          startedAt:
  7611            type: string
  7612            format: date-time
  7613            description: when the pod has been successfully assigned
  7614          finishedAt:
  7615            type: string
  7616            format: date-time
  7617            description: when the pod has been completed
  7618          duration:
  7619            type: string
  7620            description: Go-formatted (human-readable) duration
  7621          durationMs:
  7622            type: integer
  7623            description: Duration in milliseconds
  7624        required:
  7625          - status
  7626          - predictedStatus
  7627  
  7628      TestWorkflowExecutionNotification:
  7629        type: object
  7630        properties:
  7631          ts:
  7632            type: string
  7633            format: date-time
  7634            description: timestamp for the notification if available
  7635          result:
  7636            $ref: "#/components/schemas/TestWorkflowResult"
  7637          ref:
  7638            type: string
  7639            description: step reference, if related to some specific step
  7640          log:
  7641            type: string
  7642            description: log content, if it's just a log. note, that it includes 30 chars timestamp + space
  7643          output:
  7644            $ref: "#/components/schemas/TestWorkflowOutput"
  7645  
  7646      TestWorkflowOutput:
  7647        type: object
  7648        properties:
  7649          ref:
  7650            type: string
  7651            description: step reference
  7652          name:
  7653            type: string
  7654            description: output kind name
  7655          value:
  7656            type: object
  7657            additionalProperties: {}
  7658            description: value returned
  7659  
  7660      TestWorkflowResult:
  7661        type: object
  7662        properties:
  7663          status:
  7664            $ref: "#/components/schemas/TestWorkflowStatus"
  7665          predictedStatus:
  7666            $ref: "#/components/schemas/TestWorkflowStatus"
  7667          queuedAt:
  7668            type: string
  7669            format: date-time
  7670            description: when the pod was created
  7671          startedAt:
  7672            type: string
  7673            format: date-time
  7674            description: when the pod has been successfully assigned
  7675          finishedAt:
  7676            type: string
  7677            format: date-time
  7678            description: when the pod has been completed
  7679          duration:
  7680            type: string
  7681            description: Go-formatted (human-readable) duration
  7682          durationMs:
  7683            type: integer
  7684            description: Duration in milliseconds
  7685          initialization:
  7686            $ref: "#/components/schemas/TestWorkflowStepResult"
  7687          steps:
  7688            type: object
  7689            additionalProperties:
  7690              $ref: "#/components/schemas/TestWorkflowStepResult"
  7691        required:
  7692          - status
  7693          - predictedStatus
  7694  
  7695      TestWorkflowStepResult:
  7696        type: object
  7697        properties:
  7698          errorMessage:
  7699            type: string
  7700          status:
  7701            $ref: "#/components/schemas/TestWorkflowStepStatus"
  7702          exitCode:
  7703            type: number
  7704          queuedAt:
  7705            type: string
  7706            format: date-time
  7707            description: when the container was created
  7708          startedAt:
  7709            type: string
  7710            format: date-time
  7711            description: when the container was started
  7712          finishedAt:
  7713            type: string
  7714            format: date-time
  7715            description: when the container was finished
  7716  
  7717      TestWorkflowSignature:
  7718        type: object
  7719        properties:
  7720          ref:
  7721            type: string
  7722            description: step reference
  7723          name:
  7724            type: string
  7725            description: step name
  7726          category:
  7727            type: string
  7728            description: step category, that may be used as name fallback
  7729          optional:
  7730            type: boolean
  7731            description: is the step/group meant to be optional
  7732          negative:
  7733            type: boolean
  7734            description: is the step/group meant to be negative
  7735          children:
  7736            type: array
  7737            items:
  7738              $ref: "#/components/schemas/TestWorkflowSignature"
  7739  
  7740      TestWorkflowStatus:
  7741        type: string
  7742        enum:
  7743          - queued
  7744          - running
  7745          - passed
  7746          - failed
  7747          - aborted
  7748  
  7749      TestWorkflowStepStatus:
  7750        type: string
  7751        enum:
  7752          - queued
  7753          - running
  7754          - passed
  7755          - failed
  7756          - timeout
  7757          - skipped
  7758          - aborted
  7759  
  7760      TestWorkflowTemplate:
  7761        type: object
  7762        properties:
  7763          name:
  7764            type: string
  7765            description: kubernetes resource name
  7766          namespace:
  7767            type: string
  7768            description: kubernetes namespace
  7769          description:
  7770            type: string
  7771            description: human-readable description
  7772          labels:
  7773            type: object
  7774            description: "test workflow labels"
  7775            additionalProperties:
  7776              type: string
  7777            example:
  7778              env: "prod"
  7779              app: "backend"
  7780          annotations:
  7781            type: object
  7782            description: "test workflow annotations"
  7783            additionalProperties:
  7784              type: string
  7785          created:
  7786            type: string
  7787            format: date-time
  7788            example: "2022-07-30T06:54:15Z"
  7789          spec:
  7790            $ref: "#/components/schemas/TestWorkflowTemplateSpec"
  7791  
  7792      TestWorkflowSpec:
  7793        type: object
  7794        properties:
  7795          use:
  7796            type: array
  7797            items:
  7798              $ref: "#/components/schemas/TestWorkflowTemplateRef"
  7799          config:
  7800            $ref: "#/components/schemas/TestWorkflowConfigSchema"
  7801          content:
  7802            $ref: "#/components/schemas/TestWorkflowContent"
  7803          container:
  7804            $ref: "#/components/schemas/TestWorkflowContainerConfig"
  7805          job:
  7806            $ref: "#/components/schemas/TestWorkflowJobConfig"
  7807          pod:
  7808            $ref: "#/components/schemas/TestWorkflowPodConfig"
  7809          setup:
  7810            type: array
  7811            items:
  7812              $ref: "#/components/schemas/TestWorkflowStep"
  7813          steps:
  7814            type: array
  7815            items:
  7816              $ref: "#/components/schemas/TestWorkflowStep"
  7817          after:
  7818            type: array
  7819            items:
  7820              $ref: "#/components/schemas/TestWorkflowStep"
  7821          events:
  7822            type: array
  7823            items:
  7824              $ref: "#/components/schemas/TestWorkflowEvent"
  7825  
  7826      TestWorkflowTemplateSpec:
  7827        type: object
  7828        properties:
  7829          config:
  7830            $ref: "#/components/schemas/TestWorkflowConfigSchema"
  7831          content:
  7832            $ref: "#/components/schemas/TestWorkflowContent"
  7833          container:
  7834            $ref: "#/components/schemas/TestWorkflowContainerConfig"
  7835          job:
  7836            $ref: "#/components/schemas/TestWorkflowJobConfig"
  7837          pod:
  7838            $ref: "#/components/schemas/TestWorkflowPodConfig"
  7839          setup:
  7840            type: array
  7841            items:
  7842              $ref: "#/components/schemas/TestWorkflowIndependentStep"
  7843          steps:
  7844            type: array
  7845            items:
  7846              $ref: "#/components/schemas/TestWorkflowIndependentStep"
  7847          after:
  7848            type: array
  7849            items:
  7850              $ref: "#/components/schemas/TestWorkflowIndependentStep"
  7851          events:
  7852            type: array
  7853            items:
  7854              $ref: "#/components/schemas/TestWorkflowEvent"
  7855  
  7856      TestWorkflowIndependentStep:
  7857        type: object
  7858        properties:
  7859          name:
  7860            type: string
  7861            description: readable name for the step
  7862          condition:
  7863            type: string
  7864            description: expression to declare under which conditions the step should be run; defaults to "passed", except artifacts where it defaults to "always"
  7865          negative:
  7866            type: boolean
  7867            description: is the step expected to fail
  7868          optional:
  7869            type: boolean
  7870            description: is the step optional, so the failure won't affect the TestWorkflow result
  7871          retry:
  7872            $ref: "#/components/schemas/TestWorkflowRetryPolicy"
  7873          timeout:
  7874            type: string
  7875            pattern: "^((0|[1-9][0-9]*)h)?((0|[1-9][0-9]*)m)?((0|[1-9][0-9]*)s)?((0|[1-9][0-9]*)ms)?$"
  7876            description: maximum time this step may take
  7877          delay:
  7878            type: string
  7879            pattern: "^((0|[1-9][0-9]*)h)?((0|[1-9][0-9]*)m)?((0|[1-9][0-9]*)s)?((0|[1-9][0-9]*)ms)?$"
  7880            description: delay before the step
  7881          content:
  7882            $ref: "#/components/schemas/TestWorkflowContent"
  7883          shell:
  7884            type: string
  7885            description: script to run in a default shell for the container
  7886          run:
  7887            $ref: "#/components/schemas/TestWorkflowStepRun"
  7888          workingDir:
  7889            $ref: "#/components/schemas/BoxedString"
  7890          container:
  7891            $ref: "#/components/schemas/TestWorkflowContainerConfig"
  7892          execute:
  7893            $ref: "#/components/schemas/TestWorkflowStepExecute"
  7894          artifacts:
  7895            $ref: "#/components/schemas/TestWorkflowStepArtifacts"
  7896          setup:
  7897            type: array
  7898            description: nested setup steps to run
  7899            items:
  7900              $ref: "#/components/schemas/TestWorkflowIndependentStep"
  7901          steps:
  7902            type: array
  7903            description: nested steps to run
  7904            items:
  7905              $ref: "#/components/schemas/TestWorkflowIndependentStep"
  7906  
  7907      TestWorkflowStep:
  7908        type: object
  7909        properties:
  7910          name:
  7911            type: string
  7912            description: readable name for the step
  7913          condition:
  7914            type: string
  7915            description: expression to declare under which conditions the step should be run; defaults to "passed", except artifacts where it defaults to "always"
  7916          negative:
  7917            type: boolean
  7918            description: is the step expected to fail
  7919          optional:
  7920            type: boolean
  7921            description: is the step optional, so the failure won't affect the TestWorkflow result
  7922          use:
  7923            type: array
  7924            description: list of TestWorkflowTemplates to use
  7925            items:
  7926              $ref: "#/components/schemas/TestWorkflowTemplateRef"
  7927          template:
  7928            $ref: "#/components/schemas/TestWorkflowTemplateRef"
  7929          retry:
  7930            $ref: "#/components/schemas/TestWorkflowRetryPolicy"
  7931          timeout:
  7932            type: string
  7933            pattern: "^((0|[1-9][0-9]*)h)?((0|[1-9][0-9]*)m)?((0|[1-9][0-9]*)s)?((0|[1-9][0-9]*)ms)?$"
  7934            description: maximum time this step may take
  7935          delay:
  7936            type: string
  7937            pattern: "^((0|[1-9][0-9]*)h)?((0|[1-9][0-9]*)m)?((0|[1-9][0-9]*)s)?((0|[1-9][0-9]*)ms)?$"
  7938            description: delay before the step
  7939          content:
  7940            $ref: "#/components/schemas/TestWorkflowContent"
  7941          shell:
  7942            type: string
  7943            description: script to run in a default shell for the container
  7944          run:
  7945            $ref: "#/components/schemas/TestWorkflowStepRun"
  7946          workingDir:
  7947            $ref: "#/components/schemas/BoxedString"
  7948          container:
  7949            $ref: "#/components/schemas/TestWorkflowContainerConfig"
  7950          execute:
  7951            $ref: "#/components/schemas/TestWorkflowStepExecute"
  7952          artifacts:
  7953            $ref: "#/components/schemas/TestWorkflowStepArtifacts"
  7954          setup:
  7955            type: array
  7956            description: nested setup steps to run
  7957            items:
  7958              $ref: "#/components/schemas/TestWorkflowStep"
  7959          steps:
  7960            type: array
  7961            description: nested steps to run
  7962            items:
  7963              $ref: "#/components/schemas/TestWorkflowStep"
  7964  
  7965      TestWorkflowStepExecute:
  7966        type: object
  7967        properties:
  7968          parallelism:
  7969            type: integer
  7970            description: how many resources could be scheduled in parallel
  7971          async:
  7972            type: boolean
  7973            description: only schedule the resources, don't watch for the results (unless it is needed for parallelism)
  7974          tests:
  7975            type: array
  7976            description: tests to schedule
  7977            items:
  7978              $ref: "#/components/schemas/TestWorkflowStepExecuteTestRef"
  7979          workflows:
  7980            type: array
  7981            description: workflows to schedule
  7982            items:
  7983              $ref: "#/components/schemas/TestWorkflowStepExecuteTestWorkflowRef"
  7984  
  7985      TestWorkflowStepExecuteTestWorkflowRef:
  7986        type: object
  7987        properties:
  7988          name:
  7989            type: string
  7990            description: TestWorkflow name to include
  7991          description:
  7992            type: string
  7993            description: TestWorkflow execution description to display
  7994          executionName:
  7995            type: string
  7996            description: TestWorkflow execution name override
  7997          config:
  7998            $ref: "#/components/schemas/TestWorkflowConfigValue"
  7999          count:
  8000            $ref: "#/components/schemas/BoxedString"
  8001          maxCount:
  8002            $ref: "#/components/schemas/BoxedString"
  8003          matrix:
  8004            type: object
  8005            description: "matrix of parameters to spawn instances"
  8006            additionalProperties:
  8007              description: "dynamic expression or static list of values"
  8008              oneOf:
  8009              - type: string
  8010              - type: array
  8011                items:
  8012                  type: string
  8013          shards:
  8014            type: object
  8015            description: "parameters that should be distributed across sharded instances"
  8016            additionalProperties:
  8017              description: "dynamic expression or static list of values"
  8018              oneOf:
  8019              - type: string
  8020              - type: array
  8021                items:
  8022                  type: string
  8023  
  8024      TestWorkflowStepExecuteTestRef:
  8025        type: object
  8026        properties:
  8027          name:
  8028            type: string
  8029            description: test name to schedule
  8030          description:
  8031            type: string
  8032            description: test execution description to display
  8033          count:
  8034            $ref: "#/components/schemas/BoxedString"
  8035          maxCount:
  8036            $ref: "#/components/schemas/BoxedString"
  8037          executionRequest:
  8038            $ref: "#/components/schemas/TestWorkflowStepExecuteTestExecutionRequest"
  8039          matrix:
  8040            type: object
  8041            description: "matrix of parameters to spawn instances"
  8042            additionalProperties:
  8043              description: "dynamic expression or static list of values"
  8044              oneOf:
  8045              - type: string
  8046              - type: array
  8047                items:
  8048                  type: string
  8049          shards:
  8050            type: object
  8051            description: "parameters that should be distributed across sharded instances"
  8052            additionalProperties:
  8053              description: "dynamic expression or static list of values"
  8054              oneOf:
  8055              - type: string
  8056              - type: array
  8057                items:
  8058                  type: string
  8059  
  8060      TestWorkflowStepExecuteTestExecutionRequest:
  8061        type: object
  8062        properties:
  8063          name:
  8064            type: string
  8065            description: test execution custom name
  8066            example: "testing with 1000 users"
  8067          executionLabels:
  8068            type: object
  8069            description: "test execution labels"
  8070            additionalProperties:
  8071              type: string
  8072            example:
  8073              users: "3"
  8074              prefix: "some-"
  8075          isVariablesFileUploaded:
  8076            type: boolean
  8077            description: in case the variables file is too big, it will be uploaded
  8078            example: false
  8079          variablesFile:
  8080            type: string
  8081            description: variables file content - need to be in format for particular executor (e.g. postman envs file)
  8082          variables:
  8083            $ref: "#/components/schemas/Variables"
  8084          testSecretUUID:
  8085            type: string
  8086            description: test secret uuid
  8087            readOnly: true
  8088            example: "7934600f-b367-48dd-b981-4353304362fb"
  8089          command:
  8090            type: array
  8091            description: "executor image command"
  8092            items:
  8093              type: string
  8094            example:
  8095            - "curl"
  8096          args:
  8097            type: array
  8098            description: "additional executor binary arguments"
  8099            items:
  8100              type: string
  8101            example:
  8102            - "--repeats"
  8103            - "5"
  8104            - "--insecure"
  8105          argsMode:
  8106            type: string
  8107            description: usage mode for arguments
  8108            enum:
  8109            - append
  8110            - override
  8111            - replace
  8112          image:
  8113            type: string
  8114            description: container image, executor will run inside this image
  8115            example: kubeshop/testkube-executor-custom:1.10.11-dev-0a9c91
  8116          imagePullSecrets:
  8117            type: array
  8118            description: "container image pull secrets"
  8119            items:
  8120              $ref: "#/components/schemas/LocalObjectReference"
  8121          sync:
  8122            type: boolean
  8123            description: whether to start execution sync or async
  8124          httpProxy:
  8125            type: string
  8126            description: http proxy for executor containers
  8127            example: user:pass@my.proxy.server:8080
  8128          httpsProxy:
  8129            type: string
  8130            description: https proxy for executor containers
  8131            example: user:pass@my.proxy.server:8081
  8132          negativeTest:
  8133            type: boolean
  8134            description: whether to run test as negative test
  8135            example: false
  8136          activeDeadlineSeconds:
  8137            type: integer
  8138            format: int64
  8139            description: duration in seconds the test may be active, until its stopped
  8140            example: 1
  8141          artifactRequest:
  8142            $ref: "#/components/schemas/ArtifactRequest"
  8143            description: configuration parameters for storing test artifacts
  8144          jobTemplate:
  8145            type: string
  8146            description: job template extensions
  8147          cronJobTemplate:
  8148            type: string
  8149            description: cron job template extensions
  8150          preRunScript:
  8151            type: string
  8152            description: script to run before test execution
  8153            example: "echo -n '$SECRET_ENV' > ./secret_file"
  8154          postRunScript:
  8155            type: string
  8156            description: script to run after test execution
  8157            example: "sleep 30"
  8158          executePostRunScriptBeforeScraping:
  8159            type: boolean
  8160            description: execute post run script before scraping (prebuilt executor only)
  8161          sourceScripts:
  8162            type: boolean
  8163            description: run scripts using source command (container executor only)
  8164          scraperTemplate:
  8165            type: string
  8166            description: scraper template extensions
  8167          pvcTemplate:
  8168            type: string
  8169            description: pvc template extensions
  8170          envConfigMaps:
  8171            type: array
  8172            description: "config map references"
  8173            items:
  8174              $ref: "#/components/schemas/EnvReference"
  8175          envSecrets:
  8176            type: array
  8177            description: "secret references"
  8178            items:
  8179              $ref: "#/components/schemas/EnvReference"
  8180          executionNamespace:
  8181            type: string
  8182            description: namespace for test execution (Pro edition only)
  8183  
  8184      TestWorkflowStepArtifacts:
  8185        type: object
  8186        properties:
  8187          workingDir:
  8188            $ref: "#/components/schemas/BoxedString"
  8189          compress:
  8190            $ref: "#/components/schemas/TestWorkflowStepArtifactsCompression"
  8191          paths:
  8192            type: array
  8193            description: file paths to fetch from the container
  8194            items:
  8195              type: string
  8196            minItems: 1
  8197        required:
  8198          - paths
  8199  
  8200      TestWorkflowStepArtifactsCompression:
  8201        type: object
  8202        properties:
  8203          name:
  8204            type: string
  8205            description: artifact name
  8206  
  8207      TestWorkflowRetryPolicy:
  8208        type: object
  8209        properties:
  8210          count:
  8211            type: integer
  8212            minimum: 1
  8213            description: how many times at most it should retry
  8214          until:
  8215            type: string
  8216            description: until when it should retry (defaults to "passed")
  8217        required:
  8218          - count
  8219  
  8220      TestWorkflowContent:
  8221        type: object
  8222        properties:
  8223          git:
  8224            $ref: "#/components/schemas/TestWorkflowContentGit"
  8225          files:
  8226            type: array
  8227            items:
  8228              $ref: "#/components/schemas/TestWorkflowContentFile"
  8229  
  8230      TestWorkflowContentGit:
  8231        type: object
  8232        properties:
  8233          uri:
  8234            type: string
  8235            description: uri for the Git repository
  8236          revision:
  8237            type: string
  8238            description: branch, commit or a tag name to fetch
  8239          username:
  8240            type: string
  8241            description: plain text username to fetch with
  8242          usernameFrom:
  8243            $ref: "#/components/schemas/EnvVarSource"
  8244          token:
  8245            type: string
  8246            description: plain text token to fetch with
  8247          tokenFrom:
  8248            $ref: "#/components/schemas/EnvVarSource"
  8249          authType:
  8250            $ref: "#/components/schemas/ContentGitAuthType"
  8251          mountPath:
  8252            type: string
  8253            description: where to mount the fetched repository contents (defaults to "repo" directory in the data volume)
  8254          paths:
  8255            type: array
  8256            description: paths to fetch for the sparse checkout
  8257            items:
  8258              type: string
  8259  
  8260      TestWorkflowContentFile:
  8261        type: object
  8262        properties:
  8263          path:
  8264            type: string
  8265            description: path where the file should be accessible at
  8266            minLength: 1
  8267          content:
  8268            type: string
  8269            description: plain-text content to put inside
  8270          contentFrom:
  8271            $ref: "#/components/schemas/EnvVarSource"
  8272          mode:
  8273            $ref: "#/components/schemas/BoxedInteger"
  8274        required:
  8275          - path
  8276  
  8277      TestWorkflowRef:
  8278        type: object
  8279        properties:
  8280          name:
  8281            type: string
  8282            description: TestWorkflow name to include
  8283          config:
  8284            $ref: "#/components/schemas/TestWorkflowConfigValue"
  8285        required:
  8286          - name
  8287  
  8288      TestWorkflowTemplateRef:
  8289        type: object
  8290        properties:
  8291          name:
  8292            type: string
  8293            description: TestWorkflowTemplate name to include
  8294          config:
  8295            $ref: "#/components/schemas/TestWorkflowConfigValue"
  8296        required:
  8297          - name
  8298  
  8299      TestWorkflowJobConfig:
  8300        type: object
  8301        properties:
  8302          labels:
  8303            type: object
  8304            description: labels to attach to the job
  8305            additionalProperties:
  8306              type: string
  8307          annotations:
  8308            type: object
  8309            description: annotations to attach to the job
  8310            additionalProperties:
  8311              type: string
  8312  
  8313      TestWorkflowPodConfig:
  8314        type: object
  8315        properties:
  8316          labels:
  8317            type: object
  8318            description: labels to attach to the pod
  8319            additionalProperties:
  8320              type: string
  8321          annotations:
  8322            type: object
  8323            description: annotations to attach to the pod
  8324            additionalProperties:
  8325              type: string
  8326          imagePullSecrets:
  8327            type: array
  8328            description: secret references for pulling images
  8329            items:
  8330              $ref: "#/components/schemas/LocalObjectReference"
  8331          serviceAccountName:
  8332            type: string
  8333            description: default service account name for the containers
  8334          nodeSelector:
  8335            type: object
  8336            description: label selector for node that the pod should land on
  8337            additionalProperties:
  8338              type: string
  8339          volumes:
  8340            type: array
  8341            description: volumes to append to the pod
  8342            items:
  8343              $ref: "#/components/schemas/Volume"
  8344  
  8345      TestWorkflowContainerConfig:
  8346        type: object
  8347        properties:
  8348          workingDir:
  8349            $ref: "#/components/schemas/BoxedString"
  8350          image:
  8351            type: string
  8352            description: image to be used for the container
  8353          imagePullPolicy:
  8354            $ref: "#/components/schemas/ImagePullPolicy"
  8355          env:
  8356            type: array
  8357            description: environment variables to append to the container
  8358            items:
  8359              $ref: "#/components/schemas/EnvVar"
  8360          envFrom:
  8361            type: array
  8362            description: external environment variables to append to the container
  8363            items:
  8364              $ref: "#/components/schemas/EnvFromSource"
  8365          command:
  8366            $ref: "#/components/schemas/BoxedStringList"
  8367          args:
  8368            $ref: "#/components/schemas/BoxedStringList"
  8369          resources:
  8370            $ref: "#/components/schemas/TestWorkflowResources"
  8371          securityContext:
  8372            $ref: "#/components/schemas/SecurityContext"
  8373          volumeMounts:
  8374            type: array
  8375            description: volumes to mount to the container
  8376            items:
  8377              $ref: "#/components/schemas/VolumeMount"
  8378  
  8379      TestWorkflowStepRun:
  8380        type: object
  8381        properties:
  8382          workingDir:
  8383            $ref: "#/components/schemas/BoxedString"
  8384          image:
  8385            type: string
  8386            description: image to be used for the container
  8387          imagePullPolicy:
  8388            $ref: "#/components/schemas/ImagePullPolicy"
  8389          env:
  8390            type: array
  8391            description: environment variables to append to the container
  8392            items:
  8393              $ref: "#/components/schemas/EnvVar"
  8394          envFrom:
  8395            type: array
  8396            description: external environment variables to append to the container
  8397            items:
  8398              $ref: "#/components/schemas/EnvFromSource"
  8399          command:
  8400            $ref: "#/components/schemas/BoxedStringList"
  8401          args:
  8402            $ref: "#/components/schemas/BoxedStringList"
  8403          shell:
  8404            $ref: "#/components/schemas/BoxedString"
  8405          resources:
  8406            $ref: "#/components/schemas/TestWorkflowResources"
  8407          securityContext:
  8408            $ref: "#/components/schemas/SecurityContext"
  8409          volumeMounts:
  8410            type: array
  8411            description: volumes to mount to the container
  8412            items:
  8413              $ref: "#/components/schemas/VolumeMount"
  8414  
  8415      TestWorkflowConfigValue:
  8416        type: object
  8417        description: configuration values to pass to the template
  8418        additionalProperties:
  8419          type: string
  8420  
  8421      TestWorkflowConfigSchema:
  8422        type: object
  8423        description: configuration definition
  8424        additionalProperties:
  8425          $ref: "#/components/schemas/TestWorkflowParameterSchema"
  8426  
  8427      TestWorkflowResources:
  8428        type: object
  8429        properties:
  8430          limits:
  8431            $ref: "#/components/schemas/TestWorkflowResourcesList"
  8432          requests:
  8433            $ref: "#/components/schemas/TestWorkflowResourcesList"
  8434  
  8435      TestWorkflowResourcesList:
  8436        type: object
  8437        properties:
  8438          cpu:
  8439            type: string
  8440            description: number of CPUs
  8441            pattern: "^[0-9]+m?$"
  8442          memory:
  8443            type: string
  8444            description: size of RAM memory
  8445            pattern: "^[0-9]+[GMK]i$"
  8446          storage:
  8447            type: string
  8448            description: storage size
  8449            pattern: "^[0-9]+[GMK]i$"
  8450          ephemeral-storage:
  8451            type: string
  8452            description: ephemeral storage size
  8453            pattern: "^[0-9]+[GMK]i$"
  8454  
  8455      TestWorkflowParameterSchema:
  8456        type: object
  8457        properties:
  8458          description:
  8459            type: string
  8460            description: human-readable description for the property
  8461          type:
  8462            $ref: "#/components/schemas/TestWorkflowParameterType"
  8463          enum:
  8464            type: array
  8465            description: list of acceptable values
  8466            items:
  8467              type: string
  8468          example:
  8469            type: string
  8470            description: example value for the parameter
  8471          default:
  8472            $ref: "#/components/schemas/BoxedString"
  8473          format:
  8474            type: string
  8475            description: "predefined format for the string"
  8476          pattern:
  8477            type: string
  8478            description: "regular expression to match"
  8479          minLength:
  8480            $ref: "#/components/schemas/BoxedInteger"
  8481          maxLength:
  8482            $ref: "#/components/schemas/BoxedInteger"
  8483          minimum:
  8484            $ref: "#/components/schemas/BoxedInteger"
  8485          maximum:
  8486            $ref: "#/components/schemas/BoxedInteger"
  8487          exclusiveMinimum:
  8488            $ref: "#/components/schemas/BoxedInteger"
  8489          exclusiveMaximum:
  8490            $ref: "#/components/schemas/BoxedInteger"
  8491          multipleOf:
  8492            $ref: "#/components/schemas/BoxedInteger"
  8493        required:
  8494          - type
  8495  
  8496      TestWorkflowParameterType:
  8497        type: string
  8498        description: type of the config parameter
  8499        enum:
  8500          - string
  8501          - integer
  8502          - number
  8503          - boolean
  8504  
  8505      TestWorkflowEvent:
  8506        type: object
  8507        properties:
  8508          cronjob:
  8509            $ref: "#/components/schemas/TestWorkflowCronJobConfig"
  8510  
  8511      TestWorkflowCronJobConfig:
  8512        type: object
  8513        description: cron job configuration
  8514        required:
  8515          - cron
  8516        properties:
  8517          cron:
  8518            type: string
  8519            description: cron schedule to run a test workflow
  8520            example: "* * * * *"
  8521          labels:
  8522            type: object
  8523            description: labels to attach to the cron job
  8524            additionalProperties:
  8525              type: string
  8526          annotations:
  8527            type: object
  8528            description: annotations to attach to the cron job
  8529            additionalProperties:
  8530              type: string
  8531  
  8532      ContentGitAuthType:
  8533        type: string
  8534        description: auth type for git requests
  8535        enum:
  8536          - basic
  8537          - header
  8538  
  8539      BoxedStringList:
  8540        type: object
  8541        properties:
  8542          value:
  8543            type: array
  8544            items:
  8545              type: string
  8546        required:
  8547          - value
  8548  
  8549      BoxedString:
  8550        type: object
  8551        properties:
  8552          value:
  8553            type: string
  8554        required:
  8555          - value
  8556  
  8557      BoxedInteger:
  8558        type: object
  8559        properties:
  8560          value:
  8561            type: integer
  8562        required:
  8563          - value
  8564  
  8565      BoxedBoolean:
  8566        type: object
  8567        properties:
  8568          value:
  8569            type: boolean
  8570        required:
  8571          - value
  8572  
  8573      ImagePullPolicy:
  8574        type: string
  8575        enum:
  8576          - Always
  8577          - Never
  8578          - IfNotPresent
  8579  
  8580      EnvVar:
  8581        type: object
  8582        properties:
  8583          name:
  8584            type: string
  8585          value:
  8586            type: string
  8587          valueFrom:
  8588            $ref: "#/components/schemas/EnvVarSource"
  8589  
  8590      ConfigMapEnvSource:
  8591        type: object
  8592        properties:
  8593          name:
  8594            type: string
  8595          optional:
  8596            type: boolean
  8597            default: false
  8598        required:
  8599          - name
  8600  
  8601      SecretEnvSource:
  8602        type: object
  8603        properties:
  8604          name:
  8605            type: string
  8606          optional:
  8607            type: boolean
  8608            default: false
  8609        required:
  8610          - name
  8611  
  8612      EnvFromSource:
  8613        type: object
  8614        properties:
  8615          prefix:
  8616            type: string
  8617          configMapRef:
  8618            $ref: "#/components/schemas/ConfigMapEnvSource"
  8619          secretRef:
  8620            $ref: "#/components/schemas/SecretEnvSource"
  8621  
  8622      SecurityContext:
  8623        type: object
  8624        properties:
  8625          privileged:
  8626            $ref: "#/components/schemas/BoxedBoolean"
  8627          runAsUser:
  8628            $ref: "#/components/schemas/BoxedInteger"
  8629          runAsGroup:
  8630            $ref: "#/components/schemas/BoxedInteger"
  8631          runAsNonRoot:
  8632            $ref: "#/components/schemas/BoxedBoolean"
  8633          readOnlyRootFilesystem:
  8634            $ref: "#/components/schemas/BoxedBoolean"
  8635          allowPrivilegeEscalation:
  8636            $ref: "#/components/schemas/BoxedBoolean"
  8637  
  8638      VolumeMount:
  8639        description: VolumeMount describes a mounting of a Volume
  8640          within a container.
  8641        properties:
  8642          mountPath:
  8643            description: Path within the container at which the
  8644              volume should be mounted.  Must not contain ':'.
  8645            type: string
  8646          mountPropagation:
  8647            $ref: "#/components/schemas/BoxedString"
  8648          name:
  8649            description: This must match the Name of a Volume.
  8650            type: string
  8651          readOnly:
  8652            description: Mounted read-only if true, read-write
  8653              otherwise (false or unspecified). Defaults to false.
  8654            type: boolean
  8655          subPath:
  8656            description: Path within the volume from which the
  8657              container's volume should be mounted. Defaults to
  8658              "" (volume's root).
  8659            type: string
  8660          subPathExpr:
  8661            description: Expanded path within the volume from
  8662              which the container's volume should be mounted.
  8663              Behaves similarly to SubPath but environment variable
  8664              references $(VAR_NAME) are expanded using the container's
  8665              environment. Defaults to "" (volume's root). SubPathExpr
  8666              and SubPath are mutually exclusive.
  8667            type: string
  8668        required:
  8669          - mountPath
  8670          - name
  8671        type: object
  8672  
  8673      HostPathVolumeSource:
  8674        description: 'hostPath represents a pre-existing file or
  8675          directory on the host machine that is directly exposed
  8676          to the container. This is generally used for system agents
  8677          or other privileged things that are allowed to see the
  8678          host machine. Most containers will NOT need this. More
  8679          info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath
  8680          --- TODO(jonesdl) We need to restrict who can use host
  8681          directory mounts and who can/can not mount host directories
  8682          as read/write.'
  8683        properties:
  8684          path:
  8685            description: 'path of the directory on the host. If
  8686              the path is a symlink, it will follow the link to
  8687              the real path. More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath'
  8688            type: string
  8689          type:
  8690            $ref: "#/components/schemas/BoxedString"
  8691        required:
  8692          - path
  8693        type: object
  8694  
  8695      EmptyDirVolumeSource:
  8696        description: 'emptyDir represents a temporary directory
  8697          that shares a pod''s lifetime. More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  8698        properties:
  8699          medium:
  8700            description: 'medium represents what type of storage
  8701              medium should back this directory. The default is
  8702              "" which means to use the node''s default medium.
  8703              Must be an empty string (default) or Memory. More
  8704              info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir'
  8705            type: string
  8706          sizeLimit:
  8707            $ref: "#/components/schemas/BoxedString"
  8708        type: object
  8709  
  8710      GCEPersistentDiskVolumeSource:
  8711        description: 'gcePersistentDisk represents a GCE Disk resource
  8712          that is attached to a kubelet''s host machine and then
  8713          exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  8714        properties:
  8715          fsType:
  8716            description: 'fsType is filesystem type of the volume
  8717              that you want to mount. Tip: Ensure that the filesystem
  8718              type is supported by the host operating system. Examples:
  8719              "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  8720              if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk
  8721              TODO: how do we prevent errors in the filesystem from
  8722              compromising the machine'
  8723            type: string
  8724          partition:
  8725            description: 'partition is the partition in the volume
  8726              that you want to mount. If omitted, the default is
  8727              to mount by volume name. Examples: For volume /dev/sda1,
  8728              you specify the partition as "1". Similarly, the volume
  8729              partition for /dev/sda is "0" (or you can leave the
  8730              property empty). More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  8731            format: int32
  8732            type: integer
  8733          pdName:
  8734            description: 'pdName is unique name of the PD resource
  8735              in GCE. Used to identify the disk in GCE. More info:
  8736              https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  8737            type: string
  8738          readOnly:
  8739            description: 'readOnly here will force the ReadOnly
  8740              setting in VolumeMounts. Defaults to false. More info:
  8741              https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk'
  8742            type: boolean
  8743        required:
  8744          - pdName
  8745        type: object
  8746  
  8747      AWSElasticBlockStoreVolumeSource:
  8748        description: 'awsElasticBlockStore represents an AWS Disk
  8749          resource that is attached to a kubelet''s host machine
  8750          and then exposed to the pod. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  8751        properties:
  8752          fsType:
  8753            description: 'fsType is the filesystem type of the volume
  8754              that you want to mount. Tip: Ensure that the filesystem
  8755              type is supported by the host operating system. Examples:
  8756              "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4"
  8757              if unspecified. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore
  8758              TODO: how do we prevent errors in the filesystem from
  8759              compromising the machine'
  8760            type: string
  8761          partition:
  8762            description: 'partition is the partition in the volume
  8763              that you want to mount. If omitted, the default is
  8764              to mount by volume name. Examples: For volume /dev/sda1,
  8765              you specify the partition as "1". Similarly, the volume
  8766              partition for /dev/sda is "0" (or you can leave the
  8767              property empty).'
  8768            format: int32
  8769            type: integer
  8770          readOnly:
  8771            description: 'readOnly value true will force the readOnly
  8772              setting in VolumeMounts. More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  8773            type: boolean
  8774          volumeID:
  8775            description: 'volumeID is unique ID of the persistent
  8776              disk resource in AWS (Amazon EBS volume). More info:
  8777              https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore'
  8778            type: string
  8779        required:
  8780          - volumeID
  8781        type: object
  8782  
  8783      SecretVolumeSource:
  8784        description: 'secret represents a secret that should populate
  8785          this volume. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  8786        properties:
  8787          defaultMode:
  8788            $ref: "#/components/schemas/BoxedInteger"
  8789          items:
  8790            description: items If unspecified, each key-value pair
  8791              in the Data field of the referenced Secret will be
  8792              projected into the volume as a file whose name is
  8793              the key and content is the value. If specified, the
  8794              listed keys will be projected into the specified paths,
  8795              and unlisted keys will not be present. If a key is
  8796              specified which is not present in the Secret, the
  8797              volume setup will error unless it is marked optional.
  8798              Paths must be relative and may not contain the '..'
  8799              path or start with '..'.
  8800            items:
  8801              description: Maps a string key to a path within a
  8802                volume.
  8803              properties:
  8804                key:
  8805                  description: key is the key to project.
  8806                  type: string
  8807                mode:
  8808                  $ref: "#/components/schemas/BoxedInteger"
  8809                path:
  8810                  description: path is the relative path of the
  8811                    file to map the key to. May not be an absolute
  8812                    path. May not contain the path element '..'.
  8813                    May not start with the string '..'.
  8814                  type: string
  8815              required:
  8816                - key
  8817                - path
  8818              type: object
  8819            type: array
  8820          optional:
  8821            description: optional field specify whether the Secret
  8822              or its keys must be defined
  8823            type: boolean
  8824          secretName:
  8825            description: 'secretName is the name of the secret in
  8826              the pod''s namespace to use. More info: https://kubernetes.io/docs/concepts/storage/volumes#secret'
  8827            type: string
  8828        type: object
  8829  
  8830      NFSVolumeSource:
  8831        description: 'nfs represents an NFS mount on the host that
  8832          shares a pod''s lifetime More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  8833        properties:
  8834          path:
  8835            description: 'path that is exported by the NFS server.
  8836              More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  8837            type: string
  8838          readOnly:
  8839            description: 'readOnly here will force the NFS export
  8840              to be mounted with read-only permissions. Defaults
  8841              to false. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  8842            type: boolean
  8843          server:
  8844            description: 'server is the hostname or IP address of
  8845              the NFS server. More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs'
  8846            type: string
  8847        required:
  8848          - path
  8849          - server
  8850        type: object
  8851  
  8852      PersistentVolumeClaimVolumeSource:
  8853        description: 'persistentVolumeClaimVolumeSource represents
  8854          a reference to a PersistentVolumeClaim in the same namespace.
  8855          More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  8856        properties:
  8857          claimName:
  8858            description: 'claimName is the name of a PersistentVolumeClaim
  8859              in the same namespace as the pod using this volume.
  8860              More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims'
  8861            type: string
  8862          readOnly:
  8863            description: readOnly Will force the ReadOnly setting
  8864              in VolumeMounts. Default false.
  8865            type: boolean
  8866        required:
  8867          - claimName
  8868        type: object
  8869  
  8870      CephFSVolumeSource:
  8871        description: cephFS represents a Ceph FS mount on the host
  8872          that shares a pod's lifetime
  8873        properties:
  8874          monitors:
  8875            description: 'monitors is Required: Monitors is a collection
  8876              of Ceph monitors More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  8877            items:
  8878              type: string
  8879            type: array
  8880          path:
  8881            description: 'path is Optional: Used as the mounted
  8882              root, rather than the full Ceph tree, default is /'
  8883            type: string
  8884          readOnly:
  8885            description: 'readOnly is Optional: Defaults to false
  8886              (read/write). ReadOnly here will force the ReadOnly
  8887              setting in VolumeMounts. More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  8888            type: boolean
  8889          secretFile:
  8890            description: 'secretFile is Optional: SecretFile is
  8891              the path to key ring for User, default is /etc/ceph/user.secret
  8892              More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  8893            type: string
  8894          secretRef:
  8895            $ref: "#/components/schemas/LocalObjectReference"
  8896          user:
  8897            description: 'user is optional: User is the rados user
  8898              name, default is admin More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it'
  8899            type: string
  8900        required:
  8901          - monitors
  8902        type: object
  8903  
  8904      AzureFileVolumeSource:
  8905        description: azureFile represents an Azure File Service
  8906          mount on the host and bind mount to the pod.
  8907        properties:
  8908          readOnly:
  8909            description: readOnly defaults to false (read/write).
  8910              ReadOnly here will force the ReadOnly setting in VolumeMounts.
  8911            type: boolean
  8912          secretName:
  8913            description: secretName is the  name of secret that
  8914              contains Azure Storage Account Name and Key
  8915            type: string
  8916          shareName:
  8917            description: shareName is the azure share Name
  8918            type: string
  8919        required:
  8920          - secretName
  8921          - shareName
  8922        type: object
  8923  
  8924      ConfigMapVolumeSource:
  8925        description: configMap represents a configMap that should
  8926          populate this volume
  8927        properties:
  8928          defaultMode:
  8929            $ref: "#/components/schemas/BoxedInteger"
  8930          items:
  8931            description: items if unspecified, each key-value pair
  8932              in the Data field of the referenced ConfigMap will
  8933              be projected into the volume as a file whose name
  8934              is the key and content is the value. If specified,
  8935              the listed keys will be projected into the specified
  8936              paths, and unlisted keys will not be present. If a
  8937              key is specified which is not present in the ConfigMap,
  8938              the volume setup will error unless it is marked optional.
  8939              Paths must be relative and may not contain the '..'
  8940              path or start with '..'.
  8941            items:
  8942              description: Maps a string key to a path within a
  8943                volume.
  8944              properties:
  8945                key:
  8946                  description: key is the key to project.
  8947                  type: string
  8948                mode:
  8949                  $ref: "#/components/schemas/BoxedInteger"
  8950                path:
  8951                  description: path is the relative path of the
  8952                    file to map the key to. May not be an absolute
  8953                    path. May not contain the path element '..'.
  8954                    May not start with the string '..'.
  8955                  type: string
  8956              required:
  8957                - key
  8958                - path
  8959              type: object
  8960            type: array
  8961          name:
  8962            description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  8963                                  TODO: Add other useful fields. apiVersion, kind, uid?'
  8964            type: string
  8965          optional:
  8966            description: optional specify whether the ConfigMap
  8967              or its keys must be defined
  8968            type: boolean
  8969        type: object
  8970  
  8971      AzureDiskVolumeSource:
  8972        description: azureDisk represents an Azure Data Disk mount
  8973          on the host and bind mount to the pod.
  8974        properties:
  8975          cachingMode:
  8976            $ref: "#/components/schemas/BoxedString"
  8977          diskName:
  8978            description: diskName is the Name of the data disk in
  8979              the blob storage
  8980            type: string
  8981          diskURI:
  8982            description: diskURI is the URI of data disk in the
  8983              blob storage
  8984            type: string
  8985          fsType:
  8986            $ref: "#/components/schemas/BoxedString"
  8987          kind:
  8988            $ref: "#/components/schemas/BoxedString"
  8989          readOnly:
  8990            description: readOnly Defaults to false (read/write).
  8991              ReadOnly here will force the ReadOnly setting in VolumeMounts.
  8992            type: boolean
  8993        required:
  8994          - diskName
  8995          - diskURI
  8996        type: object
  8997  
  8998      Volume:
  8999        type: object
  9000        description: Volume represents a named volume in a pod that
  9001          may be accessed by any container in the pod.
  9002        properties:
  9003          name:
  9004            type: string
  9005          hostPath:
  9006            $ref: "#/components/schemas/HostPathVolumeSource"
  9007          emptyDir:
  9008            $ref: "#/components/schemas/EmptyDirVolumeSource"
  9009          gcePersistentDisk:
  9010            $ref: "#/components/schemas/GCEPersistentDiskVolumeSource"
  9011          awsElasticBlockStore:
  9012            $ref: "#/components/schemas/AWSElasticBlockStoreVolumeSource"
  9013          secret:
  9014            $ref: "#/components/schemas/SecretVolumeSource"
  9015          nfs:
  9016            $ref: "#/components/schemas/NFSVolumeSource"
  9017          persistentVolumeClaim:
  9018            $ref: "#/components/schemas/PersistentVolumeClaimVolumeSource"
  9019          cephfs:
  9020            $ref: "#/components/schemas/CephFSVolumeSource"
  9021          azureFile:
  9022            $ref: "#/components/schemas/AzureFileVolumeSource"
  9023          azureDisk:
  9024            $ref: "#/components/schemas/AzureDiskVolumeSource"
  9025          configMap:
  9026            $ref: "#/components/schemas/ConfigMapVolumeSource"
  9027        required:
  9028          - name
  9029  
  9030      VolumeSource:
  9031        type: object
  9032  
  9033      EnvVarSource:
  9034        type: object
  9035        description: EnvVarSource represents a source for the value
  9036          of an EnvVar.
  9037        properties:
  9038          configMapKeyRef:
  9039            type: object
  9040            required:
  9041              - key
  9042            description: Selects a key of a ConfigMap.
  9043            properties:
  9044              key:
  9045                description: The key to select.
  9046                type: string
  9047              name:
  9048                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9049                  TODO: Add other useful fields. apiVersion, kind,
  9050                  uid?'
  9051                type: string
  9052              optional:
  9053                description: Specify whether the ConfigMap or its
  9054                  key must be defined
  9055                type: boolean
  9056          fieldRef:
  9057            type: object
  9058            required:
  9059              - fieldPath
  9060            description: 'Selects a field of the pod: supports metadata.name,
  9061              metadata.namespace, `metadata.labels[''<KEY>'']`,
  9062              `metadata.annotations[''<KEY>'']`, spec.nodeName,
  9063              spec.serviceAccountName, status.hostIP, status.podIP,
  9064              status.podIPs.'
  9065            properties:
  9066              apiVersion:
  9067                description: Version of the schema the FieldPath
  9068                  is written in terms of, defaults to "v1".
  9069                type: string
  9070              fieldPath:
  9071                description: Path of the field to select in the
  9072                  specified API version.
  9073                type: string
  9074          resourceFieldRef:
  9075            type: object
  9076            required:
  9077              - resource
  9078            description: 'Selects a resource of the container: only
  9079              resources limits and requests (limits.cpu, limits.memory,
  9080              limits.ephemeral-storage, requests.cpu, requests.memory
  9081              and requests.ephemeral-storage) are currently supported.'
  9082            properties:
  9083              containerName:
  9084                description: 'Container name: required for volumes,
  9085                  optional for env vars'
  9086                type: string
  9087              divisor:
  9088                type: string
  9089                pattern: "^[0-9]+(m|[GMK]i)$"
  9090              resource:
  9091                description: 'Required: resource to select'
  9092                type: string
  9093          secretKeyRef:
  9094            type: object
  9095            required:
  9096              - key
  9097            description: Selects a key of a secret in the pod's
  9098              namespace
  9099            properties:
  9100              key:
  9101                description: The key of the secret to select from.  Must
  9102                  be a valid secret key.
  9103                type: string
  9104              name:
  9105                description: 'Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
  9106                  TODO: Add other useful fields. apiVersion, kind,
  9107                  uid?'
  9108                type: string
  9109              optional:
  9110                description: Specify whether the Secret or its key
  9111                  must be defined
  9112                type: boolean
  9113  
  9114      #
  9115      # Errors
  9116      #
  9117  
  9118      Problem:
  9119        description: problem response in case of error
  9120        type: object
  9121        properties:
  9122          type:
  9123            type: string
  9124            description: Type contains a URI that identifies the problem type.
  9125            example: https://kubeshop.io/testkube/problems/invalidtestname
  9126          title:
  9127            type: string
  9128            description: Title is a short, human-readable summary of the problem type. This title SHOULD NOT change from occurrence to occurrence of the problem, except for purposes of localization.
  9129            example: Invalid test name
  9130          status:
  9131            type: integer
  9132            description: HTTP status code for this occurrence of the problem.
  9133            example: 500
  9134          detail:
  9135            type: string
  9136            description: A human-readable explanation specific to this occurrence of the problem.
  9137            example: Your test name can't contain forbidden characters like "}}}" passed
  9138          instance:
  9139            type: string
  9140            description: A URI that identifies the specific occurrence of the problem. This URI may or may not yield further information if de-referenced.
  9141            example: http://10.23.23.123:8088/tests
  9142  
  9143    #
  9144    # Parameters
  9145    #
  9146  
  9147    parameters:
  9148      TestName:
  9149        in: query
  9150        name: test
  9151        schema:
  9152          type: string
  9153          default: ""
  9154        description: test namespaced name to filter
  9155        required: false
  9156      Type:
  9157        in: query
  9158        name: type
  9159        schema:
  9160          type: string
  9161          default: ""
  9162        description: object type
  9163        required: false
  9164      TextSearch:
  9165        in: query
  9166        name: textSearch
  9167        schema:
  9168          type: string
  9169          default: ""
  9170        description: text to search in name and test name
  9171        required: false
  9172      ID:
  9173        in: path
  9174        name: id
  9175        schema:
  9176          type: string
  9177        required: true
  9178        description: unique id of the object
  9179      executionID:
  9180        in: path
  9181        name: executionID
  9182        schema:
  9183          type: string
  9184        required: true
  9185        description: unique id of the object execution
  9186      Filename:
  9187        in: path
  9188        name: filename
  9189        schema:
  9190          type: string
  9191        required: true
  9192        description: filename of the object usually used for artifacts
  9193      LastNDays:
  9194        in: query
  9195        name: last
  9196        schema:
  9197          type: integer
  9198          default: 7
  9199        description: last N days to show
  9200        required: false
  9201      Limit:
  9202        in: query
  9203        name: limit
  9204        schema:
  9205          type: integer
  9206          default: 7
  9207        description: limit records count same as pageSize
  9208        required: false
  9209      PageSize:
  9210        in: query
  9211        name: pageSize
  9212        schema:
  9213          type: integer
  9214          default: 100
  9215        description: the number of executions to get, setting to 0 will return only totals
  9216        required: false
  9217      PageIndex:
  9218        in: query
  9219        name: page
  9220        schema:
  9221          type: integer
  9222          default: 0
  9223        description: the page index to start at
  9224        required: false
  9225      StartDateFilter:
  9226        in: query
  9227        name: startDate
  9228        schema:
  9229          type: string
  9230          format: date
  9231        required: false
  9232        description: startDate for filtering in ISO-8601 format, i.e. "yyyy-mm-dd"
  9233      EndDateFilter:
  9234        in: query
  9235        name: endDate
  9236        schema:
  9237          type: string
  9238          format: date
  9239        required: false
  9240        description: endDate for filtering
  9241      TestExecutionsStatusFilter:
  9242        in: query
  9243        name: status
  9244        schema:
  9245          $ref: "#/components/schemas/TestSuiteExecutionStatus"
  9246        description: optional status filter containing multiple values separated by comma
  9247        required: false
  9248      ExecutionsStatusFilter:
  9249        in: query
  9250        name: status
  9251        schema:
  9252          $ref: "#/components/schemas/ExecutionStatus"
  9253        description: optional status filter containing multiple values separated by comma
  9254        required: false
  9255      Selector:
  9256        in: query
  9257        name: selector
  9258        schema:
  9259          type: string
  9260          description: Labels to filter by
  9261      ExecutionSelector:
  9262        in: query
  9263        name: executionSelector
  9264        schema:
  9265          type: string
  9266          description: Execution Labels to add to executions
  9267      ConcurrencyLevel:
  9268        in: query
  9269        name: concurrency
  9270        schema:
  9271          type: integer
  9272          default: 10
  9273      TestExecutionName:
  9274        in: query
  9275        name: testExecutionName
  9276        schema:
  9277          type: string
  9278          description: test execution name stated the test execution
  9279      TestSuiteExecutionName:
  9280        in: query
  9281        name: testSuiteExecutionName
  9282        schema:
  9283          type: string
  9284          description: test suite execution name stated the test suite execution
  9285      Namespace:
  9286        in: query
  9287        name: namespace
  9288        schema:
  9289          type: string
  9290          default: "testkube"
  9291          description: Namespace of the object
  9292      Name:
  9293        in: query
  9294        name: name
  9295        schema:
  9296          type: string
  9297          description: Name of the object
  9298      Mask:
  9299        in: query
  9300        name: mask
  9301        schema:
  9302          type: string
  9303          description: mask to filter files
  9304        required: false
  9305      SkipDeleteExecutions:
  9306        in: query
  9307        name: skipDeleteExecutions
  9308        schema:
  9309          type: boolean
  9310          default: false
  9311        description: dont delete executions
  9312        required: false
  9313      TestType:
  9314        in: query
  9315        name: testType
  9316        schema:
  9317          type: string
  9318        required: true
  9319        description: test type of the executor
  9320      InlineTemplates:
  9321        in: query
  9322        name: inline
  9323        schema:
  9324          type: boolean
  9325          default: false
  9326        description: should inline templates in the resolved workflow
  9327        required: false
  9328      All:
  9329        in: query
  9330        name: all
  9331        schema:
  9332          type: boolean
  9333          default: false
  9334        description: flag to request all resources
  9335        required: false      
  9336    requestBodies:
  9337      UploadsBody:
  9338        description: "Upload files request body data"
  9339        required: true
  9340        content:
  9341          multipart/form-data:
  9342            schema:
  9343              type: object
  9344              properties:
  9345                parentName:
  9346                  type: string
  9347                  example: "test-1"
  9348                parentType:
  9349                  type: string
  9350                  enum:
  9351                    - test
  9352                    - execution
  9353                filePath:
  9354                  type: string
  9355                  example: folder/file.txt