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