From 0da8acdf343e29bb3dae8cefcd501291c0e0f982 Mon Sep 17 00:00:00 2001 From: Dmitry Ermakovich Date: Thu, 13 Aug 2026 15:00:44 +0300 Subject: [PATCH] feat: TMS-40965 cloud update --- .swagger/cloud-swagger.json | 6914 +++++++++++++---- README.md | 59 +- docs/AIServiceModelApiResultCountReply.md | 11 + docs/AIServicesAPIApi.md | 112 + ...sResultReasonsGroupingSearchPostRequest.md | 13 + .../ApiV2AutotestsResultReasonsPostRequest.md | 15 + docs/ApiV2AutotestsResultReasonsPutRequest.md | 16 + ...AutotestsResultReasonsSearchPostRequest.md | 15 + ...V2ExternalServicesIdAiModelsPostRequest.md | 12 + ...alServicesExternalServiceIdPatchRequest.md | 13 + ...rnalServicesExternalServiceIdPutRequest.md | 12 + ...ExternalServicesIssuesSearchPostRequest.md | 12 + ...IdAutotestsFailureCategoriesPostRequest.md | 14 + ...tIdAutotestsFailureCategoriesPutRequest.md | 15 + ...estPlanIdTestPointsAnalyticsPostRequest.md | 13 + ...anIdTestPointsGroupingSearchPostRequest.md | 14 + ...sTestPlanIdTestPointsTestersPostRequest.md | 14 + ...ojectIdWorkItemsPreviewsBulkPostRequest.md | 15 + ...tsProjectIdWorkItemsPreviewsPostRequest.md | 16 + ...TestCaseModel.md => AutoTestCaseResult.md} | 2 +- docs/CustomAttributeGetModel.md | 18 - docs/CustomAttributeModel.md | 12 +- docs/CustomAttributeSearchResponseModel.md | 12 +- ...ternalIssueApiFieldSuggestionCountReply.md | 11 + docs/ExternalServicesApi.md | 96 + docs/FailureCategoriesApi.md | 1342 ++++ ...ilureCategoryGroupSearchApiModelInquiry.md | 1 + docs/FilterOperator.md | 2 +- ...ExternalIssueSuggestionsApiModelInquiry.md | 1 + docs/Inquiry.md | 1 + docs/Mode.md | 11 + docs/ProjectAttributesApi.md | 6 +- docs/ProjectExternalServicesApi.md | 610 ++ docs/ProjectFailureCategoriesApi.md | 503 ++ docs/ProjectShortApiResultCountReply.md | 11 + docs/ProjectTestPlanAttributesApi.md | 6 +- docs/ProjectTestPlanTestPointsApi.md | 315 + docs/ProjectWorkItemsApi.md | 201 + docs/SectionPutModel.md | 1 - docs/TestStatusApiResultCountReply.md | 11 + docs/UpdateSectionRequest.md | 1 - docs/UserStoragesApi.md | 186 + docs/WorkflowProjectApiResultCountReply.md | 11 + docs/WorkflowShortApiResultCountReply.md | 11 + genConfig.yml | 2 +- run.sh | 2 +- setup.py | 2 +- src/testit_api_client/__init__.py | 2 +- src/testit_api_client/api/__init__.py | 2 +- .../api/ai_services_api_api.py | 182 + .../api/external_services_api.py | 162 + .../api/failure_categories_api.py | 1954 +++++ .../api/project_attributes_api.py | 5 +- .../api/project_external_services_api.py | 918 +++ .../api/project_failure_categories_api.py | 755 ++ .../api/project_test_plan_attributes_api.py | 5 +- .../api/project_test_plan_test_points_api.py | 458 ++ .../api/project_work_items_api.py | 285 + .../api/user_storages_api.py | 315 + src/testit_api_client/api_client.py | 10 +- src/testit_api_client/apis/__init__.py | 8 +- src/testit_api_client/configuration.py | 2 +- ...i_service_model_api_result_count_reply.py} | 71 +- .../ai_service_model_api_result_i_reply.py | 3 + ...lt_reasons_grouping_search_post_request.py | 327 + ...2_autotests_result_reasons_post_request.py | 338 + ...v2_autotests_result_reasons_put_request.py | 342 + ...ests_result_reasons_search_post_request.py | 341 + ...rnal_services_id_ai_models_post_request.py | 321 + ...vices_external_service_id_patch_request.py | 323 + ...ervices_external_service_id_put_request.py | 319 + ...nal_services_issues_search_post_request.py | 322 + ...totests_failure_categories_post_request.py | 334 + ...utotests_failure_categories_put_request.py | 338 + ...n_id_test_points_analytics_post_request.py | 327 + ...est_points_grouping_search_post_request.py | 333 + ...lan_id_test_points_testers_post_request.py | 334 + ...d_work_items_previews_bulk_post_request.py | 335 + ...ect_id_work_items_previews_post_request.py | 351 + ...case_model.py => auto_test_case_result.py} | 6 +- .../model/custom_attribute_model.py | 50 +- .../custom_attribute_search_response_model.py | 50 +- ..._issue_api_field_suggestion_count_reply.py | 263 + ...rnal_issue_api_field_suggestion_i_reply.py | 3 + ...category_group_search_api_model_inquiry.py | 6 + .../model/filter_operator.py | 30 +- ...nal_issue_suggestions_api_model_inquiry.py | 6 + src/testit_api_client/model/inquiry.py | 12 +- src/testit_api_client/model/mode.py | 290 + .../project_short_api_result_count_reply.py | 263 + .../model/project_short_api_result_i_reply.py | 3 + .../model/section_put_model.py | 10 +- .../test_status_api_result_count_reply.py | 263 + .../model/test_status_api_result_i_reply.py | 3 + .../model/update_section_request.py | 4 - .../model/work_item_api_result.py | 2 - ...workflow_project_api_result_count_reply.py | 263 + .../workflow_project_api_result_i_reply.py | 3 + .../workflow_short_api_result_count_reply.py | 263 + .../workflow_short_api_result_i_reply.py | 3 + src/testit_api_client/models/__init__.py | 25 +- 101 files changed, 20728 insertions(+), 1908 deletions(-) create mode 100644 docs/AIServiceModelApiResultCountReply.md create mode 100644 docs/AIServicesAPIApi.md create mode 100644 docs/ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md create mode 100644 docs/ApiV2AutotestsResultReasonsPostRequest.md create mode 100644 docs/ApiV2AutotestsResultReasonsPutRequest.md create mode 100644 docs/ApiV2AutotestsResultReasonsSearchPostRequest.md create mode 100644 docs/ApiV2ExternalServicesIdAiModelsPostRequest.md create mode 100644 docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md create mode 100644 docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md create mode 100644 docs/ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md create mode 100644 docs/ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md rename docs/{AutoTestCaseModel.md => AutoTestCaseResult.md} (93%) delete mode 100644 docs/CustomAttributeGetModel.md create mode 100644 docs/ExternalIssueApiFieldSuggestionCountReply.md create mode 100644 docs/ExternalServicesApi.md create mode 100644 docs/FailureCategoriesApi.md create mode 100644 docs/Mode.md create mode 100644 docs/ProjectExternalServicesApi.md create mode 100644 docs/ProjectFailureCategoriesApi.md create mode 100644 docs/ProjectShortApiResultCountReply.md create mode 100644 docs/TestStatusApiResultCountReply.md create mode 100644 docs/UserStoragesApi.md create mode 100644 docs/WorkflowProjectApiResultCountReply.md create mode 100644 docs/WorkflowShortApiResultCountReply.md create mode 100644 src/testit_api_client/api/ai_services_api_api.py create mode 100644 src/testit_api_client/api/external_services_api.py create mode 100644 src/testit_api_client/api/failure_categories_api.py create mode 100644 src/testit_api_client/api/project_external_services_api.py create mode 100644 src/testit_api_client/api/project_failure_categories_api.py create mode 100644 src/testit_api_client/api/user_storages_api.py rename src/testit_api_client/model/{custom_attribute_get_model.py => ai_service_model_api_result_count_reply.py} (77%) create mode 100644 src/testit_api_client/model/api_v2_autotests_result_reasons_grouping_search_post_request.py create mode 100644 src/testit_api_client/model/api_v2_autotests_result_reasons_post_request.py create mode 100644 src/testit_api_client/model/api_v2_autotests_result_reasons_put_request.py create mode 100644 src/testit_api_client/model/api_v2_autotests_result_reasons_search_post_request.py create mode 100644 src/testit_api_client/model/api_v2_external_services_id_ai_models_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_patch_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_put_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_id_external_services_issues_search_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_put_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_bulk_post_request.py create mode 100644 src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_post_request.py rename src/testit_api_client/model/{auto_test_case_model.py => auto_test_case_result.py} (98%) create mode 100644 src/testit_api_client/model/external_issue_api_field_suggestion_count_reply.py create mode 100644 src/testit_api_client/model/mode.py create mode 100644 src/testit_api_client/model/project_short_api_result_count_reply.py create mode 100644 src/testit_api_client/model/test_status_api_result_count_reply.py create mode 100644 src/testit_api_client/model/workflow_project_api_result_count_reply.py create mode 100644 src/testit_api_client/model/workflow_short_api_result_count_reply.py diff --git a/.swagger/cloud-swagger.json b/.swagger/cloud-swagger.json index d8636027..a0dc8556 100644 --- a/.swagger/cloud-swagger.json +++ b/.swagger/cloud-swagger.json @@ -5,6 +5,110 @@ "version": "v2.0" }, "paths": { + "/api/v2/external-services/{id}/ai/models": { + "post": { + "tags": [ + "AI services API" + ], + "summary": "Ask for models with inquiry filter, cached", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/GetAIServiceModelsApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AIServiceModelApiResultIReply" + } + } + } + }, + "400": { + "description": "Not valid data or models request errors", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, "/api/v2/attachments/{id}": { "get": { "tags": [ @@ -6290,27 +6394,22 @@ } } }, - "/api/v2/notifications/{id}/read": { - "post": { + "/api/v2/external-services/metadata": { + "get": { "tags": [ - "Notifications" - ], - "summary": "Set Notification as read", - "description": "\nUse case\n\nUser sets notification internal (guid format) identifier\n\nUser runs method execution\n\nSystem set notification as read", - "parameters": [ - { - "name": "id", - "in": "path", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } - } + "ExternalServices" ], + "summary": "Retrieves the metadata for all available external services", "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExternalServicesMetadataApiResult" + } + } + } }, "400": { "description": "Bad Request", @@ -6343,7 +6442,7 @@ } }, "404": { - "description": "Can't find notification with notificationId", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -6371,23 +6470,39 @@ } } } - }, - "204": { - "description": "Successful operation" } } } }, - "/api/v2/notifications/read": { + "/api/v2/autotests/resultReasons/grouping-search": { "post": { "tags": [ - "Notifications" + "FailureCategories" ], - "summary": "Set all Notifications as read", - "description": "\nUse case\n\nUser runs method execution\n\nSystem set all notifications as read", + "summary": "Get failure categories with support for filtering, sorting and grouping", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FailureCategoryGroupSearchApiModel" + } + ] + } + } + } + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FailureCategoryGroupItemApiResultReply" + } + } + } }, "400": { "description": "Bad Request", @@ -6448,69 +6563,23 @@ } } } - }, - "204": { - "description": "Successful operation" } } } }, - "/api/v2/notifications/search": { + "/api/v2/autotests/failure-categories/grouping-search": { "post": { "tags": [ - "Notifications" - ], - "summary": "Search Notifications for current User", - "description": "\nUse case\n\nUser set filter and runs method execution\n\nSystem returns notifications (listed in the response example)", - "parameters": [ - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", - "schema": { - "type": "string" - } - } + "FailureCategories" ], + "summary": "Get failure categories with support for filtering, sorting and grouping", "requestBody": { "content": { "application/json": { "schema": { "allOf": [ { - "$ref": "#/components/schemas/NotificationQueryFilterModel" + "$ref": "#/components/schemas/FailureCategoryGroupSearchApiModel" } ] } @@ -6519,40 +6588,11 @@ }, "responses": { "200": { - "description": "Successful operation", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, + "description": "OK", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/NotificationModel" - } + "$ref": "#/components/schemas/FailureCategoryGroupItemApiResultReply" } } } @@ -6620,25 +6660,12 @@ } } }, - "/api/v2/notifications": { - "get": { + "/api/v2/autotests/resultReasons/search": { + "post": { "tags": [ - "Notifications" + "FailureCategories" ], - "summary": "Get all Notifications for current User", - "description": "\nUse case\n\nUser runs method execution\n\nSystem returns notifications (listed in the response example)", "parameters": [ - { - "name": "notificationType", - "in": "query", - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/NotificationTypeModel" - } - ] - } - }, { "name": "Skip", "in": "query", @@ -6680,9 +6707,22 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutotestResultReasonFilterModel" + } + ] + } + } + } + }, "responses": { "200": { - "description": "Successful operation", + "description": "OK", "headers": { "Pagination-Skip": { "description": "Skipped amount of items", @@ -6714,14 +6754,14 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/NotificationModel" + "$ref": "#/components/schemas/AutotestResultReasonShortGetModel" } } } } }, "400": { - "description": "\norderByStatement must have one '.' and no ',' symbols\n\norderByStatement has invalid length\n\norderByStatement must have uuid as attribute key\n\nSearch field not found", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -6780,33 +6820,106 @@ } } } - } + }, + "deprecated": true } }, - "/api/v2/notifications/count": { - "get": { + "/api/v2/autotests/failure-categories/search": { + "post": { "tags": [ - "Notifications" + "FailureCategories" ], - "summary": "Get unread Notifications total in last 7 days", - "description": "\nUse case\n\nUser runs method execution\n\nSystem returns unread notifications total (listed in the response example)", "parameters": [ { - "name": "isRead", + "name": "Skip", "in": "query", + "description": "Amount of items to be skipped (offset)", "schema": { - "type": "boolean" + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutotestResultReasonFilterModel" + } + ] + } + } + } + }, "responses": { "200": { - "description": "Successful operation", + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, "content": { "application/json": { "schema": { - "type": "integer", - "format": "int32" + "type": "array", + "items": { + "$ref": "#/components/schemas/AutotestResultReasonShortGetModel" + } } } } @@ -6871,13 +6984,25 @@ } } } - } + }, + "deprecated": true } }, - "/api/v2/openid-connections": { + "/api/v2/autotests/resultReasons/name/{name}/exists": { "get": { "tags": [ - "OpenIdConnections" + "FailureCategories" + ], + "summary": "Check failure category with the specified name already exists", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } ], "responses": { "200": { @@ -6885,10 +7010,7 @@ "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/OpenIdConnectionClientShortModel" - } + "type": "boolean" } } } @@ -6956,59 +7078,17 @@ } } }, - "/api/v2/parameters": { + "/api/v2/autotests/failure-categories/name/{name}/exists": { "get": { "tags": [ - "Parameters" + "FailureCategories" ], - "summary": "Get all parameters", - "description": "\nUse case\n\n[Optional] User sets isDeleted field value\n\n[Optional] If User sets isDeleted field value as true, System search all deleted parameters\n\n[Optional] If User sets isDeleted field value as false, System search all parameters which are not deleted\n\nIf User did not set isDeleted field value, System search all parameters\n\nSystem returns array of all found parameters(listed in response model)", - "operationId": "GetAllParameters", + "summary": "Check failure category with the specified name already exists", "parameters": [ { - "name": "isDeleted", - "in": "query", - "description": "If result must consist of only actual/deleted parameters", - "schema": { - "type": "boolean" - } - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", + "name": "name", + "in": "path", + "required": true, "schema": { "type": "string" } @@ -7017,39 +7097,10 @@ "responses": { "200": { "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ParameterApiResult" - } + "type": "boolean" } } } @@ -7075,7 +7126,7 @@ } }, "403": { - "description": "Invalid user permissions", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -7114,36 +7165,40 @@ } } } - }, - "deprecated": true - }, - "post": { + } + } + }, + "/api/v2/autotests/resultReasons/{id}": { + "get": { "tags": [ - "Parameters" + "FailureCategories" ], - "summary": "Create parameter", - "description": "\nUse case\n\nUser sets parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem creates parameter\n\nSystem returns parameter model", - "operationId": "CreateParameter", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/CreateParameterApiModel" - } - ] - } + "summary": "Get failure category by ID", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "isDeleted", + "in": "query", + "schema": { + "type": "boolean" } } - }, + ], "responses": { - "201": { - "description": "Created", + "200": { + "description": "OK", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ParameterApiResult" + "$ref": "#/components/schemas/FailureCategoryApiResult" } } } @@ -7208,35 +7263,30 @@ } } } - }, - "deprecated": true + } }, - "put": { + "delete": { "tags": [ - "Parameters" + "FailureCategories" ], - "summary": "Update parameter", - "description": "\nUse case\n\nUser sets parameter updated properties(listed in the request example)\n\nUser runs method execution\n\nSystem updated parameter using updated properties\n\nSystem returns no content response", - "operationId": "UpdateParameter", - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/UpdateParameterApiModel" - } - ] - } + "summary": "Delete failure category", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" } } - }, + ], "responses": { "204": { "description": "No Content" }, "400": { - "description": "\n- ID is not valid\n\n- DTO is not valid", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -7266,7 +7316,2876 @@ } }, "404": { - "description": "Parameter with provided ID was not found", + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/autotests/failure-categories/{id}": { + "get": { + "tags": [ + "FailureCategories" + ], + "summary": "Get failure category by ID", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + }, + { + "name": "isDeleted", + "in": "query", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FailureCategoryApiResult" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "delete": { + "tags": [ + "FailureCategories" + ], + "summary": "Delete failure category", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/autotests/resultReasons": { + "post": { + "tags": [ + "FailureCategories" + ], + "summary": "Create failure category", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateFailureCategoryApiModel" + } + ] + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FailureCategoryApiResult" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "put": { + "tags": [ + "FailureCategories" + ], + "summary": "Update failure category", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/UpdateFailureCategoryApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/autotests/failure-categories": { + "post": { + "tags": [ + "FailureCategories" + ], + "summary": "Create failure category", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateFailureCategoryApiModel" + } + ] + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/FailureCategoryApiResult" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + }, + "put": { + "tags": [ + "FailureCategories" + ], + "summary": "Update failure category", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/UpdateFailureCategoryApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/notifications/{id}/read": { + "post": { + "tags": [ + "Notifications" + ], + "summary": "Set Notification as read", + "description": "\nUse case\n\nUser sets notification internal (guid format) identifier\n\nUser runs method execution\n\nSystem set notification as read", + "parameters": [ + { + "name": "id", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Can't find notification with notificationId", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "204": { + "description": "Successful operation" + } + } + } + }, + "/api/v2/notifications/read": { + "post": { + "tags": [ + "Notifications" + ], + "summary": "Set all Notifications as read", + "description": "\nUse case\n\nUser runs method execution\n\nSystem set all notifications as read", + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "204": { + "description": "Successful operation" + } + } + } + }, + "/api/v2/notifications/search": { + "post": { + "tags": [ + "Notifications" + ], + "summary": "Search Notifications for current User", + "description": "\nUse case\n\nUser set filter and runs method execution\n\nSystem returns notifications (listed in the response example)", + "parameters": [ + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationQueryFilterModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Successful operation", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationModel" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/notifications": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get all Notifications for current User", + "description": "\nUse case\n\nUser runs method execution\n\nSystem returns notifications (listed in the response example)", + "parameters": [ + { + "name": "notificationType", + "in": "query", + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/NotificationTypeModel" + } + ] + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/NotificationModel" + } + } + } + } + }, + "400": { + "description": "\norderByStatement must have one '.' and no ',' symbols\n\norderByStatement has invalid length\n\norderByStatement must have uuid as attribute key\n\nSearch field not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/notifications/count": { + "get": { + "tags": [ + "Notifications" + ], + "summary": "Get unread Notifications total in last 7 days", + "description": "\nUse case\n\nUser runs method execution\n\nSystem returns unread notifications total (listed in the response example)", + "parameters": [ + { + "name": "isRead", + "in": "query", + "schema": { + "type": "boolean" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "integer", + "format": "int32" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/openid-connections": { + "get": { + "tags": [ + "OpenIdConnections" + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/OpenIdConnectionClientShortModel" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/parameters": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Get all parameters", + "description": "\nUse case\n\n[Optional] User sets isDeleted field value\n\n[Optional] If User sets isDeleted field value as true, System search all deleted parameters\n\n[Optional] If User sets isDeleted field value as false, System search all parameters which are not deleted\n\nIf User did not set isDeleted field value, System search all parameters\n\nSystem returns array of all found parameters(listed in response model)", + "operationId": "GetAllParameters", + "parameters": [ + { + "name": "isDeleted", + "in": "query", + "description": "If result must consist of only actual/deleted parameters", + "schema": { + "type": "boolean" + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParameterApiResult" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Invalid user permissions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + }, + "post": { + "tags": [ + "Parameters" + ], + "summary": "Create parameter", + "description": "\nUse case\n\nUser sets parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem creates parameter\n\nSystem returns parameter model", + "operationId": "CreateParameter", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateParameterApiModel" + } + ] + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParameterApiResult" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + }, + "put": { + "tags": [ + "Parameters" + ], + "summary": "Update parameter", + "description": "\nUse case\n\nUser sets parameter updated properties(listed in the request example)\n\nUser runs method execution\n\nSystem updated parameter using updated properties\n\nSystem returns no content response", + "operationId": "UpdateParameter", + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/UpdateParameterApiModel" + } + ] + } + } + } + }, + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "\n- ID is not valid\n\n- DTO is not valid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Parameter with provided ID was not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/search": { + "post": { + "tags": [ + "Parameters" + ], + "summary": "Search for parameters", + "parameters": [ + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ParametersFilterApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParameterApiResult" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/search/groups": { + "post": { + "tags": [ + "Parameters" + ], + "summary": "Search for parameters as group", + "parameters": [ + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ParameterGroupsFilterApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParameterGroupApiResult" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/{id}": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Get parameter by ID", + "description": "\nUse case\n\nUser sets parameter internal (guid format) identifier\n\nUser runs method execution\n\nSystem search parameter using the identifier\n\nSystem returns parameter", + "operationId": "GetParameterById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Parameter internal (UUID) identifier", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ParameterApiResult" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Parameter with provided ID was not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + }, + "delete": { + "tags": [ + "Parameters" + ], + "summary": "Delete parameter", + "description": "\nUse case\n\nUser sets parameter internal (guid format) identifier\n\nSystem search and delete parameter\n\nSystem returns deleted parameter", + "operationId": "DeleteParameter", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Parameter internal (UUID) identifier", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "200": { + "description": "OK" + }, + "400": { + "description": "\n- ID is not valid\n\n- DTO is not valid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Parameter is in use in iterations", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/groups": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Get parameters as group", + "description": "\nUse case\n\nUser runs method execution\n\nSystem search parameters\n\nSystem returns parameters models as groups (listed in the response example)", + "parameters": [ + { + "name": "parameterKeyIds", + "in": "query", + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } + } + }, + { + "name": "name", + "in": "query", + "schema": { + "type": "string" + } + }, + { + "name": "isDeleted", + "in": "query", + "schema": { + "type": "boolean" + } + }, + { + "name": "projectIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "nullable": true + } + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParameterGroupApiResult" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/key/name/{name}/exists": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Check existence parameter key in system", + "description": "\nUse case\n\nUser sets name of parameter key\n\nUser runs method execution\n\nSystem search parameter key\n\nSystem returns the flag for the existence of the parameter key in the system", + "parameters": [ + { + "name": "name", + "in": "path", + "required": true, + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "boolean" + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/bulk": { + "post": { + "tags": [ + "Parameters" + ], + "summary": "Create multiple parameters", + "description": "\nUse case\n\nUser sets list of parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem creates parameters\n\nSystem returns list of parameter model (listed in the response example)", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CreateParameterApiModel" + } + } + } + } + }, + "responses": { + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ParameterApiResult" + } + } + } + } + }, + "400": { + "description": "\n- Parameter model is not valid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + }, + "put": { + "tags": [ + "Parameters" + ], + "summary": "Update multiple parameters", + "description": "\nUse case\n\nUser sets list of parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem updates parameters", + "requestBody": { + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/UpdateParameterApiModel" + } + } + } + } + }, + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "\n- Parameter model is not valid", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Invalid user permissions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/name/{name}": { + "delete": { + "tags": [ + "Parameters" + ], + "summary": "Delete parameter by name", + "description": "Deletes parameter and all it's values", + "operationId": "DeleteByName", + "parameters": [ + { + "name": "name", + "in": "path", + "description": "Name of the parameter", + "required": true, + "schema": { + "maxLength": 255, + "minLength": 0, + "type": "string" + } + } + ], + "responses": { + "204": { + "description": "No Content" + }, + "400": { + "description": "Provided name either is empty or contains only white spaces", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Parameter is in use in iterations", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/keys": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Get all parameter keys", + "description": "\nUse case\n\nUser runs method execution\n\nSystem search all parameter keys\n\nSystem returns parameter keys", + "parameters": [ + { + "name": "projectIds", + "in": "query", + "schema": { + "type": "array", + "items": { + "type": "string", + "format": "uuid", + "nullable": true + } + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "Successful operation", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/parameters/{key}/values": { + "get": { + "tags": [ + "Parameters" + ], + "summary": "Get all parameter key values", + "description": "\nUse case\n\nUser sets parameter key (string format)\n\nUser runs method execution\n\nSystem search parameter values using the key\n\nSystem returns parameter", + "parameters": [ + { + "name": "key", + "in": "path", + "description": "Parameter key (string format)", + "required": true, + "schema": { + "type": "string" + }, + "example": "SomeKey" + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { @@ -7299,106 +10218,220 @@ "deprecated": true } }, - "/api/v2/parameters/search": { - "post": { + "/api/v2/parameters/keyId/{keyId}": { + "delete": { "tags": [ "Parameters" ], - "summary": "Search for parameters", + "summary": "Delete parameters by parameter key identifier", + "description": "Deletes parameter and all it's values by parameter key identifier", + "operationId": "DeleteByParameterKeyId", "parameters": [ { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", + "name": "keyId", + "in": "path", + "description": "Identifier of the parameter key", + "required": true, "schema": { - "type": "integer" + "type": "string", + "format": "uuid" } + } + ], + "responses": { + "204": { + "description": "No Content" }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } } }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Invalid user permissions", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } } }, + "422": { + "description": "Parameter is in use in iterations", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/projects/{projectId}/attributes/templates/{templateId}": { + "post": { + "tags": [ + "Project attribute templates" + ], + "summary": "Add CustomAttributeTemplate to Project", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets attribute template internal identifier\n\nUser runs method execution\n\nSystem add attribute template to project", + "parameters": [ { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", + "name": "projectId", + "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" } }, { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", + "name": "templateId", + "in": "path", + "description": "CustomAttributeTemplate internal (UUID) identifier", + "required": true, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ParametersFilterApiModel" - } - ] - } - } - } - }, "responses": { "200": { - "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", + "description": "OK" + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ValidationProblemDetails" } - }, - "Pagination-Take": { - "description": "Taken items", + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProblemDetails" } - }, - "Pagination-Pages": { - "description": "Expected number of pages", + } + } + }, + "403": { + "description": "Update project settings permission for project required", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProblemDetails" } - }, - "Pagination-Total-Items": { - "description": "Total count of items", + } + } + }, + "404": { + "description": "Can't find a Project with identifier", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProblemDetails" } } - }, + } + }, + "409": { + "description": "Conflict", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ParameterApiResult" - } + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" } } } + } + } + }, + "delete": { + "tags": [ + "Project attribute templates" + ], + "summary": "Delete CustomAttributeTemplate from Project", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets attribute template internal identifier\n\nUser runs method execution\n\nSystem delete attribute template from project", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "templateId", + "in": "path", + "description": "CustomAttributeTemplate internal (UUID) identifier", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "responses": { + "204": { + "description": "No Content" }, "400": { "description": "Bad Request", @@ -7421,7 +10454,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Update project settings permission for project required", "content": { "application/json": { "schema": { @@ -7431,7 +10464,7 @@ } }, "404": { - "description": "Not Found", + "description": "Can't find a Project with identifier", "content": { "application/json": { "schema": { @@ -7460,17 +10493,26 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/parameters/search/groups": { + "/api/v2/projects/{projectId}/attributes/templates/search": { "post": { "tags": [ - "Parameters" + "Project attribute templates" ], - "summary": "Search for parameters as group", + "summary": "Search for custom attributes templates", "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, { "name": "Skip", "in": "query", @@ -7518,9 +10560,10 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/ParameterGroupsFilterApiModel" + "$ref": "#/components/schemas/ProjectCustomAttributesTemplatesFilterModel" } - ] + ], + "description": "Collection of filters to apply to search" } } } @@ -7559,7 +10602,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ParameterGroupApiResult" + "$ref": "#/components/schemas/ProjectCustomAttributeTemplateGetModel" } } } @@ -7586,7 +10629,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Project admin permission for project settings is required", "content": { "application/json": { "schema": { @@ -7625,27 +10668,37 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/parameters/{id}": { + "/api/v2/projects/{projectId}/attributes": { "get": { "tags": [ - "Parameters" + "Project attributes" ], - "summary": "Get parameter by ID", - "description": "\nUse case\n\nUser sets parameter internal (guid format) identifier\n\nUser runs method execution\n\nSystem search parameter using the identifier\n\nSystem returns parameter", - "operationId": "GetParameterById", + "summary": "Get project attributes", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\n[Optional] User sets isDeleted field value\n\nUser runs method execution\n\nSystem search project\n\n[Optional] If User sets isDeleted field value as true, System search all deleted attributes related to project\n\n[Optional] If User sets isDeleted field value as false, System search all attributes related to project which are not deleted\n\n[Optional] If User did not set isDeleted field value, System search all attributes related to project\n\nSystem returns array of found attributes (listed in response model)", + "operationId": "GetAttributesByProjectId", "parameters": [ { - "name": "id", + "name": "projectId", "in": "path", - "description": "Parameter internal (UUID) identifier", + "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", - "format": "uuid" + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "isDeleted", + "in": "query", + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/DeletionState" + } + ] } } ], @@ -7655,7 +10708,10 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ParameterApiResult" + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttributeModel" + } } } } @@ -7681,7 +10737,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Read permission for test library is required", "content": { "application/json": { "schema": { @@ -7691,7 +10747,7 @@ } }, "404": { - "description": "Parameter with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -7720,34 +10776,53 @@ } } } - }, - "deprecated": true + } }, - "delete": { + "post": { "tags": [ - "Parameters" + "Project attributes" ], - "summary": "Delete parameter", - "description": "\nUse case\n\nUser sets parameter internal (guid format) identifier\n\nSystem search and delete parameter\n\nSystem returns deleted parameter", - "operationId": "DeleteParameter", + "summary": "Create project attribute", + "description": "\nUse case\n\nUser sets attribute parameters (listed in request example) and runs method execution\n\nSystem search project\n\nSystem creates attribute and relates it to the project\n\nSystem returns project attribute properties (example listed in response parameters)", + "operationId": "CreateProjectsAttribute", "parameters": [ { - "name": "id", + "name": "projectId", "in": "path", - "description": "Parameter internal (UUID) identifier", + "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", - "format": "uuid" + "description": "Internal (UUID) or global (integer) identifier" } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttributePostModel" + } + ] + } + } + } + }, "responses": { - "200": { - "description": "OK" + "201": { + "description": "Created", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CustomAttributeModel" + } + } + } }, "400": { - "description": "\n- ID is not valid\n\n- DTO is not valid", + "description": "\n- Attribute is `null`\n\n- Priority is invalid\n\n- Attribute with `Options` type must have an options\n\n- ID is not `null`\n\n- Option ID is not `null`", "content": { "application/json": { "schema": { @@ -7767,7 +10842,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Update permission for project settings is required", "content": { "application/json": { "schema": { @@ -7777,7 +10852,7 @@ } }, "404": { - "description": "Not Found", + "description": "Project with provided ID was not found", "content": { "application/json": { "schema": { @@ -7787,7 +10862,7 @@ } }, "409": { - "description": "Conflict", + "description": "\n`CustomAttribute.Name` or `CustomAttribute.Id` are not unique in attributes schemes\n\n`CustomAttributeOptionModel.Id` or `CustomAttributeOptionModel.Value` are not unique in `attributesScheme.Options`", "content": { "application/json": { "schema": { @@ -7797,7 +10872,7 @@ } }, "422": { - "description": "Parameter is in use in iterations", + "description": "Cannot add new attribute from template which is in use", "content": { "application/json": { "schema": { @@ -7806,54 +10881,122 @@ } } } - }, - "deprecated": true - } - }, - "/api/v2/parameters/groups": { - "get": { + } + }, + "put": { "tags": [ - "Parameters" + "Project attributes" ], - "summary": "Get parameters as group", - "description": "\nUse case\n\nUser runs method execution\n\nSystem search parameters\n\nSystem returns parameters models as groups (listed in the response example)", + "summary": "Edit attribute of the project", + "operationId": "UpdateProjectsAttribute", "parameters": [ { - "name": "parameterKeyIds", - "in": "query", + "name": "projectId", + "in": "path", + "description": "Unique or global project ID", + "required": true, "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string", - "format": "uuid" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttributePutModel" + } + ] } } + } + }, + "responses": { + "204": { + "description": "No Content" }, - { - "name": "name", - "in": "query", - "schema": { - "type": "string" + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Update permission for project settings is required", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } } }, - { - "name": "isDeleted", - "in": "query", - "schema": { - "type": "boolean" + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } } - }, + } + } + } + }, + "/api/v2/projects/{projectId}/attributes/search": { + "post": { + "tags": [ + "Project attributes" + ], + "summary": "Search for attributes used in the project", + "operationId": "SearchAttributesInProject", + "parameters": [ { - "name": "projectIds", - "in": "query", + "name": "projectId", + "in": "path", + "description": "Unique or global project ID", + "required": true, "schema": { - "type": "array", - "items": { - "type": "string", - "format": "uuid", - "nullable": true - } + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" } }, { @@ -7897,6 +11040,19 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ProjectAttributesFilterModel" + } + ] + } + } + } + }, "responses": { "200": { "description": "OK", @@ -7931,7 +11087,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ParameterGroupApiResult" + "$ref": "#/components/schemas/CustomAttributeModel" } } } @@ -7958,7 +11114,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Read permission for project is required", "content": { "application/json": { "schema": { @@ -7997,24 +11153,36 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/parameters/key/name/{name}/exists": { + "/api/v2/projects/{projectId}/attributes/{attributeId}": { "get": { "tags": [ - "Parameters" + "Project attributes" ], - "summary": "Check existence parameter key in system", - "description": "\nUse case\n\nUser sets name of parameter key\n\nUser runs method execution\n\nSystem search parameter key\n\nSystem returns the flag for the existence of the parameter key in the system", + "summary": "Get project attribute", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets project attribute identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search project attribute\n\nSystem returns project attribute (listed in response model)", + "operationId": "GetAttributeByProjectId", "parameters": [ { - "name": "name", + "name": "projectId", "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { - "type": "string" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "attributeId", + "in": "path", + "description": "Project attribute internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "format": "uuid" } } ], @@ -8024,7 +11192,7 @@ "content": { "application/json": { "schema": { - "type": "boolean" + "$ref": "#/components/schemas/CustomAttributeModel" } } } @@ -8050,7 +11218,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Read permission for test library is required", "content": { "application/json": { "schema": { @@ -8060,7 +11228,7 @@ } }, "404": { - "description": "Not Found", + "description": "\n- Project with provided ID was not found\n\n- Project attribute with provided ID was not found", "content": { "application/json": { "schema": { @@ -8089,45 +11257,43 @@ } } } - }, - "deprecated": true - } - }, - "/api/v2/parameters/bulk": { - "post": { + } + }, + "delete": { "tags": [ - "Parameters" + "Project attributes" ], - "summary": "Create multiple parameters", - "description": "\nUse case\n\nUser sets list of parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem creates parameters\n\nSystem returns list of parameter model (listed in the response example)", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CreateParameterApiModel" - } - } + "summary": "Delete project attribute", + "description": "\nUse case\n\nUser sets project identifier and runs method execution\n\nUser sets attribute identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search and delete attribute\n\nSystem returns no content response", + "operationId": "DeleteProjectsAttribute", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "attributeId", + "in": "path", + "description": "Project attribute internal (UUID)", + "required": true, + "schema": { + "type": "string", + "format": "uuid" } } - }, + ], "responses": { - "201": { - "description": "Created", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ParameterApiResult" - } - } - } - } + "204": { + "description": "Successful operation" }, "400": { - "description": "\n- Parameter model is not valid", + "description": "\n- Project ID is invalid\n\n- Project attribute ID is invalid\n\n- Attribute is empty", "content": { "application/json": { "schema": { @@ -8147,7 +11313,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Update permission for project settings is required", "content": { "application/json": { "schema": { @@ -8157,7 +11323,7 @@ } }, "404": { - "description": "Not Found", + "description": "Project with provided ID was not found", "content": { "application/json": { "schema": { @@ -8186,33 +11352,45 @@ } } } - }, - "deprecated": true - }, - "put": { + } + } + }, + "/api/v2/projects/{projectId}/configurations": { + "get": { "tags": [ - "Parameters" + "Project configurations" ], - "summary": "Update multiple parameters", - "description": "\nUse case\n\nUser sets list of parameter model (listed in the request example)\n\nUser runs method execution\n\nSystem updates parameters", - "requestBody": { - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/UpdateParameterApiModel" - } - } + "summary": "Get project configurations", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search all configurations related to project\n\nSystem returns array of found configurations (listed in response model)", + "operationId": "GetConfigurationsByProjectId", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" } } - }, + ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationModel" + } + } + } + } }, "400": { - "description": "\n- Parameter model is not valid", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8232,7 +11410,7 @@ } }, "403": { - "description": "Invalid user permissions", + "description": "Read permission for configurations required", "content": { "application/json": { "schema": { @@ -8242,7 +11420,7 @@ } }, "404": { - "description": "Not Found", + "description": "Project with provided ID was not found", "content": { "application/json": { "schema": { @@ -8271,37 +11449,51 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/parameters/name/{name}": { - "delete": { + "/api/v2/projects/{id}/external-services": { + "get": { "tags": [ - "Parameters" + "Project external services" ], - "summary": "Delete parameter by name", - "description": "Deletes parameter and all it's values", - "operationId": "DeleteByName", + "summary": "Retrieves information about external services, including their integration status (enabled or not)", "parameters": [ { - "name": "name", + "name": "id", "in": "path", - "description": "Name of the parameter", + "description": "Project ID", "required": true, "schema": { - "maxLength": 255, - "minLength": 0, - "type": "string" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "category", + "in": "query", + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ApiExternalServiceCategory" + } + ] } } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectExternalServicesApiResult" + } + } + } }, "400": { - "description": "Provided name either is empty or contains only white spaces", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -8351,7 +11543,7 @@ } }, "422": { - "description": "Parameter is in use in iterations", + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8360,110 +11552,153 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/parameters/keys": { + "/api/v2/projects/{id}/external-services/{externalServiceId}": { "get": { "tags": [ - "Parameters" + "Project external services" ], - "summary": "Get all parameter keys", - "description": "\nUse case\n\nUser runs method execution\n\nSystem search all parameter keys\n\nSystem returns parameter keys", + "summary": "Retrieves settings of an external service", "parameters": [ { - "name": "projectIds", - "in": "query", - "schema": { - "type": "array", - "items": { - "type": "string", - "format": "uuid", - "nullable": true - } - } - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", + "name": "id", + "in": "path", + "description": "Project ID", + "required": true, "schema": { - "type": "string" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" } }, { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", + "name": "externalServiceId", + "in": "path", + "description": "External service ID", + "required": true, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } } ], "responses": { "200": { - "description": "Successful operation", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", + "description": "OK", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProjectExternalServiceSettingsApiResult" } - }, - "Pagination-Take": { - "description": "Taken items", + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ValidationProblemDetails" } - }, - "Pagination-Pages": { - "description": "Expected number of pages", + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProblemDetails" } - }, - "Pagination-Total-Items": { - "description": "Total count of items", + } + } + }, + "403": { + "description": "Forbidden", + "content": { + "application/json": { "schema": { - "type": "integer" + "$ref": "#/components/schemas/ProblemDetails" } } - }, + } + }, + "404": { + "description": "Not Found", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string" - } + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" } } } + } + } + }, + "put": { + "tags": [ + "Project external services" + ], + "summary": "Enable an external service", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Project ID", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "externalServiceId", + "in": "path", + "description": "External service ID", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/EnableProjectExternalServiceApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -8525,42 +11760,52 @@ } } } - }, - "deprecated": true - } - }, - "/api/v2/parameters/{key}/values": { - "get": { + } + }, + "patch": { "tags": [ - "Parameters" + "Project external services" ], - "summary": "Get all parameter key values", - "description": "\nUse case\n\nUser sets parameter key (string format)\n\nUser runs method execution\n\nSystem search parameter values using the key\n\nSystem returns parameter", + "summary": "Replaces one active external service with another", + "description": "See RFC 6902: JavaScript Object Notation (JSON) Patch for details", "parameters": [ { - "name": "key", + "name": "id", "in": "path", - "description": "Parameter key (string format)", + "description": "Project ID", "required": true, "schema": { - "type": "string" - }, - "example": "SomeKey" + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "externalServiceId", + "in": "path", + "description": "External service ID", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } } ], - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "type": "string" + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/ReplaceProjectExternalServiceApiModel" } - } + ] } } + } + }, + "responses": { + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -8622,23 +11867,28 @@ } } } - }, - "deprecated": true - } - }, - "/api/v2/parameters/keyId/{keyId}": { + } + }, "delete": { "tags": [ - "Parameters" + "Project external services" ], - "summary": "Delete parameters by parameter key identifier", - "description": "Deletes parameter and all it's values by parameter key identifier", - "operationId": "DeleteByParameterKeyId", + "summary": "Disable an external service", "parameters": [ { - "name": "keyId", + "name": "id", "in": "path", - "description": "Identifier of the parameter key", + "description": "Project ID", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "externalServiceId", + "in": "path", + "description": "External service ID", "required": true, "schema": { "type": "string", @@ -8647,8 +11897,8 @@ } ], "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -8671,7 +11921,7 @@ } }, "403": { - "description": "Invalid user permissions", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8701,7 +11951,7 @@ } }, "422": { - "description": "Parameter is in use in iterations", + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -8710,42 +11960,53 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/projects/{projectId}/attributes/templates/{templateId}": { + "/api/v2/projects/{id}/external-services/issues/search": { "post": { "tags": [ - "Project attribute templates" + "Project external services" ], - "summary": "Add CustomAttributeTemplate to Project", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets attribute template internal identifier\n\nUser runs method execution\n\nSystem add attribute template to project", + "summary": "Searches for external issues using enabled external services in project", "parameters": [ { - "name": "projectId", + "name": "id", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "templateId", - "in": "path", - "description": "CustomAttributeTemplate internal (UUID) identifier", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/SearchExternalIssuesApiModel" + } + ] + } + } + } + }, "responses": { "200": { - "description": "OK" + "description": "OK", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ExternalIssueApiResult" + } + } + } + } }, "400": { "description": "Bad Request", @@ -8768,7 +12029,7 @@ } }, "403": { - "description": "Update project settings permission for project required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8778,7 +12039,7 @@ } }, "404": { - "description": "Can't find a Project with identifier", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -8808,38 +12069,49 @@ } } } - }, - "delete": { + } + }, + "/api/v2/projects/{projectId}/autotests/failure-categories/grouping-search": { + "post": { "tags": [ - "Project attribute templates" + "Project failure categories" ], - "summary": "Delete CustomAttributeTemplate from Project", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets attribute template internal identifier\n\nUser runs method execution\n\nSystem delete attribute template from project", + "summary": "Get failure categories with support for filtering, sorting and grouping", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "templateId", - "in": "path", - "description": "CustomAttributeTemplate internal (UUID) identifier", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/FailureCategoryGroupSearchApiModel" + } + ] + } + } + } + }, "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProjectFailureCategoryGroupItemApiResultReply" + } + } + } }, "400": { "description": "Bad Request", @@ -8862,7 +12134,7 @@ } }, "403": { - "description": "Update project settings permission for project required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -8872,7 +12144,7 @@ } }, "404": { - "description": "Can't find a Project with identifier", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -8904,12 +12176,12 @@ } } }, - "/api/v2/projects/{projectId}/attributes/templates/search": { - "post": { + "/api/v2/projects/{projectId}/autotests/failure-categories/{id}": { + "get": { "tags": [ - "Project attribute templates" + "Project failure categories" ], - "summary": "Search for custom attributes templates", + "summary": "Get failure category by ID", "parameters": [ { "name": "projectId", @@ -8922,96 +12194,22 @@ } }, { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", + "name": "id", + "in": "path", + "required": true, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ProjectCustomAttributesTemplatesFilterModel" - } - ], - "description": "Collection of filters to apply to search" - } - } - } - }, "responses": { "200": { "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ProjectCustomAttributeTemplateGetModel" - } + "$ref": "#/components/schemas/ProjectDetailedFailureCategoryApiResult" } } } @@ -9037,7 +12235,7 @@ } }, "403": { - "description": "Project admin permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9077,21 +12275,17 @@ } } } - } - }, - "/api/v2/projects/{projectId}/attributes": { - "get": { + }, + "delete": { "tags": [ - "Project attributes" + "Project failure categories" ], - "summary": "Get project attributes", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\n[Optional] User sets isDeleted field value\n\nUser runs method execution\n\nSystem search project\n\n[Optional] If User sets isDeleted field value as true, System search all deleted attributes related to project\n\n[Optional] If User sets isDeleted field value as false, System search all attributes related to project which are not deleted\n\n[Optional] If User did not set isDeleted field value, System search all attributes related to project\n\nSystem returns array of found attributes (listed in response model)", - "operationId": "GetAttributesByProjectId", + "summary": "Delete failure category", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -9099,30 +12293,18 @@ } }, { - "name": "isDeleted", - "in": "query", + "name": "id", + "in": "path", + "required": true, "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/DeletionState" - } - ] + "type": "string", + "format": "uuid" } } ], "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomAttributeModel" - } - } - } - } + "204": { + "description": "No Content" }, "400": { "description": "Bad Request", @@ -9145,7 +12327,7 @@ } }, "403": { - "description": "Read permission for test library is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9185,19 +12367,19 @@ } } } - }, + } + }, + "/api/v2/projects/{projectId}/autotests/failure-categories": { "post": { "tags": [ - "Project attributes" + "Project failure categories" ], - "summary": "Create project attribute", - "description": "\nUse case\n\nUser sets attribute parameters (listed in request example) and runs method execution\n\nSystem search project\n\nSystem creates attribute and relates it to the project\n\nSystem returns project attribute properties (example listed in response parameters)", - "operationId": "CreateProjectsAttribute", + "summary": "Create failure category", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -9211,7 +12393,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/CustomAttributePostModel" + "$ref": "#/components/schemas/CreateProjectFailureCategoryApiModel" } ] } @@ -9224,13 +12406,13 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CustomAttributeModel" + "$ref": "#/components/schemas/ProjectDetailedFailureCategoryApiResult" } } } }, "400": { - "description": "\n- Attribute is `null`\n\n- Priority is invalid\n\n- Attribute with `Options` type must have an options\n\n- ID is not `null`\n\n- Option ID is not `null`", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -9250,7 +12432,7 @@ } }, "403": { - "description": "Update permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9260,7 +12442,7 @@ } }, "404": { - "description": "Project with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -9270,7 +12452,7 @@ } }, "409": { - "description": "\n`CustomAttribute.Name` or `CustomAttribute.Id` are not unique in attributes schemes\n\n`CustomAttributeOptionModel.Id` or `CustomAttributeOptionModel.Value` are not unique in `attributesScheme.Options`", + "description": "Conflict", "content": { "application/json": { "schema": { @@ -9280,7 +12462,7 @@ } }, "422": { - "description": "Cannot add new attribute from template which is in use", + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -9293,15 +12475,14 @@ }, "put": { "tags": [ - "Project attributes" + "Project failure categories" ], - "summary": "Edit attribute of the project", - "operationId": "UpdateProjectsAttribute", + "summary": "Update failure category", "parameters": [ { "name": "projectId", "in": "path", - "description": "Unique or global project ID", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -9315,7 +12496,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/CustomAttributePutModel" + "$ref": "#/components/schemas/UpdateFailureCategoryProjectApiModel" } ] } @@ -9323,8 +12504,8 @@ } }, "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -9347,7 +12528,7 @@ } }, "403": { - "description": "Update permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9389,18 +12570,19 @@ } } }, - "/api/v2/projects/{projectId}/attributes/search": { - "post": { + "/api/v2/projects/{projectId}/sections": { + "get": { "tags": [ - "Project attributes" + "Project sections" ], - "summary": "Search for attributes used in the project", - "operationId": "SearchAttributesInProject", + "summary": "Get project sections", + "description": "\nUse case\n\nUser sets project internal or global identifier and runs method execution\n\nSystem search project\n\nSystem search all sections related to the project\n\nSystem returns array of sections (listed in response)", + "operationId": "GetSectionsByProjectId", "parameters": [ { "name": "projectId", "in": "path", - "description": "Unique or global project ID", + "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -9448,19 +12630,6 @@ } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/ProjectAttributesFilterModel" - } - ] - } - } - } - }, "responses": { "200": { "description": "OK", @@ -9495,7 +12664,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/CustomAttributeGetModel" + "$ref": "#/components/schemas/SectionModel" } } } @@ -9522,7 +12691,7 @@ } }, "403": { - "description": "Read permission for project is required", + "description": "Read permission for test library is required", "content": { "application/json": { "schema": { @@ -9564,34 +12733,23 @@ } } }, - "/api/v2/projects/{projectId}/attributes/{attributeId}": { + "/api/v2/projects/{projectId}/settings/autotests": { "get": { "tags": [ - "Project attributes" + "Project settings" ], - "summary": "Get project attribute", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser sets project attribute identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search project attribute\n\nSystem returns project attribute (listed in response model)", - "operationId": "GetAttributeByProjectId", + "summary": "Get autotest project settings.", + "operationId": "GetAutotestProjectSettings", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "attributeId", - "in": "path", - "description": "Project attribute internal (UUID) or global (integer) identifier", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } } ], "responses": { @@ -9600,7 +12758,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CustomAttributeModel" + "$ref": "#/components/schemas/AutoTestProjectSettingsApiResult" } } } @@ -9626,7 +12784,7 @@ } }, "403": { - "description": "Read permission for test library is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9636,7 +12794,7 @@ } }, "404": { - "description": "\n- Project with provided ID was not found\n\n- Project attribute with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -9667,41 +12825,42 @@ } } }, - "delete": { + "post": { "tags": [ - "Project attributes" + "Project settings" ], - "summary": "Delete project attribute", - "description": "\nUse case\n\nUser sets project identifier and runs method execution\n\nUser sets attribute identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search and delete attribute\n\nSystem returns no content response", - "operationId": "DeleteProjectsAttribute", + "summary": "Set autotest project settings.", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "attributeId", - "in": "path", - "description": "Project attribute internal (UUID)", - "required": true, - "schema": { - "type": "string", - "format": "uuid" - } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/AutoTestProjectSettingsApiModel" + } + ] + } + } + } + }, "responses": { "204": { - "description": "Successful operation" + "description": "No Content" }, "400": { - "description": "\n- Project ID is invalid\n\n- Project attribute ID is invalid\n\n- Attribute is empty", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -9721,7 +12880,7 @@ } }, "403": { - "description": "Update permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -9731,7 +12890,7 @@ } }, "404": { - "description": "Project with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -9763,14 +12922,14 @@ } } }, - "/api/v2/projects/{projectId}/configurations": { + "/api/v2/projects/{projectId}/testPlans/attributes": { "get": { "tags": [ - "Project configurations" + "Project test plan attributes" ], - "summary": "Get project configurations", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\nUser runs method execution\n\nSystem search project\n\nSystem search all configurations related to project\n\nSystem returns array of found configurations (listed in response model)", - "operationId": "GetConfigurationsByProjectId", + "summary": "Get project's test plan attributes", + "description": "\nUse case\n\nUser runs method execution\n\nSystem returns project for test plans attributes by project identifier", + "operationId": "GetCustomAttributeTestPlanProjectRelations", "parameters": [ { "name": "projectId", @@ -9791,7 +12950,7 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/ConfigurationModel" + "$ref": "#/components/schemas/CustomAttributeModel" } } } @@ -9818,7 +12977,7 @@ } }, "403": { - "description": "Read permission for configurations required", + "description": "Read permission for project settings is required", "content": { "application/json": { "schema": { @@ -9828,7 +12987,7 @@ } }, "404": { - "description": "Project with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -9858,16 +13017,14 @@ } } } - } - }, - "/api/v2/projects/{projectId}/sections": { - "get": { + }, + "post": { "tags": [ - "Project sections" + "Project test plan attributes" ], - "summary": "Get project sections", - "description": "\nUse case\n\nUser sets project internal or global identifier and runs method execution\n\nSystem search project\n\nSystem search all sections related to the project\n\nSystem returns array of sections (listed in response)", - "operationId": "GetSectionsByProjectId", + "summary": "Add attributes to project's test plans", + "description": "\nUse case\n\nUser sets project internal or global identifier and attributes identifiers\n\nUser runs method execution\n\nSystem updates project and add attributes to project for test plans\n\nSystem returns no content response", + "operationId": "CreateCustomAttributeTestPlanProjectRelations", "parameters": [ { "name": "projectId", @@ -9878,90 +13035,28 @@ "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", - "schema": { - "type": "string" - } } ], - "responses": { - "200": { - "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/SectionModel" - } + "requestBody": { + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid" } } } + } + }, + "responses": { + "204": { + "description": "No Content" }, "400": { - "description": "Bad Request", + "description": "\nAttributes must be global", "content": { "application/json": { "schema": { @@ -9981,7 +13076,7 @@ } }, "403": { - "description": "Read permission for test library is required", + "description": "Update permission for project settings is required", "content": { "application/json": { "schema": { @@ -10021,20 +13116,19 @@ } } } - } - }, - "/api/v2/projects/{projectId}/settings/autotests": { - "get": { + }, + "put": { "tags": [ - "Project settings" + "Project test plan attributes" ], - "summary": "Get autotest project settings.", - "operationId": "GetAutotestProjectSettings", + "summary": "Update attribute of project's test plans", + "description": "\nUse case\n\nUser sets project internal or global identifier and attribute model\n\nUser runs method execution\n\nSystem updates project and project attribute for test plan\n\nSystem returns no content response", + "operationId": "UpdateCustomAttributeTestPlanProjectRelations", "parameters": [ { "name": "projectId", "in": "path", - "description": "Internal (UUID) or global (integer) identifier", + "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -10042,16 +13136,22 @@ } } ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/AutoTestProjectSettingsApiResult" - } + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttributeTestPlanProjectRelationPutModel" + } + ] } } + } + }, + "responses": { + "204": { + "description": "No Content" }, "400": { "description": "Bad Request", @@ -10074,7 +13174,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Update permission for project settings is required", "content": { "application/json": { "schema": { @@ -10114,22 +13214,65 @@ } } } - }, + } + }, + "/api/v2/projects/{projectId}/testPlans/attributes/search": { "post": { "tags": [ - "Project settings" + "Project test plan attributes" ], - "summary": "Set autotest project settings.", + "summary": "Search for attributes used in the project test plans", + "operationId": "SearchTestPlanAttributesInProject", "parameters": [ { "name": "projectId", "in": "path", - "description": "Internal (UUID) or global (integer) identifier", + "description": "Unique or global project ID", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } } ], "requestBody": { @@ -10138,7 +13281,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/AutoTestProjectSettingsApiModel" + "$ref": "#/components/schemas/ProjectAttributesFilterModel" } ] } @@ -10146,8 +13289,44 @@ } }, "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/CustomAttributeModel" + } + } + } + } }, "400": { "description": "Bad Request", @@ -10170,7 +13349,7 @@ } }, "403": { - "description": "Forbidden", + "description": "Read permission for project is required", "content": { "application/json": { "schema": { @@ -10212,14 +13391,14 @@ } } }, - "/api/v2/projects/{projectId}/testPlans/attributes": { - "get": { + "/api/v2/projects/{projectId}/testPlans/attributes/{attributeId}": { + "delete": { "tags": [ "Project test plan attributes" ], - "summary": "Get project's test plan attributes", - "description": "\nUse case\n\nUser runs method execution\n\nSystem returns project for test plans attributes by project identifier", - "operationId": "GetCustomAttributeTestPlanProjectRelations", + "summary": "Delete attribute from project's test plans", + "description": "\nUse case\n\nUser sets project internal or global identifier and attribute identifier\n\nUser runs method execution\n\nSystem updates project and delete attribute from project for test plans\n\nSystem returns no content response", + "operationId": "DeleteCustomAttributeTestPlanProjectRelations", "parameters": [ { "name": "projectId", @@ -10230,123 +13409,23 @@ "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - } - ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomAttributeModel" - } - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValidationProblemDetails" - } - } - } }, - "401": { - "description": "Unauthorized", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "403": { - "description": "Read permission for project settings is required", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "409": { - "description": "Conflict", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - }, - "422": { - "description": "Unprocessable Entity", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ProblemDetails" - } - } - } - } - } - }, - "post": { - "tags": [ - "Project test plan attributes" - ], - "summary": "Add attributes to project's test plans", - "description": "\nUse case\n\nUser sets project internal or global identifier and attributes identifiers\n\nUser runs method execution\n\nSystem updates project and add attributes to project for test plans\n\nSystem returns no content response", - "operationId": "CreateCustomAttributeTestPlanProjectRelations", - "parameters": [ { - "name": "projectId", + "name": "attributeId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", - "description": "Internal (UUID) or global (integer) identifier" + "format": "uuid" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - } - } - } - }, "responses": { "204": { "description": "No Content" }, "400": { - "description": "\nAttributes must be global", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -10406,24 +13485,33 @@ } } } - }, - "put": { + } + }, + "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/rerun": { + "post": { "tags": [ - "Project test plan attributes" + "Project test plan test points" ], - "summary": "Update attribute of project's test plans", - "description": "\nUse case\n\nUser sets project internal or global identifier and attribute model\n\nUser runs method execution\n\nSystem updates project and project attribute for test plan\n\nSystem returns no content response", - "operationId": "UpdateCustomAttributeTestPlanProjectRelations", + "summary": "Rerun autotests.", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } + }, + { + "name": "testPlanId", + "in": "path", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + } } ], "requestBody": { @@ -10432,7 +13520,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/CustomAttributeTestPlanProjectRelationPutModel" + "$ref": "#/components/schemas/TestPlanTestPointsAutoTestsRerunApiModel" } ] } @@ -10440,8 +13528,8 @@ } }, "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -10464,7 +13552,7 @@ } }, "403": { - "description": "Update permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -10506,18 +13594,17 @@ } } }, - "/api/v2/projects/{projectId}/testPlans/attributes/search": { + "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/run": { "post": { "tags": [ - "Project test plan attributes" + "Project test plan test points" ], - "summary": "Search for attributes used in the project test plans", - "operationId": "SearchTestPlanAttributesInProject", + "summary": "Run autotests.", "parameters": [ { "name": "projectId", "in": "path", - "description": "Unique or global project ID", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -10525,43 +13612,12 @@ } }, { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", + "name": "testPlanId", + "in": "path", + "required": true, "schema": { - "type": "string" + "type": "string", + "format": "uuid" } } ], @@ -10571,7 +13627,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/ProjectAttributesFilterModel" + "$ref": "#/components/schemas/TestPlanTestPointsAutoTestsRunApiModel" } ] } @@ -10581,39 +13637,10 @@ "responses": { "200": { "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomAttributeGetModel" - } + "$ref": "#/components/schemas/TestRunNameApiResult" } } } @@ -10639,7 +13666,7 @@ } }, "403": { - "description": "Read permission for project is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -10681,19 +13708,17 @@ } } }, - "/api/v2/projects/{projectId}/testPlans/attributes/{attributeId}": { - "delete": { + "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/grouping-search": { + "post": { "tags": [ - "Project test plan attributes" + "Project test plan test points" ], - "summary": "Delete attribute from project's test plans", - "description": "\nUse case\n\nUser sets project internal or global identifier and attribute identifier\n\nUser runs method execution\n\nSystem updates project and delete attribute from project for test plans\n\nSystem returns no content response", - "operationId": "DeleteCustomAttributeTestPlanProjectRelations", + "summary": "Search test points in test plan.", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", @@ -10701,7 +13726,7 @@ } }, { - "name": "attributeId", + "name": "testPlanId", "in": "path", "required": true, "schema": { @@ -10710,9 +13735,29 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TestPlanTestPointsApiModel" + } + ] + } + } + } + }, "responses": { - "204": { - "description": "No Content" + "200": { + "description": "OK", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/TestPlanTestPointsGroupSearchApiResult" + } + } + } }, "400": { "description": "Bad Request", @@ -10735,7 +13780,7 @@ } }, "403": { - "description": "Update permission for project settings is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -10777,12 +13822,12 @@ } } }, - "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/rerun": { + "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/testers": { "post": { "tags": [ "Project test plan test points" ], - "summary": "Rerun autotests.", + "summary": "Distribute test points between the users.", "parameters": [ { "name": "projectId", @@ -10810,7 +13855,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/TestPlanTestPointsAutoTestsRerunApiModel" + "$ref": "#/components/schemas/TestPlanTestPointsSetTestersApiModel" } ] } @@ -10884,12 +13929,12 @@ } } }, - "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/run": { + "/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/analytics": { "post": { "tags": [ "Project test plan test points" ], - "summary": "Run autotests.", + "summary": "Get test points analytics.", "parameters": [ { "name": "projectId", @@ -10917,7 +13962,7 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/TestPlanTestPointsAutoTestsRunApiModel" + "$ref": "#/components/schemas/TestPlanTestPointsAnalyticsApiModel" } ] } @@ -10930,7 +13975,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TestRunNameApiResult" + "$ref": "#/components/schemas/TestPlanTestPointsAnalyticsApiResult" } } } @@ -11776,53 +14821,389 @@ } } }, - "/api/v2/projects/{projectId}/workItems": { - "get": { + "/api/v2/projects/{projectId}/workItems": { + "get": { + "tags": [ + "Project work items" + ], + "summary": "Get project work items", + "description": "\nUse case\n\nUser sets project internal or global identifier\n\n[Optional] User sets isDeleted field value\n\nUser runs method execution\n\nSystem search project\n\n[Optional] If User sets isDeleted field value as true, System search all deleted workitems related to project\n\n[Optional] If User sets isDeleted field value as false, System search all workitems related to project which are not deleted\n\nIf User did not set isDeleted field value, System search all workitems related to project\n\nSystem returns array of found workitems (listed in response model)", + "operationId": "GetWorkItemsByProjectId", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Project internal (UUID) or global (integer) identifier", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "isDeleted", + "in": "query", + "description": "If result must consist of only actual/deleted work items", + "schema": { + "type": "boolean", + "default": false + } + }, + { + "name": "tagNames", + "in": "query", + "description": "List of tags to filter by", + "schema": { + "type": "array", + "items": { + "type": "string" + } + } + }, + { + "name": "includeIterations", + "in": "query", + "schema": { + "type": "boolean", + "default": true + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkItemShortModel" + } + } + } + } + }, + "400": { + "description": "\n- `orderBy` statement must have one `.` and no `,` characters\n\n- `orderBy` statement has invalid length\n\n- `orderBy` statement must have UUID as attribute key\n\n- Search field was not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Read permission for test library is required", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Project with provided ID was not found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + }, + "deprecated": true + } + }, + "/api/v2/projects/{projectId}/workItems/search": { + "post": { + "tags": [ + "Project work items" + ], + "summary": "Search for work items", + "parameters": [ + { + "name": "projectId", + "in": "path", + "description": "Unique or global ID of the project", + "required": true, + "schema": { + "type": "string", + "description": "Internal (UUID) or global (integer) identifier" + } + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/WorkItemSelectApiModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "OK", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkItemShortApiResult" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Read permission for test library is required", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Not Found", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/projects/{projectId}/workItems/search/grouped": { + "post": { "tags": [ "Project work items" ], - "summary": "Get project work items", - "description": "\nUse case\n\nUser sets project internal or global identifier\n\n[Optional] User sets isDeleted field value\n\nUser runs method execution\n\nSystem search project\n\n[Optional] If User sets isDeleted field value as true, System search all deleted workitems related to project\n\n[Optional] If User sets isDeleted field value as false, System search all workitems related to project which are not deleted\n\nIf User did not set isDeleted field value, System search all workitems related to project\n\nSystem returns array of found workitems (listed in response model)", - "operationId": "GetWorkItemsByProjectId", + "summary": "Search for work items and group results by attribute", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) or global (integer) identifier", + "description": "Unique or global ID of the project", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } }, - { - "name": "isDeleted", - "in": "query", - "description": "If result must consist of only actual/deleted work items", - "schema": { - "type": "boolean", - "default": false - } - }, - { - "name": "tagNames", - "in": "query", - "description": "List of tags to filter by", - "schema": { - "type": "array", - "items": { - "type": "string" - } - } - }, - { - "name": "includeIterations", - "in": "query", - "schema": { - "type": "boolean", - "default": true - } - }, { "name": "Skip", "in": "query", @@ -11864,6 +15245,19 @@ } } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/WorkItemGroupGetModel" + } + ] + } + } + } + }, "responses": { "200": { "description": "OK", @@ -11898,14 +15292,14 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/WorkItemShortModel" + "$ref": "#/components/schemas/WorkItemGroupModel" } } } } }, "400": { - "description": "\n- `orderBy` statement must have one `.` and no `,` characters\n\n- `orderBy` statement has invalid length\n\n- `orderBy` statement must have UUID as attribute key\n\n- Search field was not found", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -11925,7 +15319,7 @@ } }, "403": { - "description": "Read permission for test library is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -11935,7 +15329,7 @@ } }, "404": { - "description": "Project with provided ID was not found", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -11964,16 +15358,15 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/projects/{projectId}/workItems/search": { + "/api/v2/projects/{projectId}/workItems/search/id": { "post": { "tags": [ "Project work items" ], - "summary": "Search for work items", + "summary": "Search for work items and extract IDs only", "parameters": [ { "name": "projectId", @@ -12032,9 +15425,10 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/WorkItemSelectApiModel" + "$ref": "#/components/schemas/WorkItemSelectModel" } - ] + ], + "description": "Model containing options to filter work items" } } } @@ -12073,7 +15467,8 @@ "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/WorkItemShortApiResult" + "type": "string", + "format": "uuid" } } } @@ -12142,112 +15537,41 @@ } } }, - "/api/v2/projects/{projectId}/workItems/search/grouped": { - "post": { + "/api/v2/projects/{projectId}/workItems/tags": { + "get": { "tags": [ "Project work items" ], - "summary": "Search for work items and group results by attribute", + "summary": "Get WorkItems Tags", + "description": "\nUse case\n\nUser sets project internal identifier\n\nUser runs method execution\n\nSystem returns work items tags", "parameters": [ { "name": "projectId", "in": "path", - "description": "Unique or global ID of the project", + "description": "Project internal (UUID) identifier", "required": true, "schema": { "type": "string", - "description": "Internal (UUID) or global (integer) identifier" - } - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" + "format": "uuid" } }, { - "name": "SearchValue", + "name": "isDeleted", "in": "query", - "description": "Value for searching", "schema": { - "type": "string" + "type": "boolean" } } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WorkItemGroupGetModel" - } - ] - } - } - } - }, "responses": { "200": { "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, "content": { "application/json": { "schema": { "type": "array", "items": { - "$ref": "#/components/schemas/WorkItemGroupModel" + "$ref": "#/components/schemas/TagShortApiResult" } } } @@ -12316,62 +15640,21 @@ } } }, - "/api/v2/projects/{projectId}/workItems/search/id": { + "/api/v2/projects/{projectId}/work-items/previews": { "post": { "tags": [ "Project work items" ], - "summary": "Search for work items and extract IDs only", "parameters": [ { "name": "projectId", "in": "path", - "description": "Unique or global ID of the project", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", "description": "Internal (UUID) or global (integer) identifier" } - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", - "schema": { - "type": "string" - } } ], "requestBody": { @@ -12380,10 +15663,9 @@ "schema": { "allOf": [ { - "$ref": "#/components/schemas/WorkItemSelectModel" + "$ref": "#/components/schemas/GenerateWorkItemPreviewsApiModel" } - ], - "description": "Model containing options to filter work items" + ] } } } @@ -12391,40 +15673,10 @@ "responses": { "200": { "description": "OK", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, "content": { "application/json": { "schema": { - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } + "$ref": "#/components/schemas/GenerateWorkItemPreviewsApiResult" } } } @@ -12450,7 +15702,7 @@ } }, "403": { - "description": "Read permission for test library is required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -12489,48 +15741,43 @@ } } } - } + }, + "deprecated": true } }, - "/api/v2/projects/{projectId}/workItems/tags": { - "get": { + "/api/v2/projects/{projectId}/work-items/previews/bulk": { + "post": { "tags": [ "Project work items" ], - "summary": "Get WorkItems Tags", - "description": "\nUse case\n\nUser sets project internal identifier\n\nUser runs method execution\n\nSystem returns work items tags", "parameters": [ { "name": "projectId", "in": "path", - "description": "Project internal (UUID) identifier", + "description": "Internal (UUID) or global (integer) identifier", "required": true, "schema": { "type": "string", - "format": "uuid" - } - }, - { - "name": "isDeleted", - "in": "query", - "schema": { - "type": "boolean" + "description": "Internal (UUID) or global (integer) identifier" } } ], - "responses": { - "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TagShortApiResult" + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/CreateWorkItemPreviewsApiModel" } - } + ] } } + } + }, + "responses": { + "200": { + "description": "OK" }, "400": { "description": "Bad Request", @@ -12592,7 +15839,8 @@ } } } - } + }, + "deprecated": true } }, "/api/v2/projects/{projectId}/workItems/search/{workItemId}/index": { @@ -26398,7 +29646,282 @@ } }, "404": { - "description": "\nCan't find a TestSuite with id!", + "description": "\nCan't find a TestSuite with id!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/testSuites/{id}/testResults": { + "get": { + "tags": [ + "TestSuites" + ], + "summary": "Get TestResults By Id", + "description": "\nUse case\n\nUser sets test suite identifier\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search test results related to the test points\n\nSystem returns test results array", + "operationId": "GetTestResultsById", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Test suite internal (guid format) identifier\"", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + } + ], + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/TestResultV2ShortModel" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Read permission for test plan required", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "\nCan't find a TestSuite with id!", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "409": { + "description": "Conflict", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "422": { + "description": "Unprocessable Entity", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + } + } + } + }, + "/api/v2/testSuites/{id}/workItems/search": { + "post": { + "tags": [ + "TestSuites" + ], + "summary": "Search WorkItems", + "description": "\nUse case\n\nUser sets test suite identifier\n\n[Optional] User sets filter\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search work items related to the test points\n\n[Optional] User sets filter, system applies filter\n\nSystem returns work items array", + "operationId": "SearchWorkItems", + "parameters": [ + { + "name": "id", + "in": "path", + "description": "Test suite internal (guid format) identifier\"", + "required": true, + "schema": { + "type": "string", + "format": "uuid" + }, + "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + }, + { + "name": "Skip", + "in": "query", + "description": "Amount of items to be skipped (offset)", + "schema": { + "type": "integer" + } + }, + { + "name": "Take", + "in": "query", + "description": "Amount of items to be taken (limit)", + "schema": { + "type": "integer" + } + }, + { + "name": "OrderBy", + "in": "query", + "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", + "schema": { + "type": "string" + } + }, + { + "name": "SearchField", + "in": "query", + "description": "Property name for searching", + "schema": { + "type": "string" + } + }, + { + "name": "SearchValue", + "in": "query", + "description": "Value for searching", + "schema": { + "type": "string" + } + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "allOf": [ + { + "$ref": "#/components/schemas/TestSuiteWorkItemsSearchModel" + } + ] + } + } + } + }, + "responses": { + "200": { + "description": "Successful operation", + "headers": { + "Pagination-Skip": { + "description": "Skipped amount of items", + "schema": { + "type": "integer" + } + }, + "Pagination-Take": { + "description": "Taken items", + "schema": { + "type": "integer" + } + }, + "Pagination-Pages": { + "description": "Expected number of pages", + "schema": { + "type": "integer" + } + }, + "Pagination-Total-Items": { + "description": "Total count of items", + "schema": { + "type": "integer" + } + } + }, + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/WorkItemShortModel" + } + } + } + } + }, + "400": { + "description": "Bad Request", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidationProblemDetails" + } + } + } + }, + "401": { + "description": "Unauthorized", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "403": { + "description": "Read permission for test plan required", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ProblemDetails" + } + } + } + }, + "404": { + "description": "Can't find a TestSuite with id!", "content": { "application/json": { "schema": { @@ -26427,43 +29950,45 @@ } } } - } + }, + "deprecated": true } }, - "/api/v2/testSuites/{id}/testResults": { - "get": { + "/api/v2/testSuites/{id}/workItems": { + "post": { "tags": [ "TestSuites" ], - "summary": "Get TestResults By Id", - "description": "\nUse case\n\nUser sets test suite identifier\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search test results related to the test points\n\nSystem returns test results array", - "operationId": "GetTestResultsById", + "summary": "Set work items for test suite", "parameters": [ { "name": "id", "in": "path", - "description": "Test suite internal (guid format) identifier\"", + "description": "Unique ID of the test suite", "required": true, "schema": { "type": "string", "format": "uuid" - }, - "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + } } ], - "responses": { - "200": { - "description": "Successful operation", - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/TestResultV2ShortModel" - } + "requestBody": { + "content": { + "application/json": { + "schema": { + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid" } } } + } + }, + "responses": { + "204": { + "description": "No Content" }, "400": { "description": "Bad Request", @@ -26486,7 +30011,7 @@ } }, "403": { - "description": "Read permission for test plan required", + "description": "Update permission for test plan is required", "content": { "application/json": { "schema": { @@ -26496,7 +30021,7 @@ } }, "404": { - "description": "\nCan't find a TestSuite with id!", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -26528,119 +30053,44 @@ } } }, - "/api/v2/testSuites/{id}/workItems/search": { + "/api/v2/testSuites/{id}/test-points": { "post": { "tags": [ "TestSuites" ], - "summary": "Search WorkItems", - "description": "\nUse case\n\nUser sets test suite identifier\n\n[Optional] User sets filter\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search work items related to the test points\n\n[Optional] User sets filter, system applies filter\n\nSystem returns work items array", - "operationId": "SearchWorkItems", + "summary": "Add test-points to test suite", + "operationId": "AddTestPointsToTestSuite", "parameters": [ { "name": "id", "in": "path", - "description": "Test suite internal (guid format) identifier\"", + "description": "Test suite internal identifier", "required": true, "schema": { "type": "string", "format": "uuid" }, - "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - }, - { - "name": "Skip", - "in": "query", - "description": "Amount of items to be skipped (offset)", - "schema": { - "type": "integer" - } - }, - { - "name": "Take", - "in": "query", - "description": "Amount of items to be taken (limit)", - "schema": { - "type": "integer" - } - }, - { - "name": "OrderBy", - "in": "query", - "description": "SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC)", - "schema": { - "type": "string" - } - }, - { - "name": "SearchField", - "in": "query", - "description": "Property name for searching", - "schema": { - "type": "string" - } - }, - { - "name": "SearchValue", - "in": "query", - "description": "Value for searching", - "schema": { - "type": "string" - } + "example": "1ed608bf-8ac9-4ffd-b91e-ebdbbdce6132" } ], "requestBody": { + "description": "Filter object to retrieve work items for test-suite's project", "content": { "application/json": { "schema": { "allOf": [ { - "$ref": "#/components/schemas/TestSuiteWorkItemsSearchModel" + "$ref": "#/components/schemas/WorkItemSelectModel" } - ] + ], + "description": "Model containing options to filter work items" } } } }, "responses": { - "200": { - "description": "Successful operation", - "headers": { - "Pagination-Skip": { - "description": "Skipped amount of items", - "schema": { - "type": "integer" - } - }, - "Pagination-Take": { - "description": "Taken items", - "schema": { - "type": "integer" - } - }, - "Pagination-Pages": { - "description": "Expected number of pages", - "schema": { - "type": "integer" - } - }, - "Pagination-Total-Items": { - "description": "Total count of items", - "schema": { - "type": "integer" - } - } - }, - "content": { - "application/json": { - "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/WorkItemShortModel" - } - } - } - } + "204": { + "description": "Successful operation" }, "400": { "description": "Bad Request", @@ -26663,7 +30113,7 @@ } }, "403": { - "description": "Read permission for test plan required", + "description": "Update permission for test plan is required", "content": { "application/json": { "schema": { @@ -26673,7 +30123,7 @@ } }, "404": { - "description": "Can't find a TestSuite with id!", + "description": "Test suite with provided ID was not found", "content": { "application/json": { "schema": { @@ -26693,7 +30143,7 @@ } }, "422": { - "description": "Unprocessable Entity", + "description": "Shared steps cannot be added to test suite", "content": { "application/json": { "schema": { @@ -26702,45 +30152,43 @@ } } } - }, - "deprecated": true + } } }, - "/api/v2/testSuites/{id}/workItems": { - "post": { + "/api/v2/testSuites/{id}/configurations": { + "get": { "tags": [ "TestSuites" ], - "summary": "Set work items for test suite", + "summary": "Get Configurations By Id", + "description": "\nUse case\n\nUser sets test suite identifier\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search configurations related to the test points\n\nSystem returns configurations array", + "operationId": "GetConfigurationsByTestSuiteId", "parameters": [ { "name": "id", "in": "path", - "description": "Unique ID of the test suite", + "description": "Test suite internal (guid format) identifier\"", "required": true, "schema": { "type": "string", "format": "uuid" - } + }, + "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string", - "format": "uuid" + "responses": { + "200": { + "description": "Successful operation", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/ConfigurationModel" + } } } } - } - }, - "responses": { - "204": { - "description": "No Content" }, "400": { "description": "Bad Request", @@ -26763,7 +30211,7 @@ } }, "403": { - "description": "Update permission for test plan is required", + "description": "Read permission for test plan required", "content": { "application/json": { "schema": { @@ -26773,7 +30221,7 @@ } }, "404": { - "description": "Not Found", + "description": "\nCan't find a TestSuite with id!", "content": { "application/json": { "schema": { @@ -26803,39 +30251,38 @@ } } } - } - }, - "/api/v2/testSuites/{id}/test-points": { + }, "post": { "tags": [ "TestSuites" ], - "summary": "Add test-points to test suite", - "operationId": "AddTestPointsToTestSuite", + "summary": "Set Configurations By TestSuite Id", + "description": "\nUse case\n\nUser sets test suite identifier\n\nUser sets collection of configuration identifiers\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search configuration\n\nSystem restores(if exist) or creates test points with listed configuration\n\nSystem returns no content response", + "operationId": "SetConfigurationsByTestSuiteId", "parameters": [ { "name": "id", "in": "path", - "description": "Test suite internal identifier", + "description": "Test suite internal (guid format) identifier\"", "required": true, "schema": { "type": "string", "format": "uuid" }, - "example": "1ed608bf-8ac9-4ffd-b91e-ebdbbdce6132" + "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" } ], "requestBody": { - "description": "Filter object to retrieve work items for test-suite's project", + "description": "Collection of configuration identifiers\"", "content": { "application/json": { "schema": { - "allOf": [ - { - "$ref": "#/components/schemas/WorkItemSelectModel" - } - ], - "description": "Model containing options to filter work items" + "uniqueItems": true, + "type": "array", + "items": { + "type": "string", + "format": "uuid" + } } } } @@ -26845,7 +30292,7 @@ "description": "Successful operation" }, "400": { - "description": "Bad Request", + "description": "\nSome of Configurations do not exist in the project, or they are not active", "content": { "application/json": { "schema": { @@ -26865,7 +30312,7 @@ } }, "403": { - "description": "Update permission for test plan is required", + "description": "Update permission for test plan required", "content": { "application/json": { "schema": { @@ -26875,7 +30322,7 @@ } }, "404": { - "description": "Test suite with provided ID was not found", + "description": "\nCan't find a TestSuite with id", "content": { "application/json": { "schema": { @@ -26895,7 +30342,7 @@ } }, "422": { - "description": "Shared steps cannot be added to test suite", + "description": "Unprocessable Entity", "content": { "application/json": { "schema": { @@ -26907,37 +30354,27 @@ } } }, - "/api/v2/testSuites/{id}/configurations": { + "/api/v2/users/exists": { "get": { "tags": [ - "TestSuites" + "Users" ], - "summary": "Get Configurations By Id", - "description": "\nUse case\n\nUser sets test suite identifier\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search configurations related to the test points\n\nSystem returns configurations array", - "operationId": "GetConfigurationsByTestSuiteId", "parameters": [ { - "name": "id", - "in": "path", - "description": "Test suite internal (guid format) identifier\"", - "required": true, + "name": "userName", + "in": "query", "schema": { - "type": "string", - "format": "uuid" - }, - "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" + "type": "string" + } } ], "responses": { "200": { - "description": "Successful operation", + "description": "OK", "content": { "application/json": { "schema": { - "type": "array", - "items": { - "$ref": "#/components/schemas/ConfigurationModel" - } + "$ref": "#/components/schemas/UserCustomNameValidationResponse" } } } @@ -26963,7 +30400,7 @@ } }, "403": { - "description": "Read permission for test plan required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -26973,7 +30410,7 @@ } }, "404": { - "description": "\nCan't find a TestSuite with id!", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -27003,48 +30440,30 @@ } } } - }, - "post": { + } + }, + "/api/v2/user-storages/{resource}": { + "get": { "tags": [ - "TestSuites" + "UserStorages" ], - "summary": "Set Configurations By TestSuite Id", - "description": "\nUse case\n\nUser sets test suite identifier\n\nUser sets collection of configuration identifiers\n\nUser runs method execution\n\nSystem search test suite by identifier\n\nSystem search test points related to the test suite\n\nSystem search configuration\n\nSystem restores(if exist) or creates test points with listed configuration\n\nSystem returns no content response", - "operationId": "SetConfigurationsByTestSuiteId", "parameters": [ { - "name": "id", + "name": "resource", "in": "path", - "description": "Test suite internal (guid format) identifier\"", "required": true, "schema": { - "type": "string", - "format": "uuid" - }, - "example": "3fa85f64-5717-4562-b3fc-2c963f66afa6" - } - ], - "requestBody": { - "description": "Collection of configuration identifiers\"", - "content": { - "application/json": { - "schema": { - "uniqueItems": true, - "type": "array", - "items": { - "type": "string", - "format": "uuid" - } - } + "maxLength": 128, + "type": "string" } } - }, + ], "responses": { - "204": { - "description": "Successful operation" + "200": { + "description": "OK" }, "400": { - "description": "\nSome of Configurations do not exist in the project, or they are not active", + "description": "Bad Request", "content": { "application/json": { "schema": { @@ -27064,7 +30483,7 @@ } }, "403": { - "description": "Update permission for test plan required", + "description": "Forbidden", "content": { "application/json": { "schema": { @@ -27074,7 +30493,7 @@ } }, "404": { - "description": "\nCan't find a TestSuite with id", + "description": "Not Found", "content": { "application/json": { "schema": { @@ -27104,32 +30523,25 @@ } } } - } - }, - "/api/v2/users/exists": { - "get": { + }, + "post": { "tags": [ - "Users" + "UserStorages" ], "parameters": [ { - "name": "userName", - "in": "query", + "name": "resource", + "in": "path", + "required": true, "schema": { + "maxLength": 128, "type": "string" } } ], "responses": { "200": { - "description": "OK", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/UserCustomNameValidationResponse" - } - } - } + "description": "OK" }, "400": { "description": "Bad Request", @@ -32860,6 +36272,19 @@ }, "additionalProperties": false }, + "AIServiceModelApiResultCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "AIServiceModelApiResultGroup": { "required": [ "data", @@ -32919,6 +36344,9 @@ }, { "$ref": "#/components/schemas/AIServiceModelApiResultGroupedReply" + }, + { + "$ref": "#/components/schemas/AIServiceModelApiResultCountReply" } ], "properties": { @@ -33714,7 +37142,7 @@ }, "additionalProperties": false }, - "AutoTestCaseModel": { + "AutoTestCaseResult": { "required": [ "id" ], @@ -37581,30 +41009,31 @@ }, "additionalProperties": false }, - "CustomAttributeGetModel": { + "CustomAttributeModel": { "required": [ "id", "isDeleted", "isEnabled", "isGlobal", + "isReadOnly", "isRequired", + "isSystem", "name", "options", + "targets", "type" ], "type": "object", "properties": { "id": { "type": "string", - "description": "Unique ID of the attribute", + "description": "Unique ID of the attribute.", "format": "uuid" }, - "options": { - "type": "array", - "items": { - "$ref": "#/components/schemas/CustomAttributeOptionModel" - }, - "description": "Collection of the attribute options" + "code": { + "type": "string", + "description": "Optional code identifier for the attribute.", + "nullable": true }, "type": { "allOf": [ @@ -37612,80 +41041,33 @@ "$ref": "#/components/schemas/CustomAttributeTypesEnum" } ], - "description": "Type of the attribute" - }, - "isDeleted": { - "type": "boolean", - "description": "Indicates if the attribute is deleted" - }, - "name": { - "type": "string", - "description": "Name of the attribute" - }, - "isEnabled": { - "type": "boolean", - "description": "Indicates if the attribute is enabled" - }, - "isRequired": { - "type": "boolean", - "description": "Indicates if the attribute is mandatory to specify" + "description": "Type of the attribute." }, - "isGlobal": { - "type": "boolean", - "description": "Indicates if the attribute is available across all projects" - } - }, - "additionalProperties": false - }, - "CustomAttributeModel": { - "required": [ - "id", - "isDeleted", - "isEnabled", - "isGlobal", - "isRequired", - "isSystem", - "name", - "options", - "targets", - "type" - ], - "type": "object", - "properties": { - "id": { - "type": "string", - "description": "Unique ID of the attribute", - "format": "uuid" - }, - "targets": { + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CustomAttributeOptionModel" }, - "description": "Collection of the attribute targets\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)" + "description": "Collection of the attribute options." }, - "options": { + "targets": { "type": "array", "items": { - "$ref": "#/components/schemas/CustomAttributeOptionModel" + "type": "string" }, - "description": "Collection of the attribute options\n\n\nAvailable for attributes of type `options` and `multiple options` only" + "description": "Collection of the attribute targets.\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)." }, - "type": { - "allOf": [ - { - "$ref": "#/components/schemas/CustomAttributeTypesEnum" - } - ], - "description": "Type of the attribute" + "isReadOnly": { + "type": "boolean", + "description": "Indicates if the attribute is read-only." }, "isDeleted": { "type": "boolean", - "description": "Indicates if the attribute is deleted" + "description": "Indicates if the attribute is deleted." }, "isSystem": { "type": "boolean", - "description": "Indicates if the attribute is system" + "description": "Indicates if the attribute is system." }, "name": { "maxLength": 255, @@ -37953,6 +41335,7 @@ "isDeleted", "isEnabled", "isGlobal", + "isReadOnly", "isRequired", "isSystem", "name", @@ -37978,38 +41361,47 @@ }, "id": { "type": "string", - "description": "Unique ID of the attribute", + "description": "Unique ID of the attribute.", "format": "uuid" }, - "targets": { + "code": { + "type": "string", + "description": "Optional code identifier for the attribute.", + "nullable": true + }, + "type": { + "allOf": [ + { + "$ref": "#/components/schemas/CustomAttributeTypesEnum" + } + ], + "description": "Type of the attribute." + }, + "options": { "type": "array", "items": { - "type": "string" + "$ref": "#/components/schemas/CustomAttributeOptionModel" }, - "description": "Collection of the attribute targets\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)" + "description": "Collection of the attribute options." }, - "options": { + "targets": { "type": "array", "items": { - "$ref": "#/components/schemas/CustomAttributeOptionModel" + "type": "string" }, - "description": "Collection of the attribute options\n\n\nAvailable for attributes of type `options` and `multiple options` only" + "description": "Collection of the attribute targets.\n\n\nDefines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans)." }, - "type": { - "allOf": [ - { - "$ref": "#/components/schemas/CustomAttributeTypesEnum" - } - ], - "description": "Type of the attribute" + "isReadOnly": { + "type": "boolean", + "description": "Indicates if the attribute is read-only." }, "isDeleted": { "type": "boolean", - "description": "Indicates if the attribute is deleted" + "description": "Indicates if the attribute is deleted." }, "isSystem": { "type": "boolean", - "description": "Indicates if the attribute is system" + "description": "Indicates if the attribute is system." }, "name": { "maxLength": 255, @@ -38604,6 +41996,19 @@ }, "additionalProperties": false }, + "ExternalIssueApiFieldSuggestionCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "ExternalIssueApiFieldSuggestionGroup": { "required": [ "data", @@ -38663,6 +42068,9 @@ }, { "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionGroupedReply" + }, + { + "$ref": "#/components/schemas/ExternalIssueApiFieldSuggestionCountReply" } ], "properties": { @@ -39436,16 +42844,18 @@ }, "FilterOperator": { "enum": [ - "=", - "!=", - "~", - "!~", - "<", - "<=", - ">", - ">=", - "*", - "!*" + "EqualTo", + "NotEqualTo", + "Contains", + "NotContains", + "LessThan", + "LessThanOrEqualTo", + "GreaterThan", + "GreaterThanOrEqualTo", + "Empty", + "NotEmpty", + "In", + "NotIn" ], "type": "string" }, @@ -39899,6 +43309,7 @@ "Inquiry": { "required": [ "jsonMapProvider", + "mode", "order" ], "type": "object", @@ -39932,6 +43343,13 @@ } ], "nullable": true + }, + "mode": { + "allOf": [ + { + "$ref": "#/components/schemas/Mode" + } + ] } }, "additionalProperties": false @@ -40604,6 +44022,13 @@ }, "additionalProperties": false }, + "Mode": { + "enum": [ + "CountOnly", + "All" + ], + "type": "string" + }, "NamedEntityApiModel": { "required": [ "id", @@ -41717,6 +45142,19 @@ }, "additionalProperties": false }, + "ProjectShortApiResultCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "ProjectShortApiResultGroup": { "required": [ "data", @@ -41776,6 +45214,9 @@ }, { "$ref": "#/components/schemas/ProjectShortApiResultGroupedReply" + }, + { + "$ref": "#/components/schemas/ProjectShortApiResultCountReply" } ], "properties": { @@ -42577,8 +46018,7 @@ "required": [ "attachments", "id", - "name", - "projectId" + "name" ], "type": "object", "properties": { @@ -42593,12 +46033,6 @@ "type": "string", "example": "39d127a1-a511-473f-8b21-f75b747a9420" }, - "projectId": { - "title": "Project unique identifier", - "type": "string", - "format": "uuid", - "example": "39d127a1-a511-473f-8b21-f75b747a9420" - }, "parentId": { "title": "Parent section identifier", "type": "string", @@ -49695,6 +53129,19 @@ }, "additionalProperties": false }, + "TestStatusApiResultCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "TestStatusApiResultGroup": { "required": [ "data", @@ -49754,6 +53201,9 @@ }, { "$ref": "#/components/schemas/TestStatusApiResultGroupedReply" + }, + { + "$ref": "#/components/schemas/TestStatusApiResultCountReply" } ], "properties": { @@ -54070,7 +57520,9 @@ "attributes": { "title": "Key value pair of custom workitem attributes", "type": "object", - "additionalProperties": { } + "additionalProperties": { + "nullable": true + } }, "tags": { "title": "Collection of workitem tags", @@ -55196,6 +58648,19 @@ }, "additionalProperties": false }, + "WorkflowProjectApiResultCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "WorkflowProjectApiResultGroup": { "required": [ "data", @@ -55255,6 +58720,9 @@ }, { "$ref": "#/components/schemas/WorkflowProjectApiResultGroupedReply" + }, + { + "$ref": "#/components/schemas/WorkflowProjectApiResultCountReply" } ], "properties": { @@ -55339,6 +58807,19 @@ }, "additionalProperties": false }, + "WorkflowShortApiResultCountReply": { + "required": [ + "totalCount" + ], + "type": "object", + "properties": { + "totalCount": { + "type": "integer", + "format": "int32" + } + }, + "additionalProperties": false + }, "WorkflowShortApiResultGroup": { "required": [ "data", @@ -55398,6 +58879,9 @@ }, { "$ref": "#/components/schemas/WorkflowShortApiResultGroupedReply" + }, + { + "$ref": "#/components/schemas/WorkflowShortApiResultCountReply" } ], "properties": { diff --git a/README.md b/README.md index 80eb752f..abd4b6b7 100644 --- a/README.md +++ b/README.md @@ -84,6 +84,7 @@ All URIs are relative to *http://localhost* Class | Method | HTTP request | Description ------------ | ------------- | ------------- | ------------- +*AIServicesAPIApi* | [**api_v2_external_services_id_ai_models_post**](docs/AIServicesAPIApi.md#api_v2_external_services_id_ai_models_post) | **POST** /api/v2/external-services/{id}/ai/models | Ask for models with inquiry filter, cached *AttachmentsApi* | [**api_v2_attachments_id_delete**](docs/AttachmentsApi.md#api_v2_attachments_id_delete) | **DELETE** /api/v2/attachments/{id} | Delete attachment file *AttachmentsApi* | [**api_v2_attachments_id_get**](docs/AttachmentsApi.md#api_v2_attachments_id_get) | **GET** /api/v2/attachments/{id} | Download attachment file *AttachmentsApi* | [**api_v2_attachments_id_metadata_get**](docs/AttachmentsApi.md#api_v2_attachments_id_metadata_get) | **GET** /api/v2/attachments/{id}/metadata | Get attachment metadata @@ -143,6 +144,21 @@ Class | Method | HTTP request | Description *CustomAttributesApi* | [**api_v2_custom_attributes_id_get**](docs/CustomAttributesApi.md#api_v2_custom_attributes_id_get) | **GET** /api/v2/customAttributes/{id} | Get attribute *CustomAttributesApi* | [**api_v2_custom_attributes_search_post**](docs/CustomAttributesApi.md#api_v2_custom_attributes_search_post) | **POST** /api/v2/customAttributes/search | Search for attributes *ExternalIssuesApi* | [**api_v2_external_issues_suggestions_post**](docs/ExternalIssuesApi.md#api_v2_external_issues_suggestions_post) | **POST** /api/v2/external-issues/suggestions | Returns list of suggestions from available external issues +*ExternalServicesApi* | [**api_v2_external_services_metadata_get**](docs/ExternalServicesApi.md#api_v2_external_services_metadata_get) | **GET** /api/v2/external-services/metadata | Retrieves the metadata for all available external services +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_grouping_search_post**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_grouping_search_post) | **POST** /api/v2/autotests/failure-categories/grouping-search | Get failure categories with support for filtering, sorting and grouping +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_id_delete**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_id_delete) | **DELETE** /api/v2/autotests/failure-categories/{id} | Delete failure category +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_id_get**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_id_get) | **GET** /api/v2/autotests/failure-categories/{id} | Get failure category by ID +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_name_name_exists_get**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_name_name_exists_get) | **GET** /api/v2/autotests/failure-categories/name/{name}/exists | Check failure category with the specified name already exists +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_post**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_post) | **POST** /api/v2/autotests/failure-categories | Create failure category +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_put**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_put) | **PUT** /api/v2/autotests/failure-categories | Update failure category +*FailureCategoriesApi* | [**api_v2_autotests_failure_categories_search_post**](docs/FailureCategoriesApi.md#api_v2_autotests_failure_categories_search_post) | **POST** /api/v2/autotests/failure-categories/search | +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_grouping_search_post**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_grouping_search_post) | **POST** /api/v2/autotests/resultReasons/grouping-search | Get failure categories with support for filtering, sorting and grouping +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_id_delete**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_id_delete) | **DELETE** /api/v2/autotests/resultReasons/{id} | Delete failure category +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_id_get**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_id_get) | **GET** /api/v2/autotests/resultReasons/{id} | Get failure category by ID +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_name_name_exists_get**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_name_name_exists_get) | **GET** /api/v2/autotests/resultReasons/name/{name}/exists | Check failure category with the specified name already exists +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_post**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_post) | **POST** /api/v2/autotests/resultReasons | Create failure category +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_put**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_put) | **PUT** /api/v2/autotests/resultReasons | Update failure category +*FailureCategoriesApi* | [**api_v2_autotests_result_reasons_search_post**](docs/FailureCategoriesApi.md#api_v2_autotests_result_reasons_search_post) | **POST** /api/v2/autotests/resultReasons/search | *NotificationsApi* | [**api_v2_notifications_count_get**](docs/NotificationsApi.md#api_v2_notifications_count_get) | **GET** /api/v2/notifications/count | Get unread Notifications total in last 7 days *NotificationsApi* | [**api_v2_notifications_get**](docs/NotificationsApi.md#api_v2_notifications_get) | **GET** /api/v2/notifications | Get all Notifications for current User *NotificationsApi* | [**api_v2_notifications_id_read_post**](docs/NotificationsApi.md#api_v2_notifications_id_read_post) | **POST** /api/v2/notifications/{id}/read | Set Notification as read @@ -174,6 +190,17 @@ Class | Method | HTTP request | Description *ProjectAttributesApi* | [**search_attributes_in_project**](docs/ProjectAttributesApi.md#search_attributes_in_project) | **POST** /api/v2/projects/{projectId}/attributes/search | Search for attributes used in the project *ProjectAttributesApi* | [**update_projects_attribute**](docs/ProjectAttributesApi.md#update_projects_attribute) | **PUT** /api/v2/projects/{projectId}/attributes | Edit attribute of the project *ProjectConfigurationsApi* | [**get_configurations_by_project_id**](docs/ProjectConfigurationsApi.md#get_configurations_by_project_id) | **GET** /api/v2/projects/{projectId}/configurations | Get project configurations +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_external_service_id_delete**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_delete) | **DELETE** /api/v2/projects/{id}/external-services/{externalServiceId} | Disable an external service +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_external_service_id_get**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_get) | **GET** /api/v2/projects/{id}/external-services/{externalServiceId} | Retrieves settings of an external service +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_external_service_id_patch**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_patch) | **PATCH** /api/v2/projects/{id}/external-services/{externalServiceId} | Replaces one active external service with another +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_external_service_id_put**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_put) | **PUT** /api/v2/projects/{id}/external-services/{externalServiceId} | Enable an external service +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_get**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_get) | **GET** /api/v2/projects/{id}/external-services | Retrieves information about external services, including their integration status (enabled or not) +*ProjectExternalServicesApi* | [**api_v2_projects_id_external_services_issues_search_post**](docs/ProjectExternalServicesApi.md#api_v2_projects_id_external_services_issues_search_post) | **POST** /api/v2/projects/{id}/external-services/issues/search | Searches for external issues using enabled external services in project +*ProjectFailureCategoriesApi* | [**api_v2_projects_project_id_autotests_failure_categories_grouping_search_post**](docs/ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_grouping_search_post) | **POST** /api/v2/projects/{projectId}/autotests/failure-categories/grouping-search | Get failure categories with support for filtering, sorting and grouping +*ProjectFailureCategoriesApi* | [**api_v2_projects_project_id_autotests_failure_categories_id_delete**](docs/ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_id_delete) | **DELETE** /api/v2/projects/{projectId}/autotests/failure-categories/{id} | Delete failure category +*ProjectFailureCategoriesApi* | [**api_v2_projects_project_id_autotests_failure_categories_id_get**](docs/ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_id_get) | **GET** /api/v2/projects/{projectId}/autotests/failure-categories/{id} | Get failure category by ID +*ProjectFailureCategoriesApi* | [**api_v2_projects_project_id_autotests_failure_categories_post**](docs/ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_post) | **POST** /api/v2/projects/{projectId}/autotests/failure-categories | Create failure category +*ProjectFailureCategoriesApi* | [**api_v2_projects_project_id_autotests_failure_categories_put**](docs/ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_put) | **PUT** /api/v2/projects/{projectId}/autotests/failure-categories | Update failure category *ProjectSectionsApi* | [**get_sections_by_project_id**](docs/ProjectSectionsApi.md#get_sections_by_project_id) | **GET** /api/v2/projects/{projectId}/sections | Get project sections *ProjectSettingsApi* | [**api_v2_projects_project_id_settings_autotests_post**](docs/ProjectSettingsApi.md#api_v2_projects_project_id_settings_autotests_post) | **POST** /api/v2/projects/{projectId}/settings/autotests | Set autotest project settings. *ProjectSettingsApi* | [**get_autotest_project_settings**](docs/ProjectSettingsApi.md#get_autotest_project_settings) | **GET** /api/v2/projects/{projectId}/settings/autotests | Get autotest project settings. @@ -182,14 +209,19 @@ Class | Method | HTTP request | Description *ProjectTestPlanAttributesApi* | [**get_custom_attribute_test_plan_project_relations**](docs/ProjectTestPlanAttributesApi.md#get_custom_attribute_test_plan_project_relations) | **GET** /api/v2/projects/{projectId}/testPlans/attributes | Get project's test plan attributes *ProjectTestPlanAttributesApi* | [**search_test_plan_attributes_in_project**](docs/ProjectTestPlanAttributesApi.md#search_test_plan_attributes_in_project) | **POST** /api/v2/projects/{projectId}/testPlans/attributes/search | Search for attributes used in the project test plans *ProjectTestPlanAttributesApi* | [**update_custom_attribute_test_plan_project_relations**](docs/ProjectTestPlanAttributesApi.md#update_custom_attribute_test_plan_project_relations) | **PUT** /api/v2/projects/{projectId}/testPlans/attributes | Update attribute of project's test plans +*ProjectTestPlanTestPointsApi* | [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post**](docs/ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/analytics | Get test points analytics. *ProjectTestPlanTestPointsApi* | [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post**](docs/ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/rerun | Rerun autotests. *ProjectTestPlanTestPointsApi* | [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post**](docs/ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/run | Run autotests. +*ProjectTestPlanTestPointsApi* | [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post**](docs/ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/grouping-search | Search test points in test plan. +*ProjectTestPlanTestPointsApi* | [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post**](docs/ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/testers | Distribute test points between the users. *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_analytics_get**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_analytics_get) | **GET** /api/v2/projects/{projectId}/testPlans/analytics | Get TestPlans analytics *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_delete_bulk_post**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_delete_bulk_post) | **POST** /api/v2/projects/{projectId}/testPlans/delete/bulk | Delete multiple test plans *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_name_exists_get**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_name_exists_get) | **GET** /api/v2/projects/{projectId}/testPlans/{name}/exists | Checks if TestPlan exists with the specified name exists for the project *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_purge_bulk_post**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_purge_bulk_post) | **POST** /api/v2/projects/{projectId}/testPlans/purge/bulk | Permanently delete multiple archived test plans *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_restore_bulk_post**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_restore_bulk_post) | **POST** /api/v2/projects/{projectId}/testPlans/restore/bulk | Restore multiple test plans *ProjectTestPlansApi* | [**api_v2_projects_project_id_test_plans_search_post**](docs/ProjectTestPlansApi.md#api_v2_projects_project_id_test_plans_search_post) | **POST** /api/v2/projects/{projectId}/testPlans/search | Get Project TestPlans with analytics +*ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_previews_bulk_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_previews_bulk_post) | **POST** /api/v2/projects/{projectId}/work-items/previews/bulk | +*ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_previews_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_previews_post) | **POST** /api/v2/projects/{projectId}/work-items/previews | *ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_search_grouped_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_grouped_post) | **POST** /api/v2/projects/{projectId}/workItems/search/grouped | Search for work items and group results by attribute *ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_search_id_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_id_post) | **POST** /api/v2/projects/{projectId}/workItems/search/id | Search for work items and extract IDs only *ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_search_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_post) | **POST** /api/v2/projects/{projectId}/workItems/search | Search for work items @@ -331,6 +363,8 @@ Class | Method | HTTP request | Description *TestSuitesApi* | [**get_test_suite_by_id**](docs/TestSuitesApi.md#get_test_suite_by_id) | **GET** /api/v2/testSuites/{id} | Get TestSuite by Id *TestSuitesApi* | [**search_work_items**](docs/TestSuitesApi.md#search_work_items) | **POST** /api/v2/testSuites/{id}/workItems/search | Search WorkItems *TestSuitesApi* | [**set_configurations_by_test_suite_id**](docs/TestSuitesApi.md#set_configurations_by_test_suite_id) | **POST** /api/v2/testSuites/{id}/configurations | Set Configurations By TestSuite Id +*UserStoragesApi* | [**api_v2_user_storages_resource_get**](docs/UserStoragesApi.md#api_v2_user_storages_resource_get) | **GET** /api/v2/user-storages/{resource} | +*UserStoragesApi* | [**api_v2_user_storages_resource_post**](docs/UserStoragesApi.md#api_v2_user_storages_resource_post) | **POST** /api/v2/user-storages/{resource} | *UsersApi* | [**api_v2_users_exists_get**](docs/UsersApi.md#api_v2_users_exists_get) | **GET** /api/v2/users/exists | *WebhooksApi* | [**api_v2_webhooks_delete**](docs/WebhooksApi.md#api_v2_webhooks_delete) | **DELETE** /api/v2/webhooks | *WebhooksApi* | [**api_v2_webhooks_get**](docs/WebhooksApi.md#api_v2_webhooks_get) | **GET** /api/v2/webhooks | Get all webhooks @@ -390,6 +424,7 @@ Class | Method | HTTP request | Description ## Documentation For Models - [AIServiceModelApiResult](docs/AIServiceModelApiResult.md) + - [AIServiceModelApiResultCountReply](docs/AIServiceModelApiResultCountReply.md) - [AIServiceModelApiResultGroup](docs/AIServiceModelApiResultGroup.md) - [AIServiceModelApiResultGroupKey](docs/AIServiceModelApiResultGroupKey.md) - [AIServiceModelApiResultGroupedReply](docs/AIServiceModelApiResultGroupedReply.md) @@ -401,6 +436,10 @@ Class | Method | HTTP request | Description - [ApiV2AutoTestsFlakyBulkPostRequest](docs/ApiV2AutoTestsFlakyBulkPostRequest.md) - [ApiV2AutoTestsIdTestResultsSearchPostRequest](docs/ApiV2AutoTestsIdTestResultsSearchPostRequest.md) - [ApiV2AutoTestsSearchPostRequest](docs/ApiV2AutoTestsSearchPostRequest.md) + - [ApiV2AutotestsResultReasonsGroupingSearchPostRequest](docs/ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md) + - [ApiV2AutotestsResultReasonsPostRequest](docs/ApiV2AutotestsResultReasonsPostRequest.md) + - [ApiV2AutotestsResultReasonsPutRequest](docs/ApiV2AutotestsResultReasonsPutRequest.md) + - [ApiV2AutotestsResultReasonsSearchPostRequest](docs/ApiV2AutotestsResultReasonsSearchPostRequest.md) - [ApiV2BackgroundJobsSearchPostRequest](docs/ApiV2BackgroundJobsSearchPostRequest.md) - [ApiV2ConfigurationsCreateByParametersPostRequest](docs/ApiV2ConfigurationsCreateByParametersPostRequest.md) - [ApiV2ConfigurationsDeleteBulkPostRequest](docs/ApiV2ConfigurationsDeleteBulkPostRequest.md) @@ -414,15 +453,26 @@ Class | Method | HTTP request | Description - [ApiV2CustomAttributesTemplatesPutRequest](docs/ApiV2CustomAttributesTemplatesPutRequest.md) - [ApiV2CustomAttributesTemplatesSearchPostRequest](docs/ApiV2CustomAttributesTemplatesSearchPostRequest.md) - [ApiV2ExternalIssuesSuggestionsPostRequest](docs/ApiV2ExternalIssuesSuggestionsPostRequest.md) + - [ApiV2ExternalServicesIdAiModelsPostRequest](docs/ApiV2ExternalServicesIdAiModelsPostRequest.md) - [ApiV2NotificationsSearchPostRequest](docs/ApiV2NotificationsSearchPostRequest.md) - [ApiV2ParametersSearchGroupsPostRequest](docs/ApiV2ParametersSearchGroupsPostRequest.md) - [ApiV2ParametersSearchPostRequest](docs/ApiV2ParametersSearchPostRequest.md) + - [ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest](docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md) + - [ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest](docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md) + - [ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest](docs/ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md) - [ApiV2ProjectsProjectIdAttributesTemplatesSearchPostRequest](docs/ApiV2ProjectsProjectIdAttributesTemplatesSearchPostRequest.md) + - [ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest](docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md) + - [ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest](docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md) - [ApiV2ProjectsProjectIdSettingsAutotestsPostRequest](docs/ApiV2ProjectsProjectIdSettingsAutotestsPostRequest.md) - [ApiV2ProjectsProjectIdTestPlansDeleteBulkPostRequest](docs/ApiV2ProjectsProjectIdTestPlansDeleteBulkPostRequest.md) - [ApiV2ProjectsProjectIdTestPlansSearchPostRequest](docs/ApiV2ProjectsProjectIdTestPlansSearchPostRequest.md) + - [ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest](docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md) - [ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest](docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest.md) - [ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest](docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest.md) + - [ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest](docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md) + - [ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest](docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md) + - [ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest](docs/ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md) + - [ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest](docs/ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md) - [ApiV2ProjectsProjectIdWorkItemsSearchGroupedPostRequest](docs/ApiV2ProjectsProjectIdWorkItemsSearchGroupedPostRequest.md) - [ApiV2ProjectsProjectIdWorkItemsSearchIdPostRequest](docs/ApiV2ProjectsProjectIdWorkItemsSearchIdPostRequest.md) - [ApiV2ProjectsProjectIdWorkItemsSearchPostRequest](docs/ApiV2ProjectsProjectIdWorkItemsSearchPostRequest.md) @@ -486,7 +536,7 @@ Class | Method | HTTP request | Description - [AutoTestBulkDeleteApiModelAutoTestSelect](docs/AutoTestBulkDeleteApiModelAutoTestSelect.md) - [AutoTestBulkDeleteApiResult](docs/AutoTestBulkDeleteApiResult.md) - [AutoTestCaseApiModel](docs/AutoTestCaseApiModel.md) - - [AutoTestCaseModel](docs/AutoTestCaseModel.md) + - [AutoTestCaseResult](docs/AutoTestCaseResult.md) - [AutoTestChangeViewModel](docs/AutoTestChangeViewModel.md) - [AutoTestChangeViewModelArrayChangedFieldViewModel](docs/AutoTestChangeViewModelArrayChangedFieldViewModel.md) - [AutoTestClassCountApiModel](docs/AutoTestClassCountApiModel.md) @@ -606,7 +656,6 @@ Class | Method | HTTP request | Description - [CreateWorkflowApiModel](docs/CreateWorkflowApiModel.md) - [CustomAttributeApiResult](docs/CustomAttributeApiResult.md) - [CustomAttributeChangeModel](docs/CustomAttributeChangeModel.md) - - [CustomAttributeGetModel](docs/CustomAttributeGetModel.md) - [CustomAttributeModel](docs/CustomAttributeModel.md) - [CustomAttributeOptionApiResult](docs/CustomAttributeOptionApiResult.md) - [CustomAttributeOptionModel](docs/CustomAttributeOptionModel.md) @@ -637,6 +686,7 @@ Class | Method | HTTP request | Description - [ExternalFormModel](docs/ExternalFormModel.md) - [ExternalIssueApiField](docs/ExternalIssueApiField.md) - [ExternalIssueApiFieldSuggestion](docs/ExternalIssueApiFieldSuggestion.md) + - [ExternalIssueApiFieldSuggestionCountReply](docs/ExternalIssueApiFieldSuggestionCountReply.md) - [ExternalIssueApiFieldSuggestionExternalService](docs/ExternalIssueApiFieldSuggestionExternalService.md) - [ExternalIssueApiFieldSuggestionGroup](docs/ExternalIssueApiFieldSuggestionGroup.md) - [ExternalIssueApiFieldSuggestionGroupedReply](docs/ExternalIssueApiFieldSuggestionGroupedReply.md) @@ -723,6 +773,7 @@ Class | Method | HTTP request | Description - [ManualRerunSelectTestResultsApiModelFilter](docs/ManualRerunSelectTestResultsApiModelFilter.md) - [ManualRerunTestResultApiModel](docs/ManualRerunTestResultApiModel.md) - [ManualRerunTestResultApiModelTestResultIds](docs/ManualRerunTestResultApiModelTestResultIds.md) + - [Mode](docs/Mode.md) - [MoveRequest](docs/MoveRequest.md) - [NamedEntityApiModel](docs/NamedEntityApiModel.md) - [NotificationModel](docs/NotificationModel.md) @@ -761,6 +812,7 @@ Class | Method | HTTP request | Description - [ProjectNameApiResult](docs/ProjectNameApiResult.md) - [ProjectSelectModel](docs/ProjectSelectModel.md) - [ProjectShortApiResult](docs/ProjectShortApiResult.md) + - [ProjectShortApiResultCountReply](docs/ProjectShortApiResultCountReply.md) - [ProjectShortApiResultGroup](docs/ProjectShortApiResultGroup.md) - [ProjectShortApiResultGroupedReply](docs/ProjectShortApiResultGroupedReply.md) - [ProjectShortApiResultIReply](docs/ProjectShortApiResultIReply.md) @@ -975,6 +1027,7 @@ Class | Method | HTTP request | Description - [TestRunTestResultsSelectModelTestResultIdsExtractionModel](docs/TestRunTestResultsSelectModelTestResultIdsExtractionModel.md) - [TestRunV2ApiResult](docs/TestRunV2ApiResult.md) - [TestStatusApiResult](docs/TestStatusApiResult.md) + - [TestStatusApiResultCountReply](docs/TestStatusApiResultCountReply.md) - [TestStatusApiResultGroup](docs/TestStatusApiResultGroup.md) - [TestStatusApiResultGroupedReply](docs/TestStatusApiResultGroupedReply.md) - [TestStatusApiResultIReply](docs/TestStatusApiResultIReply.md) @@ -1137,11 +1190,13 @@ Class | Method | HTTP request | Description - [WorkflowExistsByNameApiResult](docs/WorkflowExistsByNameApiResult.md) - [WorkflowProjectApiResult](docs/WorkflowProjectApiResult.md) - [WorkflowProjectApiResultApiCollectionPreview](docs/WorkflowProjectApiResultApiCollectionPreview.md) + - [WorkflowProjectApiResultCountReply](docs/WorkflowProjectApiResultCountReply.md) - [WorkflowProjectApiResultGroup](docs/WorkflowProjectApiResultGroup.md) - [WorkflowProjectApiResultGroupedReply](docs/WorkflowProjectApiResultGroupedReply.md) - [WorkflowProjectApiResultIReply](docs/WorkflowProjectApiResultIReply.md) - [WorkflowProjectApiResultReply](docs/WorkflowProjectApiResultReply.md) - [WorkflowShortApiResult](docs/WorkflowShortApiResult.md) + - [WorkflowShortApiResultCountReply](docs/WorkflowShortApiResultCountReply.md) - [WorkflowShortApiResultGroup](docs/WorkflowShortApiResultGroup.md) - [WorkflowShortApiResultGroupedReply](docs/WorkflowShortApiResultGroupedReply.md) - [WorkflowShortApiResultIReply](docs/WorkflowShortApiResultIReply.md) diff --git a/docs/AIServiceModelApiResultCountReply.md b/docs/AIServiceModelApiResultCountReply.md new file mode 100644 index 00000000..1b3ac07e --- /dev/null +++ b/docs/AIServiceModelApiResultCountReply.md @@ -0,0 +1,11 @@ +# AIServiceModelApiResultCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AIServicesAPIApi.md b/docs/AIServicesAPIApi.md new file mode 100644 index 00000000..10dc946d --- /dev/null +++ b/docs/AIServicesAPIApi.md @@ -0,0 +1,112 @@ +# testit_api_client.AIServicesAPIApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_external_services_id_ai_models_post**](AIServicesAPIApi.md#api_v2_external_services_id_ai_models_post) | **POST** /api/v2/external-services/{id}/ai/models | Ask for models with inquiry filter, cached + + +# **api_v2_external_services_id_ai_models_post** +> AIServiceModelApiResultIReply api_v2_external_services_id_ai_models_post(id) + +Ask for models with inquiry filter, cached + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import ai_services_api_api +from testit_api_client.model.ai_service_model_api_result_i_reply import AIServiceModelApiResultIReply +from testit_api_client.model.api_v2_external_services_id_ai_models_post_request import ApiV2ExternalServicesIdAiModelsPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = ai_services_api_api.AIServicesAPIApi(api_client) + id = "id_example" # str | + api_v2_external_services_id_ai_models_post_request = ApiV2ExternalServicesIdAiModelsPostRequest(None) # ApiV2ExternalServicesIdAiModelsPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Ask for models with inquiry filter, cached + api_response = api_instance.api_v2_external_services_id_ai_models_post(id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling AIServicesAPIApi->api_v2_external_services_id_ai_models_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Ask for models with inquiry filter, cached + api_response = api_instance.api_v2_external_services_id_ai_models_post(id, api_v2_external_services_id_ai_models_post_request=api_v2_external_services_id_ai_models_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling AIServicesAPIApi->api_v2_external_services_id_ai_models_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **api_v2_external_services_id_ai_models_post_request** | [**ApiV2ExternalServicesIdAiModelsPostRequest**](ApiV2ExternalServicesIdAiModelsPostRequest.md)| | [optional] + +### Return type + +[**AIServiceModelApiResultIReply**](AIServiceModelApiResultIReply.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful operation | - | +**400** | Not valid data or models request errors | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md b/docs/ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md new file mode 100644 index 00000000..4f0141c4 --- /dev/null +++ b/docs/ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md @@ -0,0 +1,13 @@ +# ApiV2AutotestsResultReasonsGroupingSearchPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**inquiry** | [**FailureCategoryGroupSearchApiModelInquiry**](FailureCategoryGroupSearchApiModelInquiry.md) | | +**group** | [**FailureCategoryGroupSearchApiModelGroup**](FailureCategoryGroupSearchApiModelGroup.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2AutotestsResultReasonsPostRequest.md b/docs/ApiV2AutotestsResultReasonsPostRequest.md new file mode 100644 index 00000000..50454543 --- /dev/null +++ b/docs/ApiV2AutotestsResultReasonsPostRequest.md @@ -0,0 +1,15 @@ +# ApiV2AutotestsResultReasonsPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Failure category name | +**failure_category** | [**FailureCategory**](FailureCategory.md) | | +**failure_class_regexes** | [**[CreateFailureClassRegexApiModel], none_type**](CreateFailureClassRegexApiModel.md) | Failure category regexes | [optional] +**project_ids** | **[str], none_type** | Projects identifiers | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2AutotestsResultReasonsPutRequest.md b/docs/ApiV2AutotestsResultReasonsPutRequest.md new file mode 100644 index 00000000..fd720135 --- /dev/null +++ b/docs/ApiV2AutotestsResultReasonsPutRequest.md @@ -0,0 +1,16 @@ +# ApiV2AutotestsResultReasonsPutRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Failure category identifier | +**name** | **str** | Failure category name | +**failure_category** | [**FailureCategory**](FailureCategory.md) | | +**failure_class_regexes** | [**[UpdateFailureClassRegexApiModel], none_type**](UpdateFailureClassRegexApiModel.md) | Failure category regexes | [optional] +**project_ids** | **[str], none_type** | Projects identifiers | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2AutotestsResultReasonsSearchPostRequest.md b/docs/ApiV2AutotestsResultReasonsSearchPostRequest.md new file mode 100644 index 00000000..cbb1efd6 --- /dev/null +++ b/docs/ApiV2AutotestsResultReasonsSearchPostRequest.md @@ -0,0 +1,15 @@ +# ApiV2AutotestsResultReasonsSearchPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**failure_categories** | [**[AvailableFailureCategory], none_type**](AvailableFailureCategory.md) | | [optional] +**name** | **str, none_type** | | [optional] +**regex_count** | [**Int32RangeSelectorModel**](Int32RangeSelectorModel.md) | | [optional] +**is_deleted** | **bool, none_type** | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ExternalServicesIdAiModelsPostRequest.md b/docs/ApiV2ExternalServicesIdAiModelsPostRequest.md new file mode 100644 index 00000000..7e98df27 --- /dev/null +++ b/docs/ApiV2ExternalServicesIdAiModelsPostRequest.md @@ -0,0 +1,12 @@ +# ApiV2ExternalServicesIdAiModelsPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**inquiry** | [**Inquiry**](Inquiry.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md b/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md new file mode 100644 index 00000000..f42a7a11 --- /dev/null +++ b/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md @@ -0,0 +1,13 @@ +# ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**new_external_service_id** | **str** | The unique ID of the new external service that will replace the current one | +**settings** | **bool, date, datetime, dict, float, int, list, str, none_type** | External service settings | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md b/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md new file mode 100644 index 00000000..93220450 --- /dev/null +++ b/docs/ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md @@ -0,0 +1,12 @@ +# ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**settings** | **bool, date, datetime, dict, float, int, list, str, none_type** | External service settings | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md b/docs/ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md new file mode 100644 index 00000000..f8bc7646 --- /dev/null +++ b/docs/ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md @@ -0,0 +1,12 @@ +# ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**url** | **str** | Url of external issue | +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md b/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md new file mode 100644 index 00000000..9cd9ad89 --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md @@ -0,0 +1,14 @@ +# ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**name** | **str** | Failure category name | +**failure_category** | [**FailureCategory**](FailureCategory.md) | | +**failure_class_regexes** | [**[CreateFailureClassRegexApiModel], none_type**](CreateFailureClassRegexApiModel.md) | Failure category regexes | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md b/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md new file mode 100644 index 00000000..e2e3d6e6 --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md @@ -0,0 +1,15 @@ +# ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**id** | **str** | Failure category identifier | +**name** | **str** | Failure category name | +**failure_category** | [**FailureCategory**](FailureCategory.md) | | +**failure_class_regexes** | [**[UpdateFailureClassRegexApiModel], none_type**](UpdateFailureClassRegexApiModel.md) | Failure category regexes | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md new file mode 100644 index 00000000..b5f9954d --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md @@ -0,0 +1,13 @@ +# ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional] +**extraction_model** | [**TestPlanTestPointsExtractionApiModel**](TestPlanTestPointsExtractionApiModel.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md new file mode 100644 index 00000000..70405296 --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md @@ -0,0 +1,14 @@ +# ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional] +**group** | [**TestPlanTestPointsGroupApiModel**](TestPlanTestPointsGroupApiModel.md) | | [optional] +**inquiry** | [**TestPlanTestPointsInquiryApiModel**](TestPlanTestPointsInquiryApiModel.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md new file mode 100644 index 00000000..c1a680f2 --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md @@ -0,0 +1,14 @@ +# ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**tester_ids** | **[str]** | | +**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional] +**extraction_model** | [**TestPlanTestPointsExtractionApiModel**](TestPlanTestPointsExtractionApiModel.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md b/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md new file mode 100644 index 00000000..bd589fce --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md @@ -0,0 +1,15 @@ +# ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**section_id** | **str** | | +**previews** | [**[WorkItemPreviewApiModel]**](WorkItemPreviewApiModel.md) | | +**attributes** | **{str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type** | | [optional] +**link** | [**PreviewsIssueLinkApiModel**](PreviewsIssueLinkApiModel.md) | | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md b/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md new file mode 100644 index 00000000..f068750c --- /dev/null +++ b/docs/ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md @@ -0,0 +1,16 @@ +# ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**external_service_id** | **str** | The ID of the external AI service to be used for generation. | +**temperature** | **float** | Controls randomness of the AI model output. | +**preview_limit** | **int** | Number of work item previews to generate. | +**issue_key** | **str, none_type** | The key of the issue in an issue tracker (e.g., JIRA-123). | [optional] +**user_context** | **str, none_type** | Additional user context or description of the issue if no issue key is provided. | [optional] +**any string name** | **bool, date, datetime, dict, float, int, list, str, none_type** | any string name can be used but the value must be the correct type | [optional] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/AutoTestCaseModel.md b/docs/AutoTestCaseResult.md similarity index 93% rename from docs/AutoTestCaseModel.md rename to docs/AutoTestCaseResult.md index c14734dc..74b5a87b 100644 --- a/docs/AutoTestCaseModel.md +++ b/docs/AutoTestCaseResult.md @@ -1,4 +1,4 @@ -# AutoTestCaseModel +# AutoTestCaseResult ## Properties diff --git a/docs/CustomAttributeGetModel.md b/docs/CustomAttributeGetModel.md deleted file mode 100644 index b1840cf1..00000000 --- a/docs/CustomAttributeGetModel.md +++ /dev/null @@ -1,18 +0,0 @@ -# CustomAttributeGetModel - - -## Properties -Name | Type | Description | Notes ------------- | ------------- | ------------- | ------------- -**id** | **str** | Unique ID of the attribute | -**options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options | -**type** | [**CustomAttributeTypesEnum**](CustomAttributeTypesEnum.md) | | -**is_deleted** | **bool** | Indicates if the attribute is deleted | -**name** | **str** | Name of the attribute | -**is_enabled** | **bool** | Indicates if the attribute is enabled | -**is_required** | **bool** | Indicates if the attribute is mandatory to specify | -**is_global** | **bool** | Indicates if the attribute is available across all projects | - -[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) - - diff --git a/docs/CustomAttributeModel.md b/docs/CustomAttributeModel.md index 2e4a22e5..6a0811a7 100644 --- a/docs/CustomAttributeModel.md +++ b/docs/CustomAttributeModel.md @@ -4,16 +4,18 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**id** | **str** | Unique ID of the attribute | -**targets** | **[str]** | Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) | -**options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options Available for attributes of type `options` and `multiple options` only | +**id** | **str** | Unique ID of the attribute. | **type** | [**CustomAttributeTypesEnum**](CustomAttributeTypesEnum.md) | | -**is_deleted** | **bool** | Indicates if the attribute is deleted | -**is_system** | **bool** | Indicates if the attribute is system | +**options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options. | +**targets** | **[str]** | Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). | +**is_read_only** | **bool** | Indicates if the attribute is read-only. | +**is_deleted** | **bool** | Indicates if the attribute is deleted. | +**is_system** | **bool** | Indicates if the attribute is system. | **name** | **str** | Name of the attribute | **is_enabled** | **bool** | Indicates if the attribute is enabled | **is_required** | **bool** | Indicates if the attribute value is mandatory to specify | **is_global** | **bool** | Indicates if the attribute is available across all projects | +**code** | **str, none_type** | Optional code identifier for the attribute. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/CustomAttributeSearchResponseModel.md b/docs/CustomAttributeSearchResponseModel.md index 26a2f0f0..6f5a8a34 100644 --- a/docs/CustomAttributeSearchResponseModel.md +++ b/docs/CustomAttributeSearchResponseModel.md @@ -6,16 +6,18 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **work_item_usage** | [**[ProjectShortestModel]**](ProjectShortestModel.md) | | **test_plan_usage** | [**[ProjectShortestModel]**](ProjectShortestModel.md) | | -**id** | **str** | Unique ID of the attribute | -**targets** | **[str]** | Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) | -**options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options Available for attributes of type `options` and `multiple options` only | +**id** | **str** | Unique ID of the attribute. | **type** | [**CustomAttributeTypesEnum**](CustomAttributeTypesEnum.md) | | -**is_deleted** | **bool** | Indicates if the attribute is deleted | -**is_system** | **bool** | Indicates if the attribute is system | +**options** | [**[CustomAttributeOptionModel]**](CustomAttributeOptionModel.md) | Collection of the attribute options. | +**targets** | **[str]** | Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). | +**is_read_only** | **bool** | Indicates if the attribute is read-only. | +**is_deleted** | **bool** | Indicates if the attribute is deleted. | +**is_system** | **bool** | Indicates if the attribute is system. | **name** | **str** | Name of the attribute | **is_enabled** | **bool** | Indicates if the attribute is enabled | **is_required** | **bool** | Indicates if the attribute value is mandatory to specify | **is_global** | **bool** | Indicates if the attribute is available across all projects | +**code** | **str, none_type** | Optional code identifier for the attribute. | [optional] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/ExternalIssueApiFieldSuggestionCountReply.md b/docs/ExternalIssueApiFieldSuggestionCountReply.md new file mode 100644 index 00000000..5485cfc0 --- /dev/null +++ b/docs/ExternalIssueApiFieldSuggestionCountReply.md @@ -0,0 +1,11 @@ +# ExternalIssueApiFieldSuggestionCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ExternalServicesApi.md b/docs/ExternalServicesApi.md new file mode 100644 index 00000000..a83a5d7b --- /dev/null +++ b/docs/ExternalServicesApi.md @@ -0,0 +1,96 @@ +# testit_api_client.ExternalServicesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_external_services_metadata_get**](ExternalServicesApi.md#api_v2_external_services_metadata_get) | **GET** /api/v2/external-services/metadata | Retrieves the metadata for all available external services + + +# **api_v2_external_services_metadata_get** +> ExternalServicesMetadataApiResult api_v2_external_services_metadata_get() + +Retrieves the metadata for all available external services + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.external_services_metadata_api_result import ExternalServicesMetadataApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = external_services_api.ExternalServicesApi(api_client) + + # example, this endpoint has no required or optional parameters + try: + # Retrieves the metadata for all available external services + api_response = api_instance.api_v2_external_services_metadata_get() + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ExternalServicesApi->api_v2_external_services_metadata_get: %s\n" % e) +``` + + +### Parameters +This endpoint does not need any parameter. + +### Return type + +[**ExternalServicesMetadataApiResult**](ExternalServicesMetadataApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/FailureCategoriesApi.md b/docs/FailureCategoriesApi.md new file mode 100644 index 00000000..3d7fa92f --- /dev/null +++ b/docs/FailureCategoriesApi.md @@ -0,0 +1,1342 @@ +# testit_api_client.FailureCategoriesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_autotests_failure_categories_grouping_search_post**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_grouping_search_post) | **POST** /api/v2/autotests/failure-categories/grouping-search | Get failure categories with support for filtering, sorting and grouping +[**api_v2_autotests_failure_categories_id_delete**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_id_delete) | **DELETE** /api/v2/autotests/failure-categories/{id} | Delete failure category +[**api_v2_autotests_failure_categories_id_get**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_id_get) | **GET** /api/v2/autotests/failure-categories/{id} | Get failure category by ID +[**api_v2_autotests_failure_categories_name_name_exists_get**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_name_name_exists_get) | **GET** /api/v2/autotests/failure-categories/name/{name}/exists | Check failure category with the specified name already exists +[**api_v2_autotests_failure_categories_post**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_post) | **POST** /api/v2/autotests/failure-categories | Create failure category +[**api_v2_autotests_failure_categories_put**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_put) | **PUT** /api/v2/autotests/failure-categories | Update failure category +[**api_v2_autotests_failure_categories_search_post**](FailureCategoriesApi.md#api_v2_autotests_failure_categories_search_post) | **POST** /api/v2/autotests/failure-categories/search | +[**api_v2_autotests_result_reasons_grouping_search_post**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_grouping_search_post) | **POST** /api/v2/autotests/resultReasons/grouping-search | Get failure categories with support for filtering, sorting and grouping +[**api_v2_autotests_result_reasons_id_delete**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_id_delete) | **DELETE** /api/v2/autotests/resultReasons/{id} | Delete failure category +[**api_v2_autotests_result_reasons_id_get**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_id_get) | **GET** /api/v2/autotests/resultReasons/{id} | Get failure category by ID +[**api_v2_autotests_result_reasons_name_name_exists_get**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_name_name_exists_get) | **GET** /api/v2/autotests/resultReasons/name/{name}/exists | Check failure category with the specified name already exists +[**api_v2_autotests_result_reasons_post**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_post) | **POST** /api/v2/autotests/resultReasons | Create failure category +[**api_v2_autotests_result_reasons_put**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_put) | **PUT** /api/v2/autotests/resultReasons | Update failure category +[**api_v2_autotests_result_reasons_search_post**](FailureCategoriesApi.md#api_v2_autotests_result_reasons_search_post) | **POST** /api/v2/autotests/resultReasons/search | + + +# **api_v2_autotests_failure_categories_grouping_search_post** +> FailureCategoryGroupItemApiResultReply api_v2_autotests_failure_categories_grouping_search_post() + +Get failure categories with support for filtering, sorting and grouping + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_group_item_api_result_reply import FailureCategoryGroupItemApiResultReply +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_grouping_search_post_request = ApiV2AutotestsResultReasonsGroupingSearchPostRequest(None) # ApiV2AutotestsResultReasonsGroupingSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get failure categories with support for filtering, sorting and grouping + api_response = api_instance.api_v2_autotests_failure_categories_grouping_search_post(api_v2_autotests_result_reasons_grouping_search_post_request=api_v2_autotests_result_reasons_grouping_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_grouping_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_grouping_search_post_request** | [**ApiV2AutotestsResultReasonsGroupingSearchPostRequest**](ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md)| | [optional] + +### Return type + +[**FailureCategoryGroupItemApiResultReply**](FailureCategoryGroupItemApiResultReply.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_id_delete** +> api_v2_autotests_failure_categories_id_delete(id) + +Delete failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + id = "id_example" # str | + + # example passing only required values which don't have defaults set + try: + # Delete failure category + api_instance.api_v2_autotests_failure_categories_id_delete(id) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_id_delete: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_id_get** +> FailureCategoryApiResult api_v2_autotests_failure_categories_id_get(id) + +Get failure category by ID + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_api_result import FailureCategoryApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + id = "id_example" # str | + is_deleted = True # bool | (optional) + + # example passing only required values which don't have defaults set + try: + # Get failure category by ID + api_response = api_instance.api_v2_autotests_failure_categories_id_get(id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_id_get: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get failure category by ID + api_response = api_instance.api_v2_autotests_failure_categories_id_get(id, is_deleted=is_deleted) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_id_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **is_deleted** | **bool**| | [optional] + +### Return type + +[**FailureCategoryApiResult**](FailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_name_name_exists_get** +> bool api_v2_autotests_failure_categories_name_name_exists_get(name) + +Check failure category with the specified name already exists + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + name = "name_example" # str | + + # example passing only required values which don't have defaults set + try: + # Check failure category with the specified name already exists + api_response = api_instance.api_v2_autotests_failure_categories_name_name_exists_get(name) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_name_name_exists_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| | + +### Return type + +**bool** + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_post** +> FailureCategoryApiResult api_v2_autotests_failure_categories_post() + +Create failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_api_result import FailureCategoryApiResult +from testit_api_client.model.api_v2_autotests_result_reasons_post_request import ApiV2AutotestsResultReasonsPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_post_request = ApiV2AutotestsResultReasonsPostRequest(None) # ApiV2AutotestsResultReasonsPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Create failure category + api_response = api_instance.api_v2_autotests_failure_categories_post(api_v2_autotests_result_reasons_post_request=api_v2_autotests_result_reasons_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_post_request** | [**ApiV2AutotestsResultReasonsPostRequest**](ApiV2AutotestsResultReasonsPostRequest.md)| | [optional] + +### Return type + +[**FailureCategoryApiResult**](FailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Created | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_put** +> api_v2_autotests_failure_categories_put() + +Update failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_autotests_result_reasons_put_request import ApiV2AutotestsResultReasonsPutRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_put_request = ApiV2AutotestsResultReasonsPutRequest(None) # ApiV2AutotestsResultReasonsPutRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Update failure category + api_instance.api_v2_autotests_failure_categories_put(api_v2_autotests_result_reasons_put_request=api_v2_autotests_result_reasons_put_request) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_put: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_put_request** | [**ApiV2AutotestsResultReasonsPutRequest**](ApiV2AutotestsResultReasonsPutRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_failure_categories_search_post** +> [AutotestResultReasonShortGetModel] api_v2_autotests_failure_categories_search_post() + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.autotest_result_reason_short_get_model import AutotestResultReasonShortGetModel +from testit_api_client.model.api_v2_autotests_result_reasons_search_post_request import ApiV2AutotestsResultReasonsSearchPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + skip = 1 # int | Amount of items to be skipped (offset) (optional) + take = 1 # int | Amount of items to be taken (limit) (optional) + order_by = "OrderBy_example" # str | SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC) (optional) + search_field = "SearchField_example" # str | Property name for searching (optional) + search_value = "SearchValue_example" # str | Value for searching (optional) + api_v2_autotests_result_reasons_search_post_request = ApiV2AutotestsResultReasonsSearchPostRequest(None) # ApiV2AutotestsResultReasonsSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + api_response = api_instance.api_v2_autotests_failure_categories_search_post(skip=skip, take=take, order_by=order_by, search_field=search_field, search_value=search_value, api_v2_autotests_result_reasons_search_post_request=api_v2_autotests_result_reasons_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_failure_categories_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **skip** | **int**| Amount of items to be skipped (offset) | [optional] + **take** | **int**| Amount of items to be taken (limit) | [optional] + **order_by** | **str**| SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC) | [optional] + **search_field** | **str**| Property name for searching | [optional] + **search_value** | **str**| Value for searching | [optional] + **api_v2_autotests_result_reasons_search_post_request** | [**ApiV2AutotestsResultReasonsSearchPostRequest**](ApiV2AutotestsResultReasonsSearchPostRequest.md)| | [optional] + +### Return type + +[**[AutotestResultReasonShortGetModel]**](AutotestResultReasonShortGetModel.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | * Pagination-Skip - Skipped amount of items
* Pagination-Take - Taken items
* Pagination-Pages - Expected number of pages
* Pagination-Total-Items - Total count of items
| +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_grouping_search_post** +> FailureCategoryGroupItemApiResultReply api_v2_autotests_result_reasons_grouping_search_post() + +Get failure categories with support for filtering, sorting and grouping + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_group_item_api_result_reply import FailureCategoryGroupItemApiResultReply +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_grouping_search_post_request = ApiV2AutotestsResultReasonsGroupingSearchPostRequest(None) # ApiV2AutotestsResultReasonsGroupingSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get failure categories with support for filtering, sorting and grouping + api_response = api_instance.api_v2_autotests_result_reasons_grouping_search_post(api_v2_autotests_result_reasons_grouping_search_post_request=api_v2_autotests_result_reasons_grouping_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_grouping_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_grouping_search_post_request** | [**ApiV2AutotestsResultReasonsGroupingSearchPostRequest**](ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md)| | [optional] + +### Return type + +[**FailureCategoryGroupItemApiResultReply**](FailureCategoryGroupItemApiResultReply.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_id_delete** +> api_v2_autotests_result_reasons_id_delete(id) + +Delete failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + id = "id_example" # str | + + # example passing only required values which don't have defaults set + try: + # Delete failure category + api_instance.api_v2_autotests_result_reasons_id_delete(id) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_id_delete: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_id_get** +> FailureCategoryApiResult api_v2_autotests_result_reasons_id_get(id) + +Get failure category by ID + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_api_result import FailureCategoryApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + id = "id_example" # str | + is_deleted = True # bool | (optional) + + # example passing only required values which don't have defaults set + try: + # Get failure category by ID + api_response = api_instance.api_v2_autotests_result_reasons_id_get(id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_id_get: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get failure category by ID + api_response = api_instance.api_v2_autotests_result_reasons_id_get(id, is_deleted=is_deleted) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_id_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| | + **is_deleted** | **bool**| | [optional] + +### Return type + +[**FailureCategoryApiResult**](FailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_name_name_exists_get** +> bool api_v2_autotests_result_reasons_name_name_exists_get(name) + +Check failure category with the specified name already exists + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + name = "name_example" # str | + + # example passing only required values which don't have defaults set + try: + # Check failure category with the specified name already exists + api_response = api_instance.api_v2_autotests_result_reasons_name_name_exists_get(name) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_name_name_exists_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **name** | **str**| | + +### Return type + +**bool** + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_post** +> FailureCategoryApiResult api_v2_autotests_result_reasons_post() + +Create failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.failure_category_api_result import FailureCategoryApiResult +from testit_api_client.model.api_v2_autotests_result_reasons_post_request import ApiV2AutotestsResultReasonsPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_post_request = ApiV2AutotestsResultReasonsPostRequest(None) # ApiV2AutotestsResultReasonsPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Create failure category + api_response = api_instance.api_v2_autotests_result_reasons_post(api_v2_autotests_result_reasons_post_request=api_v2_autotests_result_reasons_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_post_request** | [**ApiV2AutotestsResultReasonsPostRequest**](ApiV2AutotestsResultReasonsPostRequest.md)| | [optional] + +### Return type + +[**FailureCategoryApiResult**](FailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Created | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_put** +> api_v2_autotests_result_reasons_put() + +Update failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_autotests_result_reasons_put_request import ApiV2AutotestsResultReasonsPutRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + api_v2_autotests_result_reasons_put_request = ApiV2AutotestsResultReasonsPutRequest(None) # ApiV2AutotestsResultReasonsPutRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Update failure category + api_instance.api_v2_autotests_result_reasons_put(api_v2_autotests_result_reasons_put_request=api_v2_autotests_result_reasons_put_request) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_put: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **api_v2_autotests_result_reasons_put_request** | [**ApiV2AutotestsResultReasonsPutRequest**](ApiV2AutotestsResultReasonsPutRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_autotests_result_reasons_search_post** +> [AutotestResultReasonShortGetModel] api_v2_autotests_result_reasons_search_post() + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import failure_categories_api +from testit_api_client.model.autotest_result_reason_short_get_model import AutotestResultReasonShortGetModel +from testit_api_client.model.api_v2_autotests_result_reasons_search_post_request import ApiV2AutotestsResultReasonsSearchPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = failure_categories_api.FailureCategoriesApi(api_client) + skip = 1 # int | Amount of items to be skipped (offset) (optional) + take = 1 # int | Amount of items to be taken (limit) (optional) + order_by = "OrderBy_example" # str | SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC) (optional) + search_field = "SearchField_example" # str | Property name for searching (optional) + search_value = "SearchValue_example" # str | Value for searching (optional) + api_v2_autotests_result_reasons_search_post_request = ApiV2AutotestsResultReasonsSearchPostRequest(None) # ApiV2AutotestsResultReasonsSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + # and optional values + try: + api_response = api_instance.api_v2_autotests_result_reasons_search_post(skip=skip, take=take, order_by=order_by, search_field=search_field, search_value=search_value, api_v2_autotests_result_reasons_search_post_request=api_v2_autotests_result_reasons_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling FailureCategoriesApi->api_v2_autotests_result_reasons_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **skip** | **int**| Amount of items to be skipped (offset) | [optional] + **take** | **int**| Amount of items to be taken (limit) | [optional] + **order_by** | **str**| SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC) | [optional] + **search_field** | **str**| Property name for searching | [optional] + **search_value** | **str**| Value for searching | [optional] + **api_v2_autotests_result_reasons_search_post_request** | [**ApiV2AutotestsResultReasonsSearchPostRequest**](ApiV2AutotestsResultReasonsSearchPostRequest.md)| | [optional] + +### Return type + +[**[AutotestResultReasonShortGetModel]**](AutotestResultReasonShortGetModel.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | * Pagination-Skip - Skipped amount of items
* Pagination-Take - Taken items
* Pagination-Pages - Expected number of pages
* Pagination-Total-Items - Total count of items
| +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/FailureCategoryGroupSearchApiModelInquiry.md b/docs/FailureCategoryGroupSearchApiModelInquiry.md index 4bf2a123..14dfd635 100644 --- a/docs/FailureCategoryGroupSearchApiModelInquiry.md +++ b/docs/FailureCategoryGroupSearchApiModelInquiry.md @@ -6,6 +6,7 @@ Inquiry details Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**mode** | [**Mode**](Mode.md) | | **group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] diff --git a/docs/FilterOperator.md b/docs/FilterOperator.md index f7a62833..3b6cd957 100644 --- a/docs/FilterOperator.md +++ b/docs/FilterOperator.md @@ -4,7 +4,7 @@ ## Properties Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- -**value** | **str** | | must be one of ["=", "!=", "~", "!~", "<", "<=", ">", ">=", "*", "!*", ] +**value** | **str** | | must be one of ["EqualTo", "NotEqualTo", "Contains", "NotContains", "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "Empty", "NotEmpty", "In", "NotIn", ] [[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) diff --git a/docs/GetExternalIssueSuggestionsApiModelInquiry.md b/docs/GetExternalIssueSuggestionsApiModelInquiry.md index 03454939..b5204ece 100644 --- a/docs/GetExternalIssueSuggestionsApiModelInquiry.md +++ b/docs/GetExternalIssueSuggestionsApiModelInquiry.md @@ -6,6 +6,7 @@ Inquiry Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**mode** | [**Mode**](Mode.md) | | **group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] diff --git a/docs/Inquiry.md b/docs/Inquiry.md index 6c075ca9..b91ca0dc 100644 --- a/docs/Inquiry.md +++ b/docs/Inquiry.md @@ -5,6 +5,7 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **order** | [**[Order]**](Order.md) | | +**mode** | [**Mode**](Mode.md) | | **group** | [**Group**](Group.md) | | [optional] **filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional] **page** | [**Page**](Page.md) | | [optional] diff --git a/docs/Mode.md b/docs/Mode.md new file mode 100644 index 00000000..0d9d3579 --- /dev/null +++ b/docs/Mode.md @@ -0,0 +1,11 @@ +# Mode + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**value** | **str** | | must be one of ["CountOnly", "All", ] + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProjectAttributesApi.md b/docs/ProjectAttributesApi.md index 54291e4c..5464eca1 100644 --- a/docs/ProjectAttributesApi.md +++ b/docs/ProjectAttributesApi.md @@ -411,7 +411,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **search_attributes_in_project** -> [CustomAttributeGetModel] search_attributes_in_project(project_id) +> [CustomAttributeModel] search_attributes_in_project(project_id) Search for attributes used in the project @@ -424,9 +424,9 @@ Search for attributes used in the project import time import testit_api_client from testit_api_client.api import project_attributes_api -from testit_api_client.model.custom_attribute_get_model import CustomAttributeGetModel from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.search_attributes_in_project_request import SearchAttributesInProjectRequest +from testit_api_client.model.custom_attribute_model import CustomAttributeModel from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint # Defining the host is optional and defaults to http://localhost @@ -497,7 +497,7 @@ Name | Type | Description | Notes ### Return type -[**[CustomAttributeGetModel]**](CustomAttributeGetModel.md) +[**[CustomAttributeModel]**](CustomAttributeModel.md) ### Authorization diff --git a/docs/ProjectExternalServicesApi.md b/docs/ProjectExternalServicesApi.md new file mode 100644 index 00000000..43aef7ab --- /dev/null +++ b/docs/ProjectExternalServicesApi.md @@ -0,0 +1,610 @@ +# testit_api_client.ProjectExternalServicesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_projects_id_external_services_external_service_id_delete**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_delete) | **DELETE** /api/v2/projects/{id}/external-services/{externalServiceId} | Disable an external service +[**api_v2_projects_id_external_services_external_service_id_get**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_get) | **GET** /api/v2/projects/{id}/external-services/{externalServiceId} | Retrieves settings of an external service +[**api_v2_projects_id_external_services_external_service_id_patch**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_patch) | **PATCH** /api/v2/projects/{id}/external-services/{externalServiceId} | Replaces one active external service with another +[**api_v2_projects_id_external_services_external_service_id_put**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_external_service_id_put) | **PUT** /api/v2/projects/{id}/external-services/{externalServiceId} | Enable an external service +[**api_v2_projects_id_external_services_get**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_get) | **GET** /api/v2/projects/{id}/external-services | Retrieves information about external services, including their integration status (enabled or not) +[**api_v2_projects_id_external_services_issues_search_post**](ProjectExternalServicesApi.md#api_v2_projects_id_external_services_issues_search_post) | **POST** /api/v2/projects/{id}/external-services/issues/search | Searches for external issues using enabled external services in project + + +# **api_v2_projects_id_external_services_external_service_id_delete** +> api_v2_projects_id_external_services_external_service_id_delete(id, external_service_id) + +Disable an external service + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Project ID + external_service_id = "externalServiceId_example" # str | External service ID + + # example passing only required values which don't have defaults set + try: + # Disable an external service + api_instance.api_v2_projects_id_external_services_external_service_id_delete(id, external_service_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_delete: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Project ID | + **external_service_id** | **str**| External service ID | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_id_external_services_external_service_id_get** +> ProjectExternalServiceSettingsApiResult api_v2_projects_id_external_services_external_service_id_get(id, external_service_id) + +Retrieves settings of an external service + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.project_external_service_settings_api_result import ProjectExternalServiceSettingsApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Project ID + external_service_id = "externalServiceId_example" # str | External service ID + + # example passing only required values which don't have defaults set + try: + # Retrieves settings of an external service + api_response = api_instance.api_v2_projects_id_external_services_external_service_id_get(id, external_service_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Project ID | + **external_service_id** | **str**| External service ID | + +### Return type + +[**ProjectExternalServiceSettingsApiResult**](ProjectExternalServiceSettingsApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_id_external_services_external_service_id_patch** +> api_v2_projects_id_external_services_external_service_id_patch(id, external_service_id) + +Replaces one active external service with another + +See RFC 6902: JavaScript Object Notation (JSON) Patch for details + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_patch_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Project ID + external_service_id = "externalServiceId_example" # str | External service ID + api_v2_projects_id_external_services_external_service_id_patch_request = ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest(None) # ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Replaces one active external service with another + api_instance.api_v2_projects_id_external_services_external_service_id_patch(id, external_service_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_patch: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Replaces one active external service with another + api_instance.api_v2_projects_id_external_services_external_service_id_patch(id, external_service_id, api_v2_projects_id_external_services_external_service_id_patch_request=api_v2_projects_id_external_services_external_service_id_patch_request) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_patch: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Project ID | + **external_service_id** | **str**| External service ID | + **api_v2_projects_id_external_services_external_service_id_patch_request** | [**ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest**](ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_id_external_services_external_service_id_put** +> api_v2_projects_id_external_services_external_service_id_put(id, external_service_id) + +Enable an external service + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_put_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Project ID + external_service_id = "externalServiceId_example" # str | External service ID + api_v2_projects_id_external_services_external_service_id_put_request = ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest(None) # ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Enable an external service + api_instance.api_v2_projects_id_external_services_external_service_id_put(id, external_service_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_put: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Enable an external service + api_instance.api_v2_projects_id_external_services_external_service_id_put(id, external_service_id, api_v2_projects_id_external_services_external_service_id_put_request=api_v2_projects_id_external_services_external_service_id_put_request) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_external_service_id_put: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Project ID | + **external_service_id** | **str**| External service ID | + **api_v2_projects_id_external_services_external_service_id_put_request** | [**ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest**](ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_id_external_services_get** +> ProjectExternalServicesApiResult api_v2_projects_id_external_services_get(id) + +Retrieves information about external services, including their integration status (enabled or not) + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.api_external_service_category import ApiExternalServiceCategory +from testit_api_client.model.project_external_services_api_result import ProjectExternalServicesApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Project ID + category = None # ApiExternalServiceCategory | (optional) + + # example passing only required values which don't have defaults set + try: + # Retrieves information about external services, including their integration status (enabled or not) + api_response = api_instance.api_v2_projects_id_external_services_get(id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_get: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Retrieves information about external services, including their integration status (enabled or not) + api_response = api_instance.api_v2_projects_id_external_services_get(id, category=category) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Project ID | + **category** | **ApiExternalServiceCategory**| | [optional] + +### Return type + +[**ProjectExternalServicesApiResult**](ProjectExternalServicesApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_id_external_services_issues_search_post** +> [ExternalIssueApiResult] api_v2_projects_id_external_services_issues_search_post(id) + +Searches for external issues using enabled external services in project + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_external_services_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.external_issue_api_result import ExternalIssueApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from testit_api_client.model.api_v2_projects_id_external_services_issues_search_post_request import ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_external_services_api.ProjectExternalServicesApi(api_client) + id = "id_example" # str | Internal (UUID) or global (integer) identifier + api_v2_projects_id_external_services_issues_search_post_request = ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest(None) # ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Searches for external issues using enabled external services in project + api_response = api_instance.api_v2_projects_id_external_services_issues_search_post(id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_issues_search_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Searches for external issues using enabled external services in project + api_response = api_instance.api_v2_projects_id_external_services_issues_search_post(id, api_v2_projects_id_external_services_issues_search_post_request=api_v2_projects_id_external_services_issues_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectExternalServicesApi->api_v2_projects_id_external_services_issues_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_projects_id_external_services_issues_search_post_request** | [**ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest**](ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest.md)| | [optional] + +### Return type + +[**[ExternalIssueApiResult]**](ExternalIssueApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProjectFailureCategoriesApi.md b/docs/ProjectFailureCategoriesApi.md new file mode 100644 index 00000000..a50f2847 --- /dev/null +++ b/docs/ProjectFailureCategoriesApi.md @@ -0,0 +1,503 @@ +# testit_api_client.ProjectFailureCategoriesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_projects_project_id_autotests_failure_categories_grouping_search_post**](ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_grouping_search_post) | **POST** /api/v2/projects/{projectId}/autotests/failure-categories/grouping-search | Get failure categories with support for filtering, sorting and grouping +[**api_v2_projects_project_id_autotests_failure_categories_id_delete**](ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_id_delete) | **DELETE** /api/v2/projects/{projectId}/autotests/failure-categories/{id} | Delete failure category +[**api_v2_projects_project_id_autotests_failure_categories_id_get**](ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_id_get) | **GET** /api/v2/projects/{projectId}/autotests/failure-categories/{id} | Get failure category by ID +[**api_v2_projects_project_id_autotests_failure_categories_post**](ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_post) | **POST** /api/v2/projects/{projectId}/autotests/failure-categories | Create failure category +[**api_v2_projects_project_id_autotests_failure_categories_put**](ProjectFailureCategoriesApi.md#api_v2_projects_project_id_autotests_failure_categories_put) | **PUT** /api/v2/projects/{projectId}/autotests/failure-categories | Update failure category + + +# **api_v2_projects_project_id_autotests_failure_categories_grouping_search_post** +> ProjectFailureCategoryGroupItemApiResultReply api_v2_projects_project_id_autotests_failure_categories_grouping_search_post(project_id) + +Get failure categories with support for filtering, sorting and grouping + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.project_failure_category_group_item_api_result_reply import ProjectFailureCategoryGroupItemApiResultReply +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_failure_categories_api.ProjectFailureCategoriesApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + api_v2_autotests_result_reasons_grouping_search_post_request = ApiV2AutotestsResultReasonsGroupingSearchPostRequest(None) # ApiV2AutotestsResultReasonsGroupingSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Get failure categories with support for filtering, sorting and grouping + api_response = api_instance.api_v2_projects_project_id_autotests_failure_categories_grouping_search_post(project_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_grouping_search_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get failure categories with support for filtering, sorting and grouping + api_response = api_instance.api_v2_projects_project_id_autotests_failure_categories_grouping_search_post(project_id, api_v2_autotests_result_reasons_grouping_search_post_request=api_v2_autotests_result_reasons_grouping_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_grouping_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_autotests_result_reasons_grouping_search_post_request** | [**ApiV2AutotestsResultReasonsGroupingSearchPostRequest**](ApiV2AutotestsResultReasonsGroupingSearchPostRequest.md)| | [optional] + +### Return type + +[**ProjectFailureCategoryGroupItemApiResultReply**](ProjectFailureCategoryGroupItemApiResultReply.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_autotests_failure_categories_id_delete** +> api_v2_projects_project_id_autotests_failure_categories_id_delete(project_id, id) + +Delete failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_failure_categories_api.ProjectFailureCategoriesApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + id = "id_example" # str | + + # example passing only required values which don't have defaults set + try: + # Delete failure category + api_instance.api_v2_projects_project_id_autotests_failure_categories_id_delete(project_id, id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_id_delete: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **id** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_autotests_failure_categories_id_get** +> ProjectDetailedFailureCategoryApiResult api_v2_projects_project_id_autotests_failure_categories_id_get(project_id, id) + +Get failure category by ID + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.project_detailed_failure_category_api_result import ProjectDetailedFailureCategoryApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_failure_categories_api.ProjectFailureCategoriesApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + id = "id_example" # str | + + # example passing only required values which don't have defaults set + try: + # Get failure category by ID + api_response = api_instance.api_v2_projects_project_id_autotests_failure_categories_id_get(project_id, id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_id_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **id** | **str**| | + +### Return type + +[**ProjectDetailedFailureCategoryApiResult**](ProjectDetailedFailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_autotests_failure_categories_post** +> ProjectDetailedFailureCategoryApiResult api_v2_projects_project_id_autotests_failure_categories_post(project_id) + +Create failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_failure_categories_api +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_post_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.project_detailed_failure_category_api_result import ProjectDetailedFailureCategoryApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_failure_categories_api.ProjectFailureCategoriesApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + api_v2_projects_project_id_autotests_failure_categories_post_request = ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest(None) # ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Create failure category + api_response = api_instance.api_v2_projects_project_id_autotests_failure_categories_post(project_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Create failure category + api_response = api_instance.api_v2_projects_project_id_autotests_failure_categories_post(project_id, api_v2_projects_project_id_autotests_failure_categories_post_request=api_v2_projects_project_id_autotests_failure_categories_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_projects_project_id_autotests_failure_categories_post_request** | [**ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest**](ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest.md)| | [optional] + +### Return type + +[**ProjectDetailedFailureCategoryApiResult**](ProjectDetailedFailureCategoryApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Created | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_autotests_failure_categories_put** +> api_v2_projects_project_id_autotests_failure_categories_put(project_id) + +Update failure category + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_failure_categories_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_put_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_failure_categories_api.ProjectFailureCategoriesApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + api_v2_projects_project_id_autotests_failure_categories_put_request = ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest(None) # ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Update failure category + api_instance.api_v2_projects_project_id_autotests_failure_categories_put(project_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_put: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Update failure category + api_instance.api_v2_projects_project_id_autotests_failure_categories_put(project_id, api_v2_projects_project_id_autotests_failure_categories_put_request=api_v2_projects_project_id_autotests_failure_categories_put_request) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectFailureCategoriesApi->api_v2_projects_project_id_autotests_failure_categories_put: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_projects_project_id_autotests_failure_categories_put_request** | [**ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest**](ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProjectShortApiResultCountReply.md b/docs/ProjectShortApiResultCountReply.md new file mode 100644 index 00000000..20b20798 --- /dev/null +++ b/docs/ProjectShortApiResultCountReply.md @@ -0,0 +1,11 @@ +# ProjectShortApiResultCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/ProjectTestPlanAttributesApi.md b/docs/ProjectTestPlanAttributesApi.md index cfb6e896..ce0b7790 100644 --- a/docs/ProjectTestPlanAttributesApi.md +++ b/docs/ProjectTestPlanAttributesApi.md @@ -301,7 +301,7 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **search_test_plan_attributes_in_project** -> [CustomAttributeGetModel] search_test_plan_attributes_in_project(project_id) +> [CustomAttributeModel] search_test_plan_attributes_in_project(project_id) Search for attributes used in the project test plans @@ -314,9 +314,9 @@ Search for attributes used in the project test plans import time import testit_api_client from testit_api_client.api import project_test_plan_attributes_api -from testit_api_client.model.custom_attribute_get_model import CustomAttributeGetModel from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.search_attributes_in_project_request import SearchAttributesInProjectRequest +from testit_api_client.model.custom_attribute_model import CustomAttributeModel from testit_api_client.model.validation_problem_details import ValidationProblemDetails from pprint import pprint # Defining the host is optional and defaults to http://localhost @@ -387,7 +387,7 @@ Name | Type | Description | Notes ### Return type -[**[CustomAttributeGetModel]**](CustomAttributeGetModel.md) +[**[CustomAttributeModel]**](CustomAttributeModel.md) ### Authorization diff --git a/docs/ProjectTestPlanTestPointsApi.md b/docs/ProjectTestPlanTestPointsApi.md index a7521b27..015dafe9 100644 --- a/docs/ProjectTestPlanTestPointsApi.md +++ b/docs/ProjectTestPlanTestPointsApi.md @@ -4,10 +4,118 @@ All URIs are relative to *http://localhost* Method | HTTP request | Description ------------- | ------------- | ------------- +[**api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post**](ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/analytics | Get test points analytics. [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post**](ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/rerun | Rerun autotests. [**api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post**](ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/autotests/run | Run autotests. +[**api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post**](ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/grouping-search | Search test points in test plan. +[**api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post**](ProjectTestPlanTestPointsApi.md#api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post) | **POST** /api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/testers | Distribute test points between the users. +# **api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post** +> TestPlanTestPointsAnalyticsApiResult api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post(project_id, test_plan_id) + +Get test points analytics. + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_test_plan_test_points_api +from testit_api_client.model.test_plan_test_points_analytics_api_result import TestPlanTestPointsAnalyticsApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_test_plan_test_points_api.ProjectTestPlanTestPointsApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + test_plan_id = "testPlanId_example" # str | + api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request = ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest(None) # ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Get test points analytics. + api_response = api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post(project_id, test_plan_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Get test points analytics. + api_response = api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post(project_id, test_plan_id, api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request=api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **test_plan_id** | **str**| | + **api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request** | [**ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest**](ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest.md)| | [optional] + +### Return type + +[**TestPlanTestPointsAnalyticsApiResult**](TestPlanTestPointsAnalyticsApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post** > api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post(project_id, test_plan_id) @@ -215,3 +323,210 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) +# **api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post** +> TestPlanTestPointsGroupSearchApiResult api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post(project_id, test_plan_id) + +Search test points in test plan. + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_test_plan_test_points_api +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.test_plan_test_points_group_search_api_result import TestPlanTestPointsGroupSearchApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_test_plan_test_points_api.ProjectTestPlanTestPointsApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + test_plan_id = "testPlanId_example" # str | + api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request = ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest(None) # ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Search test points in test plan. + api_response = api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post(project_id, test_plan_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Search test points in test plan. + api_response = api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post(project_id, test_plan_id, api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request=api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **test_plan_id** | **str**| | + **api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request** | [**ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest**](ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest.md)| | [optional] + +### Return type + +[**TestPlanTestPointsGroupSearchApiResult**](TestPlanTestPointsGroupSearchApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post** +> api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post(project_id, test_plan_id) + +Distribute test points between the users. + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_test_plan_test_points_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_test_plan_test_points_api.ProjectTestPlanTestPointsApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + test_plan_id = "testPlanId_example" # str | + api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request = ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest(None) # ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + # Distribute test points between the users. + api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post(project_id, test_plan_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + # Distribute test points between the users. + api_instance.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post(project_id, test_plan_id, api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request=api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectTestPlanTestPointsApi->api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **test_plan_id** | **str**| | + **api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request** | [**ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest**](ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/ProjectWorkItemsApi.md b/docs/ProjectWorkItemsApi.md index 16bf2f37..70722b3a 100644 --- a/docs/ProjectWorkItemsApi.md +++ b/docs/ProjectWorkItemsApi.md @@ -4,6 +4,8 @@ All URIs are relative to *http://localhost* Method | HTTP request | Description ------------- | ------------- | ------------- +[**api_v2_projects_project_id_work_items_previews_bulk_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_previews_bulk_post) | **POST** /api/v2/projects/{projectId}/work-items/previews/bulk | +[**api_v2_projects_project_id_work_items_previews_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_previews_post) | **POST** /api/v2/projects/{projectId}/work-items/previews | [**api_v2_projects_project_id_work_items_search_grouped_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_grouped_post) | **POST** /api/v2/projects/{projectId}/workItems/search/grouped | Search for work items and group results by attribute [**api_v2_projects_project_id_work_items_search_id_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_id_post) | **POST** /api/v2/projects/{projectId}/workItems/search/id | Search for work items and extract IDs only [**api_v2_projects_project_id_work_items_search_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_post) | **POST** /api/v2/projects/{projectId}/workItems/search | Search for work items @@ -12,6 +14,205 @@ Method | HTTP request | Description [**get_work_items_by_project_id**](ProjectWorkItemsApi.md#get_work_items_by_project_id) | **GET** /api/v2/projects/{projectId}/workItems | Get project work items +# **api_v2_projects_project_id_work_items_previews_bulk_post** +> api_v2_projects_project_id_work_items_previews_bulk_post(project_id) + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_work_items_api +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_bulk_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_work_items_api.ProjectWorkItemsApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + api_v2_projects_project_id_work_items_previews_bulk_post_request = ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest(None) # ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + api_instance.api_v2_projects_project_id_work_items_previews_bulk_post(project_id) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_previews_bulk_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + api_instance.api_v2_projects_project_id_work_items_previews_bulk_post(project_id, api_v2_projects_project_id_work_items_previews_bulk_post_request=api_v2_projects_project_id_work_items_previews_bulk_post_request) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_previews_bulk_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_projects_project_id_work_items_previews_bulk_post_request** | [**ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest**](ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest.md)| | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_projects_project_id_work_items_previews_post** +> GenerateWorkItemPreviewsApiResult api_v2_projects_project_id_work_items_previews_post(project_id) + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import project_work_items_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.generate_work_item_previews_api_result import GenerateWorkItemPreviewsApiResult +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = project_work_items_api.ProjectWorkItemsApi(api_client) + project_id = "projectId_example" # str | Internal (UUID) or global (integer) identifier + api_v2_projects_project_id_work_items_previews_post_request = ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest(None) # ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest | (optional) + + # example passing only required values which don't have defaults set + try: + api_response = api_instance.api_v2_projects_project_id_work_items_previews_post(project_id) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_previews_post: %s\n" % e) + + # example passing only required values which don't have defaults set + # and optional values + try: + api_response = api_instance.api_v2_projects_project_id_work_items_previews_post(project_id, api_v2_projects_project_id_work_items_previews_post_request=api_v2_projects_project_id_work_items_previews_post_request) + pprint(api_response) + except testit_api_client.ApiException as e: + print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_previews_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **project_id** | **str**| Internal (UUID) or global (integer) identifier | + **api_v2_projects_project_id_work_items_previews_post_request** | [**ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest**](ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest.md)| | [optional] + +### Return type + +[**GenerateWorkItemPreviewsApiResult**](GenerateWorkItemPreviewsApiResult.md) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + # **api_v2_projects_project_id_work_items_search_grouped_post** > [WorkItemGroupModel] api_v2_projects_project_id_work_items_search_grouped_post(project_id) diff --git a/docs/SectionPutModel.md b/docs/SectionPutModel.md index 7a409011..1151de2a 100644 --- a/docs/SectionPutModel.md +++ b/docs/SectionPutModel.md @@ -6,7 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | | **name** | **str** | | -**project_id** | **str** | | **attachments** | [**[AttachmentPutModel]**](AttachmentPutModel.md) | | **parent_id** | **str, none_type** | | [optional] **precondition_steps** | [**[StepPutModel], none_type**](StepPutModel.md) | | [optional] diff --git a/docs/TestStatusApiResultCountReply.md b/docs/TestStatusApiResultCountReply.md new file mode 100644 index 00000000..7785bbc6 --- /dev/null +++ b/docs/TestStatusApiResultCountReply.md @@ -0,0 +1,11 @@ +# TestStatusApiResultCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/UpdateSectionRequest.md b/docs/UpdateSectionRequest.md index 89854d22..da1d90c9 100644 --- a/docs/UpdateSectionRequest.md +++ b/docs/UpdateSectionRequest.md @@ -6,7 +6,6 @@ Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **id** | **str** | | **name** | **str** | | -**project_id** | **str** | | **attachments** | [**[AttachmentPutModel]**](AttachmentPutModel.md) | | **parent_id** | **str, none_type** | | [optional] **precondition_steps** | [**[StepPutModel], none_type**](StepPutModel.md) | | [optional] diff --git a/docs/UserStoragesApi.md b/docs/UserStoragesApi.md new file mode 100644 index 00000000..146e2697 --- /dev/null +++ b/docs/UserStoragesApi.md @@ -0,0 +1,186 @@ +# testit_api_client.UserStoragesApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**api_v2_user_storages_resource_get**](UserStoragesApi.md#api_v2_user_storages_resource_get) | **GET** /api/v2/user-storages/{resource} | +[**api_v2_user_storages_resource_post**](UserStoragesApi.md#api_v2_user_storages_resource_post) | **POST** /api/v2/user-storages/{resource} | + + +# **api_v2_user_storages_resource_get** +> api_v2_user_storages_resource_get(resource) + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import user_storages_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = user_storages_api.UserStoragesApi(api_client) + resource = "resource_example" # str | + + # example passing only required values which don't have defaults set + try: + api_instance.api_v2_user_storages_resource_get(resource) + except testit_api_client.ApiException as e: + print("Exception when calling UserStoragesApi->api_v2_user_storages_resource_get: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **resource** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **api_v2_user_storages_resource_post** +> api_v2_user_storages_resource_post(resource) + + + +### Example + +* Api Key Authentication (PrivateToken): +* Api Key Authentication (Identity.Application): + +```python +import time +import testit_api_client +from testit_api_client.api import user_storages_api +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails +from pprint import pprint +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = testit_api_client.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: PrivateToken +configuration.api_key['PrivateToken'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['PrivateToken'] = 'Bearer' + +# Configure API key authorization: Identity.Application +configuration.api_key['Identity.Application'] = 'YOUR_API_KEY' + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['Identity.Application'] = 'Bearer' + +# Enter a context with an instance of the API client +with testit_api_client.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = user_storages_api.UserStoragesApi(api_client) + resource = "resource_example" # str | + + # example passing only required values which don't have defaults set + try: + api_instance.api_v2_user_storages_resource_post(resource) + except testit_api_client.ApiException as e: + print("Exception when calling UserStoragesApi->api_v2_user_storages_resource_post: %s\n" % e) +``` + + +### Parameters + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **resource** | **str**| | + +### Return type + +void (empty response body) + +### Authorization + +[PrivateToken](../README.md#PrivateToken), [Identity.Application](../README.md#Identity.Application) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | OK | - | +**400** | Bad Request | - | +**401** | Unauthorized | - | +**403** | Forbidden | - | +**404** | Not Found | - | +**409** | Conflict | - | +**422** | Unprocessable Entity | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/docs/WorkflowProjectApiResultCountReply.md b/docs/WorkflowProjectApiResultCountReply.md new file mode 100644 index 00000000..e17f353a --- /dev/null +++ b/docs/WorkflowProjectApiResultCountReply.md @@ -0,0 +1,11 @@ +# WorkflowProjectApiResultCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/docs/WorkflowShortApiResultCountReply.md b/docs/WorkflowShortApiResultCountReply.md new file mode 100644 index 00000000..6af3b1a0 --- /dev/null +++ b/docs/WorkflowShortApiResultCountReply.md @@ -0,0 +1,11 @@ +# WorkflowShortApiResultCountReply + + +## Properties +Name | Type | Description | Notes +------------ | ------------- | ------------- | ------------- +**total_count** | **int** | | + +[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md) + + diff --git a/genConfig.yml b/genConfig.yml index ab626dea..d62438ac 100644 --- a/genConfig.yml +++ b/genConfig.yml @@ -1,4 +1,4 @@ packageName: "testit_api_client" packageUrl: "https://pypi.org/project/testit-api-client/" -packageVersion: 7.5.11 +packageVersion: 7.6.0 projectName: "testit-api-client" diff --git a/run.sh b/run.sh index 523f54bb..27cf9965 100644 --- a/run.sh +++ b/run.sh @@ -2,7 +2,7 @@ # Настройка переменных FILE_NAME="cloud-swagger.json" -NEW_VERSION="7.5.11" +NEW_VERSION="7.6.0" GENERATOR="openapi-generator-cli-6.6.0.jar" if [ ! -f ".swagger/$FILE_NAME" ]; then diff --git a/setup.py b/setup.py index 4a9c5310..d6616632 100644 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ NAME = "testit-api-client" -VERSION = "7.5.12" +VERSION = "7.6.0" PYTHON_REQUIRES = ">=3.7" REQUIRES = [ diff --git a/src/testit_api_client/__init__.py b/src/testit_api_client/__init__.py index 2e3d5476..8218f66f 100644 --- a/src/testit_api_client/__init__.py +++ b/src/testit_api_client/__init__.py @@ -10,7 +10,7 @@ """ -__version__ = "7.5.11" +__version__ = "7.6.0" # import ApiClient from testit_api_client.api_client import ApiClient diff --git a/src/testit_api_client/api/__init__.py b/src/testit_api_client/api/__init__.py index dad211d1..30e3592e 100644 --- a/src/testit_api_client/api/__init__.py +++ b/src/testit_api_client/api/__init__.py @@ -1,3 +1,3 @@ # do not import all apis into this module because that uses a lot of memory and stack frames # if you need the ability to import all apis from one package, import them with -# from testit_api_client.apis import AttachmentsApi +# from testit_api_client.apis import AIServicesAPIApi diff --git a/src/testit_api_client/api/ai_services_api_api.py b/src/testit_api_client/api/ai_services_api_api.py new file mode 100644 index 00000000..010f62be --- /dev/null +++ b/src/testit_api_client/api/ai_services_api_api.py @@ -0,0 +1,182 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.ai_service_model_api_result_i_reply import AIServiceModelApiResultIReply +from testit_api_client.model.api_v2_external_services_id_ai_models_post_request import ApiV2ExternalServicesIdAiModelsPostRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class AIServicesAPIApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_external_services_id_ai_models_post_endpoint = _Endpoint( + settings={ + 'response_type': (AIServiceModelApiResultIReply,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/external-services/{id}/ai/models', + 'operation_id': 'api_v2_external_services_id_ai_models_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'api_v2_external_services_id_ai_models_post_request', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'api_v2_external_services_id_ai_models_post_request': + (ApiV2ExternalServicesIdAiModelsPostRequest,), + }, + 'attribute_map': { + 'id': 'id', + }, + 'location_map': { + 'id': 'path', + 'api_v2_external_services_id_ai_models_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def api_v2_external_services_id_ai_models_post( + self, + id, + **kwargs + ): + """Ask for models with inquiry filter, cached # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_external_services_id_ai_models_post(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + api_v2_external_services_id_ai_models_post_request (ApiV2ExternalServicesIdAiModelsPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + AIServiceModelApiResultIReply + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_external_services_id_ai_models_post_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/external_services_api.py b/src/testit_api_client/api/external_services_api.py new file mode 100644 index 00000000..a53f84ae --- /dev/null +++ b/src/testit_api_client/api/external_services_api.py @@ -0,0 +1,162 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.external_services_metadata_api_result import ExternalServicesMetadataApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class ExternalServicesApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_external_services_metadata_get_endpoint = _Endpoint( + settings={ + 'response_type': (ExternalServicesMetadataApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/external-services/metadata', + 'operation_id': 'api_v2_external_services_metadata_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + }, + 'attribute_map': { + }, + 'location_map': { + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + + def api_v2_external_services_metadata_get( + self, + **kwargs + ): + """Retrieves the metadata for all available external services # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_external_services_metadata_get(async_req=True) + >>> result = thread.get() + + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ExternalServicesMetadataApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_external_services_metadata_get_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/failure_categories_api.py b/src/testit_api_client/api/failure_categories_api.py new file mode 100644 index 00000000..86307f36 --- /dev/null +++ b/src/testit_api_client/api/failure_categories_api.py @@ -0,0 +1,1954 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.api_v2_autotests_result_reasons_post_request import ApiV2AutotestsResultReasonsPostRequest +from testit_api_client.model.api_v2_autotests_result_reasons_put_request import ApiV2AutotestsResultReasonsPutRequest +from testit_api_client.model.api_v2_autotests_result_reasons_search_post_request import ApiV2AutotestsResultReasonsSearchPostRequest +from testit_api_client.model.autotest_result_reason_short_get_model import AutotestResultReasonShortGetModel +from testit_api_client.model.failure_category_api_result import FailureCategoryApiResult +from testit_api_client.model.failure_category_group_item_api_result_reply import FailureCategoryGroupItemApiResultReply +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class FailureCategoriesApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_autotests_failure_categories_grouping_search_post_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryGroupItemApiResultReply,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories/grouping-search', + 'operation_id': 'api_v2_autotests_failure_categories_grouping_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_grouping_search_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_grouping_search_post_request': + (ApiV2AutotestsResultReasonsGroupingSearchPostRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_grouping_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_id_delete_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories/{id}', + 'operation_id': 'api_v2_autotests_failure_categories_id_delete', + 'http_method': 'DELETE', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + }, + 'attribute_map': { + 'id': 'id', + }, + 'location_map': { + 'id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_id_get_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories/{id}', + 'operation_id': 'api_v2_autotests_failure_categories_id_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'is_deleted', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'is_deleted': + (bool,), + }, + 'attribute_map': { + 'id': 'id', + 'is_deleted': 'isDeleted', + }, + 'location_map': { + 'id': 'path', + 'is_deleted': 'query', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_name_name_exists_get_endpoint = _Endpoint( + settings={ + 'response_type': (bool,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories/name/{name}/exists', + 'operation_id': 'api_v2_autotests_failure_categories_name_name_exists_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'name', + ], + 'required': [ + 'name', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'name': + (str,), + }, + 'attribute_map': { + 'name': 'name', + }, + 'location_map': { + 'name': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_post_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories', + 'operation_id': 'api_v2_autotests_failure_categories_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_post_request': + (ApiV2AutotestsResultReasonsPostRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_put_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories', + 'operation_id': 'api_v2_autotests_failure_categories_put', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_put_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_put_request': + (ApiV2AutotestsResultReasonsPutRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_put_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_failure_categories_search_post_endpoint = _Endpoint( + settings={ + 'response_type': ([AutotestResultReasonShortGetModel],), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/failure-categories/search', + 'operation_id': 'api_v2_autotests_failure_categories_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'skip', + 'take', + 'order_by', + 'search_field', + 'search_value', + 'api_v2_autotests_result_reasons_search_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'skip': + (int,), + 'take': + (int,), + 'order_by': + (str,), + 'search_field': + (str,), + 'search_value': + (str,), + 'api_v2_autotests_result_reasons_search_post_request': + (ApiV2AutotestsResultReasonsSearchPostRequest,), + }, + 'attribute_map': { + 'skip': 'Skip', + 'take': 'Take', + 'order_by': 'OrderBy', + 'search_field': 'SearchField', + 'search_value': 'SearchValue', + }, + 'location_map': { + 'skip': 'query', + 'take': 'query', + 'order_by': 'query', + 'search_field': 'query', + 'search_value': 'query', + 'api_v2_autotests_result_reasons_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_grouping_search_post_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryGroupItemApiResultReply,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons/grouping-search', + 'operation_id': 'api_v2_autotests_result_reasons_grouping_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_grouping_search_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_grouping_search_post_request': + (ApiV2AutotestsResultReasonsGroupingSearchPostRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_grouping_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_id_delete_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons/{id}', + 'operation_id': 'api_v2_autotests_result_reasons_id_delete', + 'http_method': 'DELETE', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + }, + 'attribute_map': { + 'id': 'id', + }, + 'location_map': { + 'id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_id_get_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons/{id}', + 'operation_id': 'api_v2_autotests_result_reasons_id_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'is_deleted', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'is_deleted': + (bool,), + }, + 'attribute_map': { + 'id': 'id', + 'is_deleted': 'isDeleted', + }, + 'location_map': { + 'id': 'path', + 'is_deleted': 'query', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_name_name_exists_get_endpoint = _Endpoint( + settings={ + 'response_type': (bool,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons/name/{name}/exists', + 'operation_id': 'api_v2_autotests_result_reasons_name_name_exists_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'name', + ], + 'required': [ + 'name', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'name': + (str,), + }, + 'attribute_map': { + 'name': 'name', + }, + 'location_map': { + 'name': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_post_endpoint = _Endpoint( + settings={ + 'response_type': (FailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons', + 'operation_id': 'api_v2_autotests_result_reasons_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_post_request': + (ApiV2AutotestsResultReasonsPostRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_put_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons', + 'operation_id': 'api_v2_autotests_result_reasons_put', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'api_v2_autotests_result_reasons_put_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'api_v2_autotests_result_reasons_put_request': + (ApiV2AutotestsResultReasonsPutRequest,), + }, + 'attribute_map': { + }, + 'location_map': { + 'api_v2_autotests_result_reasons_put_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_autotests_result_reasons_search_post_endpoint = _Endpoint( + settings={ + 'response_type': ([AutotestResultReasonShortGetModel],), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/autotests/resultReasons/search', + 'operation_id': 'api_v2_autotests_result_reasons_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'skip', + 'take', + 'order_by', + 'search_field', + 'search_value', + 'api_v2_autotests_result_reasons_search_post_request', + ], + 'required': [], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'skip': + (int,), + 'take': + (int,), + 'order_by': + (str,), + 'search_field': + (str,), + 'search_value': + (str,), + 'api_v2_autotests_result_reasons_search_post_request': + (ApiV2AutotestsResultReasonsSearchPostRequest,), + }, + 'attribute_map': { + 'skip': 'Skip', + 'take': 'Take', + 'order_by': 'OrderBy', + 'search_field': 'SearchField', + 'search_value': 'SearchValue', + }, + 'location_map': { + 'skip': 'query', + 'take': 'query', + 'order_by': 'query', + 'search_field': 'query', + 'search_value': 'query', + 'api_v2_autotests_result_reasons_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def api_v2_autotests_failure_categories_grouping_search_post( + self, + **kwargs + ): + """Get failure categories with support for filtering, sorting and grouping # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_grouping_search_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_grouping_search_post_request (ApiV2AutotestsResultReasonsGroupingSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryGroupItemApiResultReply + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_failure_categories_grouping_search_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_id_delete( + self, + id, + **kwargs + ): + """Delete failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_id_delete(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_autotests_failure_categories_id_delete_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_id_get( + self, + id, + **kwargs + ): + """Get failure category by ID # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_id_get(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + is_deleted (bool): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_autotests_failure_categories_id_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_name_name_exists_get( + self, + name, + **kwargs + ): + """Check failure category with the specified name already exists # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_name_name_exists_get(name, async_req=True) + >>> result = thread.get() + + Args: + name (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + bool + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['name'] = \ + name + return self.api_v2_autotests_failure_categories_name_name_exists_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_post( + self, + **kwargs + ): + """Create failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_post_request (ApiV2AutotestsResultReasonsPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_failure_categories_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_put( + self, + **kwargs + ): + """Update failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_put(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_put_request (ApiV2AutotestsResultReasonsPutRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_failure_categories_put_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_failure_categories_search_post( + self, + **kwargs + ): + """api_v2_autotests_failure_categories_search_post # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_failure_categories_search_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + skip (int): Amount of items to be skipped (offset). [optional] + take (int): Amount of items to be taken (limit). [optional] + order_by (str): SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC). [optional] + search_field (str): Property name for searching. [optional] + search_value (str): Value for searching. [optional] + api_v2_autotests_result_reasons_search_post_request (ApiV2AutotestsResultReasonsSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + [AutotestResultReasonShortGetModel] + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_failure_categories_search_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_grouping_search_post( + self, + **kwargs + ): + """Get failure categories with support for filtering, sorting and grouping # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_grouping_search_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_grouping_search_post_request (ApiV2AutotestsResultReasonsGroupingSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryGroupItemApiResultReply + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_result_reasons_grouping_search_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_id_delete( + self, + id, + **kwargs + ): + """Delete failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_id_delete(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_autotests_result_reasons_id_delete_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_id_get( + self, + id, + **kwargs + ): + """Get failure category by ID # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_id_get(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): + + Keyword Args: + is_deleted (bool): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_autotests_result_reasons_id_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_name_name_exists_get( + self, + name, + **kwargs + ): + """Check failure category with the specified name already exists # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_name_name_exists_get(name, async_req=True) + >>> result = thread.get() + + Args: + name (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + bool + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['name'] = \ + name + return self.api_v2_autotests_result_reasons_name_name_exists_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_post( + self, + **kwargs + ): + """Create failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_post_request (ApiV2AutotestsResultReasonsPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + FailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_result_reasons_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_put( + self, + **kwargs + ): + """Update failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_put(async_req=True) + >>> result = thread.get() + + + Keyword Args: + api_v2_autotests_result_reasons_put_request (ApiV2AutotestsResultReasonsPutRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_result_reasons_put_endpoint.call_with_http_info(**kwargs) + + def api_v2_autotests_result_reasons_search_post( + self, + **kwargs + ): + """api_v2_autotests_result_reasons_search_post # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_autotests_result_reasons_search_post(async_req=True) + >>> result = thread.get() + + + Keyword Args: + skip (int): Amount of items to be skipped (offset). [optional] + take (int): Amount of items to be taken (limit). [optional] + order_by (str): SQL-like ORDER BY statement (column1 ASC|DESC , column2 ASC|DESC). [optional] + search_field (str): Property name for searching. [optional] + search_value (str): Value for searching. [optional] + api_v2_autotests_result_reasons_search_post_request (ApiV2AutotestsResultReasonsSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + [AutotestResultReasonShortGetModel] + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + return self.api_v2_autotests_result_reasons_search_post_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/project_attributes_api.py b/src/testit_api_client/api/project_attributes_api.py index d3967a7f..d8a4bd38 100644 --- a/src/testit_api_client/api/project_attributes_api.py +++ b/src/testit_api_client/api/project_attributes_api.py @@ -22,7 +22,6 @@ validate_and_convert_types ) from testit_api_client.model.create_projects_attribute_request import CreateProjectsAttributeRequest -from testit_api_client.model.custom_attribute_get_model import CustomAttributeGetModel from testit_api_client.model.custom_attribute_model import CustomAttributeModel from testit_api_client.model.deletion_state import DeletionState from testit_api_client.model.problem_details import ProblemDetails @@ -275,7 +274,7 @@ def __init__(self, api_client=None): ) self.search_attributes_in_project_endpoint = _Endpoint( settings={ - 'response_type': ([CustomAttributeGetModel],), + 'response_type': ([CustomAttributeModel],), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -812,7 +811,7 @@ def search_attributes_in_project( async_req (bool): execute request asynchronously Returns: - [CustomAttributeGetModel] + [CustomAttributeModel] If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api/project_external_services_api.py b/src/testit_api_client/api/project_external_services_api.py new file mode 100644 index 00000000..dc05a345 --- /dev/null +++ b/src/testit_api_client/api/project_external_services_api.py @@ -0,0 +1,918 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.api_external_service_category import ApiExternalServiceCategory +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_patch_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_put_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest +from testit_api_client.model.api_v2_projects_id_external_services_issues_search_post_request import ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest +from testit_api_client.model.external_issue_api_result import ExternalIssueApiResult +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.project_external_service_settings_api_result import ProjectExternalServiceSettingsApiResult +from testit_api_client.model.project_external_services_api_result import ProjectExternalServicesApiResult +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class ProjectExternalServicesApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_projects_id_external_services_external_service_id_delete_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services/{externalServiceId}', + 'operation_id': 'api_v2_projects_id_external_services_external_service_id_delete', + 'http_method': 'DELETE', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'external_service_id', + ], + 'required': [ + 'id', + 'external_service_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'external_service_id': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'external_service_id': 'externalServiceId', + }, + 'location_map': { + 'id': 'path', + 'external_service_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_projects_id_external_services_external_service_id_get_endpoint = _Endpoint( + settings={ + 'response_type': (ProjectExternalServiceSettingsApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services/{externalServiceId}', + 'operation_id': 'api_v2_projects_id_external_services_external_service_id_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'external_service_id', + ], + 'required': [ + 'id', + 'external_service_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'external_service_id': + (str,), + }, + 'attribute_map': { + 'id': 'id', + 'external_service_id': 'externalServiceId', + }, + 'location_map': { + 'id': 'path', + 'external_service_id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_projects_id_external_services_external_service_id_patch_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services/{externalServiceId}', + 'operation_id': 'api_v2_projects_id_external_services_external_service_id_patch', + 'http_method': 'PATCH', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'external_service_id', + 'api_v2_projects_id_external_services_external_service_id_patch_request', + ], + 'required': [ + 'id', + 'external_service_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'external_service_id': + (str,), + 'api_v2_projects_id_external_services_external_service_id_patch_request': + (ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest,), + }, + 'attribute_map': { + 'id': 'id', + 'external_service_id': 'externalServiceId', + }, + 'location_map': { + 'id': 'path', + 'external_service_id': 'path', + 'api_v2_projects_id_external_services_external_service_id_patch_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_id_external_services_external_service_id_put_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services/{externalServiceId}', + 'operation_id': 'api_v2_projects_id_external_services_external_service_id_put', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'external_service_id', + 'api_v2_projects_id_external_services_external_service_id_put_request', + ], + 'required': [ + 'id', + 'external_service_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'external_service_id': + (str,), + 'api_v2_projects_id_external_services_external_service_id_put_request': + (ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest,), + }, + 'attribute_map': { + 'id': 'id', + 'external_service_id': 'externalServiceId', + }, + 'location_map': { + 'id': 'path', + 'external_service_id': 'path', + 'api_v2_projects_id_external_services_external_service_id_put_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_id_external_services_get_endpoint = _Endpoint( + settings={ + 'response_type': (ProjectExternalServicesApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services', + 'operation_id': 'api_v2_projects_id_external_services_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'category', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'category': + (ApiExternalServiceCategory,), + }, + 'attribute_map': { + 'id': 'id', + 'category': 'category', + }, + 'location_map': { + 'id': 'path', + 'category': 'query', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_projects_id_external_services_issues_search_post_endpoint = _Endpoint( + settings={ + 'response_type': ([ExternalIssueApiResult],), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{id}/external-services/issues/search', + 'operation_id': 'api_v2_projects_id_external_services_issues_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'id', + 'api_v2_projects_id_external_services_issues_search_post_request', + ], + 'required': [ + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'id': + (str,), + 'api_v2_projects_id_external_services_issues_search_post_request': + (ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest,), + }, + 'attribute_map': { + 'id': 'id', + }, + 'location_map': { + 'id': 'path', + 'api_v2_projects_id_external_services_issues_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def api_v2_projects_id_external_services_external_service_id_delete( + self, + id, + external_service_id, + **kwargs + ): + """Disable an external service # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_external_service_id_delete(id, external_service_id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Project ID + external_service_id (str): External service ID + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + kwargs['external_service_id'] = \ + external_service_id + return self.api_v2_projects_id_external_services_external_service_id_delete_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_id_external_services_external_service_id_get( + self, + id, + external_service_id, + **kwargs + ): + """Retrieves settings of an external service # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_external_service_id_get(id, external_service_id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Project ID + external_service_id (str): External service ID + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ProjectExternalServiceSettingsApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + kwargs['external_service_id'] = \ + external_service_id + return self.api_v2_projects_id_external_services_external_service_id_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_id_external_services_external_service_id_patch( + self, + id, + external_service_id, + **kwargs + ): + """Replaces one active external service with another # noqa: E501 + + See RFC 6902: JavaScript Object Notation (JSON) Patch for details # noqa: E501 + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_external_service_id_patch(id, external_service_id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Project ID + external_service_id (str): External service ID + + Keyword Args: + api_v2_projects_id_external_services_external_service_id_patch_request (ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + kwargs['external_service_id'] = \ + external_service_id + return self.api_v2_projects_id_external_services_external_service_id_patch_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_id_external_services_external_service_id_put( + self, + id, + external_service_id, + **kwargs + ): + """Enable an external service # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_external_service_id_put(id, external_service_id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Project ID + external_service_id (str): External service ID + + Keyword Args: + api_v2_projects_id_external_services_external_service_id_put_request (ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + kwargs['external_service_id'] = \ + external_service_id + return self.api_v2_projects_id_external_services_external_service_id_put_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_id_external_services_get( + self, + id, + **kwargs + ): + """Retrieves information about external services, including their integration status (enabled or not) # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_get(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Project ID + + Keyword Args: + category (ApiExternalServiceCategory): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ProjectExternalServicesApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_projects_id_external_services_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_id_external_services_issues_search_post( + self, + id, + **kwargs + ): + """Searches for external issues using enabled external services in project # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_id_external_services_issues_search_post(id, async_req=True) + >>> result = thread.get() + + Args: + id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_projects_id_external_services_issues_search_post_request (ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + [ExternalIssueApiResult] + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['id'] = \ + id + return self.api_v2_projects_id_external_services_issues_search_post_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/project_failure_categories_api.py b/src/testit_api_client/api/project_failure_categories_api.py new file mode 100644 index 00000000..98ff039f --- /dev/null +++ b/src/testit_api_client/api/project_failure_categories_api.py @@ -0,0 +1,755 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_post_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_put_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.project_detailed_failure_category_api_result import ProjectDetailedFailureCategoryApiResult +from testit_api_client.model.project_failure_category_group_item_api_result_reply import ProjectFailureCategoryGroupItemApiResultReply +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class ProjectFailureCategoriesApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_projects_project_id_autotests_failure_categories_grouping_search_post_endpoint = _Endpoint( + settings={ + 'response_type': (ProjectFailureCategoryGroupItemApiResultReply,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/autotests/failure-categories/grouping-search', + 'operation_id': 'api_v2_projects_project_id_autotests_failure_categories_grouping_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'api_v2_autotests_result_reasons_grouping_search_post_request', + ], + 'required': [ + 'project_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'api_v2_autotests_result_reasons_grouping_search_post_request': + (ApiV2AutotestsResultReasonsGroupingSearchPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + }, + 'location_map': { + 'project_id': 'path', + 'api_v2_autotests_result_reasons_grouping_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_project_id_autotests_failure_categories_id_delete_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/autotests/failure-categories/{id}', + 'operation_id': 'api_v2_projects_project_id_autotests_failure_categories_id_delete', + 'http_method': 'DELETE', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'id', + ], + 'required': [ + 'project_id', + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'id': + (str,), + }, + 'attribute_map': { + 'project_id': 'projectId', + 'id': 'id', + }, + 'location_map': { + 'project_id': 'path', + 'id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_projects_project_id_autotests_failure_categories_id_get_endpoint = _Endpoint( + settings={ + 'response_type': (ProjectDetailedFailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/autotests/failure-categories/{id}', + 'operation_id': 'api_v2_projects_project_id_autotests_failure_categories_id_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'id', + ], + 'required': [ + 'project_id', + 'id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'id': + (str,), + }, + 'attribute_map': { + 'project_id': 'projectId', + 'id': 'id', + }, + 'location_map': { + 'project_id': 'path', + 'id': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_projects_project_id_autotests_failure_categories_post_endpoint = _Endpoint( + settings={ + 'response_type': (ProjectDetailedFailureCategoryApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/autotests/failure-categories', + 'operation_id': 'api_v2_projects_project_id_autotests_failure_categories_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'api_v2_projects_project_id_autotests_failure_categories_post_request', + ], + 'required': [ + 'project_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'api_v2_projects_project_id_autotests_failure_categories_post_request': + (ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + }, + 'location_map': { + 'project_id': 'path', + 'api_v2_projects_project_id_autotests_failure_categories_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_project_id_autotests_failure_categories_put_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/autotests/failure-categories', + 'operation_id': 'api_v2_projects_project_id_autotests_failure_categories_put', + 'http_method': 'PUT', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'api_v2_projects_project_id_autotests_failure_categories_put_request', + ], + 'required': [ + 'project_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'api_v2_projects_project_id_autotests_failure_categories_put_request': + (ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + }, + 'location_map': { + 'project_id': 'path', + 'api_v2_projects_project_id_autotests_failure_categories_put_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def api_v2_projects_project_id_autotests_failure_categories_grouping_search_post( + self, + project_id, + **kwargs + ): + """Get failure categories with support for filtering, sorting and grouping # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_autotests_failure_categories_grouping_search_post(project_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_autotests_result_reasons_grouping_search_post_request (ApiV2AutotestsResultReasonsGroupingSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ProjectFailureCategoryGroupItemApiResultReply + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + return self.api_v2_projects_project_id_autotests_failure_categories_grouping_search_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_autotests_failure_categories_id_delete( + self, + project_id, + id, + **kwargs + ): + """Delete failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_autotests_failure_categories_id_delete(project_id, id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + kwargs['id'] = \ + id + return self.api_v2_projects_project_id_autotests_failure_categories_id_delete_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_autotests_failure_categories_id_get( + self, + project_id, + id, + **kwargs + ): + """Get failure category by ID # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_autotests_failure_categories_id_get(project_id, id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + id (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ProjectDetailedFailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + kwargs['id'] = \ + id + return self.api_v2_projects_project_id_autotests_failure_categories_id_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_autotests_failure_categories_post( + self, + project_id, + **kwargs + ): + """Create failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_autotests_failure_categories_post(project_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_projects_project_id_autotests_failure_categories_post_request (ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + ProjectDetailedFailureCategoryApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + return self.api_v2_projects_project_id_autotests_failure_categories_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_autotests_failure_categories_put( + self, + project_id, + **kwargs + ): + """Update failure category # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_autotests_failure_categories_put(project_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_projects_project_id_autotests_failure_categories_put_request (ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + return self.api_v2_projects_project_id_autotests_failure_categories_put_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/project_test_plan_attributes_api.py b/src/testit_api_client/api/project_test_plan_attributes_api.py index 5dd339c3..af35089d 100644 --- a/src/testit_api_client/api/project_test_plan_attributes_api.py +++ b/src/testit_api_client/api/project_test_plan_attributes_api.py @@ -21,7 +21,6 @@ none_type, validate_and_convert_types ) -from testit_api_client.model.custom_attribute_get_model import CustomAttributeGetModel from testit_api_client.model.custom_attribute_model import CustomAttributeModel from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.search_attributes_in_project_request import SearchAttributesInProjectRequest @@ -214,7 +213,7 @@ def __init__(self, api_client=None): ) self.search_test_plan_attributes_in_project_endpoint = _Endpoint( settings={ - 'response_type': ([CustomAttributeGetModel],), + 'response_type': ([CustomAttributeModel],), 'auth': [ 'PrivateToken', 'Identity.Application' @@ -663,7 +662,7 @@ def search_test_plan_attributes_in_project( async_req (bool): execute request asynchronously Returns: - [CustomAttributeGetModel] + [CustomAttributeModel] If the method is called asynchronously, returns the request thread. """ diff --git a/src/testit_api_client/api/project_test_plan_test_points_api.py b/src/testit_api_client/api/project_test_plan_test_points_api.py index 2e7e2f55..77fbe672 100644 --- a/src/testit_api_client/api/project_test_plan_test_points_api.py +++ b/src/testit_api_client/api/project_test_plan_test_points_api.py @@ -21,9 +21,14 @@ none_type, validate_and_convert_types ) +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.test_plan_test_points_analytics_api_result import TestPlanTestPointsAnalyticsApiResult +from testit_api_client.model.test_plan_test_points_group_search_api_result import TestPlanTestPointsGroupSearchApiResult from testit_api_client.model.test_run_name_api_result import TestRunNameApiResult from testit_api_client.model.validation_problem_details import ValidationProblemDetails @@ -39,6 +44,70 @@ def __init__(self, api_client=None): if api_client is None: api_client = ApiClient() self.api_client = api_client + self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_endpoint = _Endpoint( + settings={ + 'response_type': (TestPlanTestPointsAnalyticsApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/analytics', + 'operation_id': 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'test_plan_id', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request', + ], + 'required': [ + 'project_id', + 'test_plan_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'test_plan_id': + (str,), + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request': + (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + 'test_plan_id': 'testPlanId', + }, + 'location_map': { + 'project_id': 'path', + 'test_plan_id': 'path', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_endpoint = _Endpoint( settings={ 'response_type': None, @@ -167,6 +236,221 @@ def __init__(self, api_client=None): }, api_client=api_client ) + self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_endpoint = _Endpoint( + settings={ + 'response_type': (TestPlanTestPointsGroupSearchApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/grouping-search', + 'operation_id': 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'test_plan_id', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request', + ], + 'required': [ + 'project_id', + 'test_plan_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'test_plan_id': + (str,), + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request': + (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + 'test_plan_id': 'testPlanId', + }, + 'location_map': { + 'project_id': 'path', + 'test_plan_id': 'path', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/test-plans/{testPlanId}/test-points/testers', + 'operation_id': 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'test_plan_id', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request', + ], + 'required': [ + 'project_id', + 'test_plan_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'test_plan_id': + (str,), + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request': + (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + 'test_plan_id': 'testPlanId', + }, + 'location_map': { + 'project_id': 'path', + 'test_plan_id': 'path', + 'api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + + def api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post( + self, + project_id, + test_plan_id, + **kwargs + ): + """Get test points analytics. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post(project_id, test_plan_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + test_plan_id (str): + + Keyword Args: + api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + TestPlanTestPointsAnalyticsApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + kwargs['test_plan_id'] = \ + test_plan_id + return self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_endpoint.call_with_http_info(**kwargs) def api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post( self, @@ -342,3 +626,177 @@ def api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run test_plan_id return self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_endpoint.call_with_http_info(**kwargs) + def api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post( + self, + project_id, + test_plan_id, + **kwargs + ): + """Search test points in test plan. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post(project_id, test_plan_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + test_plan_id (str): + + Keyword Args: + api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + TestPlanTestPointsGroupSearchApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + kwargs['test_plan_id'] = \ + test_plan_id + return self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post( + self, + project_id, + test_plan_id, + **kwargs + ): + """Distribute test points between the users. # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post(project_id, test_plan_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + test_plan_id (str): + + Keyword Args: + api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request (ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + kwargs['test_plan_id'] = \ + test_plan_id + return self.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api/project_work_items_api.py b/src/testit_api_client/api/project_work_items_api.py index c93535b3..04d88179 100644 --- a/src/testit_api_client/api/project_work_items_api.py +++ b/src/testit_api_client/api/project_work_items_api.py @@ -21,9 +21,12 @@ none_type, validate_and_convert_types ) +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_bulk_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_grouped_post_request import ApiV2ProjectsProjectIdWorkItemsSearchGroupedPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_id_post_request import ApiV2ProjectsProjectIdWorkItemsSearchIdPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_post_request import ApiV2ProjectsProjectIdWorkItemsSearchPostRequest +from testit_api_client.model.generate_work_item_previews_api_result import GenerateWorkItemPreviewsApiResult from testit_api_client.model.problem_details import ProblemDetails from testit_api_client.model.tag_short_api_result import TagShortApiResult from testit_api_client.model.validation_problem_details import ValidationProblemDetails @@ -44,6 +47,122 @@ def __init__(self, api_client=None): if api_client is None: api_client = ApiClient() self.api_client = api_client + self.api_v2_projects_project_id_work_items_previews_bulk_post_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/work-items/previews/bulk', + 'operation_id': 'api_v2_projects_project_id_work_items_previews_bulk_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'api_v2_projects_project_id_work_items_previews_bulk_post_request', + ], + 'required': [ + 'project_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'api_v2_projects_project_id_work_items_previews_bulk_post_request': + (ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + }, + 'location_map': { + 'project_id': 'path', + 'api_v2_projects_project_id_work_items_previews_bulk_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) + self.api_v2_projects_project_id_work_items_previews_post_endpoint = _Endpoint( + settings={ + 'response_type': (GenerateWorkItemPreviewsApiResult,), + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/projects/{projectId}/work-items/previews', + 'operation_id': 'api_v2_projects_project_id_work_items_previews_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'project_id', + 'api_v2_projects_project_id_work_items_previews_post_request', + ], + 'required': [ + 'project_id', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + ] + }, + root_map={ + 'validations': { + }, + 'allowed_values': { + }, + 'openapi_types': { + 'project_id': + (str,), + 'api_v2_projects_project_id_work_items_previews_post_request': + (ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest,), + }, + 'attribute_map': { + 'project_id': 'projectId', + }, + 'location_map': { + 'project_id': 'path', + 'api_v2_projects_project_id_work_items_previews_post_request': 'body', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [ + 'application/json' + ] + }, + api_client=api_client + ) self.api_v2_projects_project_id_work_items_search_grouped_post_endpoint = _Endpoint( settings={ 'response_type': ([WorkItemGroupModel],), @@ -533,6 +652,172 @@ def __init__(self, api_client=None): api_client=api_client ) + def api_v2_projects_project_id_work_items_previews_bulk_post( + self, + project_id, + **kwargs + ): + """api_v2_projects_project_id_work_items_previews_bulk_post # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_work_items_previews_bulk_post(project_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_projects_project_id_work_items_previews_bulk_post_request (ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + return self.api_v2_projects_project_id_work_items_previews_bulk_post_endpoint.call_with_http_info(**kwargs) + + def api_v2_projects_project_id_work_items_previews_post( + self, + project_id, + **kwargs + ): + """api_v2_projects_project_id_work_items_previews_post # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_projects_project_id_work_items_previews_post(project_id, async_req=True) + >>> result = thread.get() + + Args: + project_id (str): Internal (UUID) or global (integer) identifier + + Keyword Args: + api_v2_projects_project_id_work_items_previews_post_request (ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest): [optional] + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + GenerateWorkItemPreviewsApiResult + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['project_id'] = \ + project_id + return self.api_v2_projects_project_id_work_items_previews_post_endpoint.call_with_http_info(**kwargs) + def api_v2_projects_project_id_work_items_search_grouped_post( self, project_id, diff --git a/src/testit_api_client/api/user_storages_api.py b/src/testit_api_client/api/user_storages_api.py new file mode 100644 index 00000000..2c50f750 --- /dev/null +++ b/src/testit_api_client/api/user_storages_api.py @@ -0,0 +1,315 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.api_client import ApiClient, Endpoint as _Endpoint +from testit_api_client.model_utils import ( # noqa: F401 + check_allowed_values, + check_validations, + date, + datetime, + file_type, + none_type, + validate_and_convert_types +) +from testit_api_client.model.problem_details import ProblemDetails +from testit_api_client.model.validation_problem_details import ValidationProblemDetails + + +class UserStoragesApi(object): + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient() + self.api_client = api_client + self.api_v2_user_storages_resource_get_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/user-storages/{resource}', + 'operation_id': 'api_v2_user_storages_resource_get', + 'http_method': 'GET', + 'servers': None, + }, + params_map={ + 'all': [ + 'resource', + ], + 'required': [ + 'resource', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + 'resource', + ] + }, + root_map={ + 'validations': { + ('resource',): { + 'max_length': 128, + }, + }, + 'allowed_values': { + }, + 'openapi_types': { + 'resource': + (str,), + }, + 'attribute_map': { + 'resource': 'resource', + }, + 'location_map': { + 'resource': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + self.api_v2_user_storages_resource_post_endpoint = _Endpoint( + settings={ + 'response_type': None, + 'auth': [ + 'PrivateToken', + 'Identity.Application' + ], + 'endpoint_path': '/api/v2/user-storages/{resource}', + 'operation_id': 'api_v2_user_storages_resource_post', + 'http_method': 'POST', + 'servers': None, + }, + params_map={ + 'all': [ + 'resource', + ], + 'required': [ + 'resource', + ], + 'nullable': [ + ], + 'enum': [ + ], + 'validation': [ + 'resource', + ] + }, + root_map={ + 'validations': { + ('resource',): { + 'max_length': 128, + }, + }, + 'allowed_values': { + }, + 'openapi_types': { + 'resource': + (str,), + }, + 'attribute_map': { + 'resource': 'resource', + }, + 'location_map': { + 'resource': 'path', + }, + 'collection_format_map': { + } + }, + headers_map={ + 'accept': [ + 'application/json' + ], + 'content_type': [], + }, + api_client=api_client + ) + + def api_v2_user_storages_resource_get( + self, + resource, + **kwargs + ): + """api_v2_user_storages_resource_get # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_user_storages_resource_get(resource, async_req=True) + >>> result = thread.get() + + Args: + resource (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['resource'] = \ + resource + return self.api_v2_user_storages_resource_get_endpoint.call_with_http_info(**kwargs) + + def api_v2_user_storages_resource_post( + self, + resource, + **kwargs + ): + """api_v2_user_storages_resource_post # noqa: E501 + + This method makes a synchronous HTTP request by default. To make an + asynchronous HTTP request, please pass async_req=True + + >>> thread = api.api_v2_user_storages_resource_post(resource, async_req=True) + >>> result = thread.get() + + Args: + resource (str): + + Keyword Args: + _return_http_data_only (bool): response data without head status + code and headers. Default is True. + _preload_content (bool): if False, the urllib3.HTTPResponse object + will be returned without reading/decoding response data. + Default is True. + _request_timeout (int/float/tuple): timeout setting for this request. If + one number provided, it will be total request timeout. It can also + be a pair (tuple) of (connection, read) timeouts. + Default is None. + _check_input_type (bool): specifies if type checking + should be done one the data sent to the server. + Default is True. + _check_return_type (bool): specifies if type checking + should be done one the data received from the server. + Default is True. + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _content_type (str/None): force body content-type. + Default is None and content-type will be predicted by allowed + content-types and body. + _host_index (int/None): specifies the index of the server + that we want to use. + Default is read from the configuration. + _request_auths (list): set to override the auth_settings for an a single + request; this effectively ignores the authentication + in the spec for a single request. + Default is None + async_req (bool): execute request asynchronously + + Returns: + None + If the method is called asynchronously, returns the request + thread. + """ + kwargs['async_req'] = kwargs.get( + 'async_req', False + ) + kwargs['_return_http_data_only'] = kwargs.get( + '_return_http_data_only', True + ) + kwargs['_preload_content'] = kwargs.get( + '_preload_content', True + ) + kwargs['_request_timeout'] = kwargs.get( + '_request_timeout', None + ) + kwargs['_check_input_type'] = kwargs.get( + '_check_input_type', True + ) + kwargs['_check_return_type'] = kwargs.get( + '_check_return_type', True + ) + kwargs['_spec_property_naming'] = kwargs.get( + '_spec_property_naming', False + ) + kwargs['_content_type'] = kwargs.get( + '_content_type') + kwargs['_host_index'] = kwargs.get('_host_index') + kwargs['_request_auths'] = kwargs.get('_request_auths', None) + kwargs['resource'] = \ + resource + return self.api_v2_user_storages_resource_post_endpoint.call_with_http_info(**kwargs) + diff --git a/src/testit_api_client/api_client.py b/src/testit_api_client/api_client.py index 05668a4c..eeeaf9d9 100644 --- a/src/testit_api_client/api_client.py +++ b/src/testit_api_client/api_client.py @@ -76,7 +76,7 @@ def __init__(self, configuration=None, header_name=None, header_value=None, self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/7.5.11/python' + self.user_agent = 'OpenAPI-Generator/7.6.0/python' def __enter__(self): return self @@ -803,11 +803,11 @@ def __call__(self, *args, **kwargs): """ This method is invoked when endpoints are called Example: - api_instance = AttachmentsApi() - api_instance.api_v2_attachments_id_delete # this is an instance of the class Endpoint - api_instance.api_v2_attachments_id_delete() # this invokes api_instance.api_v2_attachments_id_delete.__call__() + api_instance = AIServicesAPIApi() + api_instance.api_v2_external_services_id_ai_models_post # this is an instance of the class Endpoint + api_instance.api_v2_external_services_id_ai_models_post() # this invokes api_instance.api_v2_external_services_id_ai_models_post.__call__() which then invokes the callable functions stored in that endpoint at - api_instance.api_v2_attachments_id_delete.callable or self.callable in this class + api_instance.api_v2_external_services_id_ai_models_post.callable or self.callable in this class """ return self.callable(self, *args, **kwargs) diff --git a/src/testit_api_client/apis/__init__.py b/src/testit_api_client/apis/__init__.py index 35bae8f3..15a6f741 100644 --- a/src/testit_api_client/apis/__init__.py +++ b/src/testit_api_client/apis/__init__.py @@ -6,7 +6,7 @@ # raise a `RecursionError`. # In order to avoid this, import only the API that you directly need like: # -# from testit_api_client.api.attachments_api import AttachmentsApi +# from testit_api_client.api.ai_services_api_api import AIServicesAPIApi # # or import this package, but before doing it, use: # @@ -14,6 +14,7 @@ # sys.setrecursionlimit(n) # Import APIs into API package: +from testit_api_client.api.ai_services_api_api import AIServicesAPIApi from testit_api_client.api.attachments_api import AttachmentsApi from testit_api_client.api.auto_tests_api import AutoTestsApi from testit_api_client.api.background_jobs_api import BackgroundJobsApi @@ -21,12 +22,16 @@ from testit_api_client.api.custom_attribute_templates_api import CustomAttributeTemplatesApi from testit_api_client.api.custom_attributes_api import CustomAttributesApi from testit_api_client.api.external_issues_api import ExternalIssuesApi +from testit_api_client.api.external_services_api import ExternalServicesApi +from testit_api_client.api.failure_categories_api import FailureCategoriesApi from testit_api_client.api.notifications_api import NotificationsApi from testit_api_client.api.open_id_connections_api import OpenIdConnectionsApi from testit_api_client.api.parameters_api import ParametersApi from testit_api_client.api.project_attribute_templates_api import ProjectAttributeTemplatesApi from testit_api_client.api.project_attributes_api import ProjectAttributesApi from testit_api_client.api.project_configurations_api import ProjectConfigurationsApi +from testit_api_client.api.project_external_services_api import ProjectExternalServicesApi +from testit_api_client.api.project_failure_categories_api import ProjectFailureCategoriesApi from testit_api_client.api.project_sections_api import ProjectSectionsApi from testit_api_client.api.project_settings_api import ProjectSettingsApi from testit_api_client.api.project_test_plan_attributes_api import ProjectTestPlanAttributesApi @@ -42,6 +47,7 @@ from testit_api_client.api.test_runs_api import TestRunsApi from testit_api_client.api.test_statuses_api import TestStatusesApi from testit_api_client.api.test_suites_api import TestSuitesApi +from testit_api_client.api.user_storages_api import UserStoragesApi from testit_api_client.api.users_api import UsersApi from testit_api_client.api.webhooks_api import WebhooksApi from testit_api_client.api.webhooks_logs_api import WebhooksLogsApi diff --git a/src/testit_api_client/configuration.py b/src/testit_api_client/configuration.py index bf3f86bd..5f7d5f04 100644 --- a/src/testit_api_client/configuration.py +++ b/src/testit_api_client/configuration.py @@ -422,7 +422,7 @@ def to_debug_report(self): "OS: {env}\n"\ "Python Version: {pyversion}\n"\ "Version of the API: v2.0\n"\ - "SDK Package Version: 7.5.11".\ + "SDK Package Version: 7.6.0".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self): diff --git a/src/testit_api_client/model/custom_attribute_get_model.py b/src/testit_api_client/model/ai_service_model_api_result_count_reply.py similarity index 77% rename from src/testit_api_client/model/custom_attribute_get_model.py rename to src/testit_api_client/model/ai_service_model_api_result_count_reply.py index 072046b3..08039ea7 100644 --- a/src/testit_api_client/model/custom_attribute_get_model.py +++ b/src/testit_api_client/model/ai_service_model_api_result_count_reply.py @@ -29,14 +29,8 @@ from testit_api_client.exceptions import ApiAttributeError -def lazy_import(): - from testit_api_client.model.custom_attribute_option_model import CustomAttributeOptionModel - from testit_api_client.model.custom_attribute_types_enum import CustomAttributeTypesEnum - globals()['CustomAttributeOptionModel'] = CustomAttributeOptionModel - globals()['CustomAttributeTypesEnum'] = CustomAttributeTypesEnum - -class CustomAttributeGetModel(ModelNormal): +class AIServiceModelApiResultCountReply(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -80,16 +74,8 @@ def openapi_types(): openapi_types (dict): The key is attribute name and the value is attribute type. """ - lazy_import() return { - 'id': (str,), # noqa: E501 - 'options': ([CustomAttributeOptionModel],), # noqa: E501 - 'type': (CustomAttributeTypesEnum,), # noqa: E501 - 'is_deleted': (bool,), # noqa: E501 - 'name': (str,), # noqa: E501 - 'is_enabled': (bool,), # noqa: E501 - 'is_required': (bool,), # noqa: E501 - 'is_global': (bool,), # noqa: E501 + 'total_count': (int,), # noqa: E501 } @cached_property @@ -98,14 +84,7 @@ def discriminator(): attribute_map = { - 'id': 'id', # noqa: E501 - 'options': 'options', # noqa: E501 - 'type': 'type', # noqa: E501 - 'is_deleted': 'isDeleted', # noqa: E501 - 'name': 'name', # noqa: E501 - 'is_enabled': 'isEnabled', # noqa: E501 - 'is_required': 'isRequired', # noqa: E501 - 'is_global': 'isGlobal', # noqa: E501 + 'total_count': 'totalCount', # noqa: E501 } read_only_vars = { @@ -115,18 +94,11 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 - """CustomAttributeGetModel - a model defined in OpenAPI + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultCountReply - a model defined in OpenAPI Args: - id (str): Unique ID of the attribute - options ([CustomAttributeOptionModel]): Collection of the attribute options - type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - name (str): Name of the attribute - is_enabled (bool): Indicates if the attribute is enabled - is_required (bool): Indicates if the attribute is mandatory to specify - is_global (bool): Indicates if the attribute is available across all projects + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -190,14 +162,7 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.id = id - self.options = options - self.type = type - self.is_deleted = is_deleted - self.name = name - self.is_enabled = is_enabled - self.is_required = is_required - self.is_global = is_global + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -218,18 +183,11 @@ def _from_openapi_data(cls, id, options, type, is_deleted, name, is_enabled, is_ ]) @convert_js_args_to_python_args - def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 - """CustomAttributeGetModel - a model defined in OpenAPI + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """AIServiceModelApiResultCountReply - a model defined in OpenAPI Args: - id (str): Unique ID of the attribute - options ([CustomAttributeOptionModel]): Collection of the attribute options - type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - name (str): Name of the attribute - is_enabled (bool): Indicates if the attribute is enabled - is_required (bool): Indicates if the attribute is mandatory to specify - is_global (bool): Indicates if the attribute is available across all projects + total_count (int): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -291,14 +249,7 @@ def __init__(self, id, options, type, is_deleted, name, is_enabled, is_required, self._configuration = _configuration self._visited_composed_classes = _visited_composed_classes + (self.__class__,) - self.id = id - self.options = options - self.type = type - self.is_deleted = is_deleted - self.name = name - self.is_enabled = is_enabled - self.is_required = is_required - self.is_global = is_global + self.total_count = total_count for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/ai_service_model_api_result_i_reply.py b/src/testit_api_client/model/ai_service_model_api_result_i_reply.py index 11f68f1a..8d0abd31 100644 --- a/src/testit_api_client/model/ai_service_model_api_result_i_reply.py +++ b/src/testit_api_client/model/ai_service_model_api_result_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.ai_service_model_api_result import AIServiceModelApiResult + from testit_api_client.model.ai_service_model_api_result_count_reply import AIServiceModelApiResultCountReply from testit_api_client.model.ai_service_model_api_result_group import AIServiceModelApiResultGroup from testit_api_client.model.ai_service_model_api_result_grouped_reply import AIServiceModelApiResultGroupedReply from testit_api_client.model.ai_service_model_api_result_reply import AIServiceModelApiResultReply globals()['AIServiceModelApiResult'] = AIServiceModelApiResult + globals()['AIServiceModelApiResultCountReply'] = AIServiceModelApiResultCountReply globals()['AIServiceModelApiResultGroup'] = AIServiceModelApiResultGroup globals()['AIServiceModelApiResultGroupedReply'] = AIServiceModelApiResultGroupedReply globals()['AIServiceModelApiResultReply'] = AIServiceModelApiResultReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + AIServiceModelApiResultCountReply, AIServiceModelApiResultGroupedReply, AIServiceModelApiResultReply, ], diff --git a/src/testit_api_client/model/api_v2_autotests_result_reasons_grouping_search_post_request.py b/src/testit_api_client/model/api_v2_autotests_result_reasons_grouping_search_post_request.py new file mode 100644 index 00000000..44deb7f9 --- /dev/null +++ b/src/testit_api_client/model/api_v2_autotests_result_reasons_grouping_search_post_request.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.failure_category_group_search_api_model import FailureCategoryGroupSearchApiModel + from testit_api_client.model.failure_category_group_search_api_model_group import FailureCategoryGroupSearchApiModelGroup + from testit_api_client.model.failure_category_group_search_api_model_inquiry import FailureCategoryGroupSearchApiModelInquiry + globals()['FailureCategoryGroupSearchApiModel'] = FailureCategoryGroupSearchApiModel + globals()['FailureCategoryGroupSearchApiModelGroup'] = FailureCategoryGroupSearchApiModelGroup + globals()['FailureCategoryGroupSearchApiModelInquiry'] = FailureCategoryGroupSearchApiModelInquiry + + +class ApiV2AutotestsResultReasonsGroupingSearchPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'inquiry': (FailureCategoryGroupSearchApiModelInquiry,), # noqa: E501 + 'group': (FailureCategoryGroupSearchApiModelGroup,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'inquiry': 'inquiry', # noqa: E501 + 'group': 'group', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsGroupingSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + inquiry (FailureCategoryGroupSearchApiModelInquiry): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + group (FailureCategoryGroupSearchApiModelGroup): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsGroupingSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + inquiry (FailureCategoryGroupSearchApiModelInquiry): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + group (FailureCategoryGroupSearchApiModelGroup): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + FailureCategoryGroupSearchApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_autotests_result_reasons_post_request.py b/src/testit_api_client/model/api_v2_autotests_result_reasons_post_request.py new file mode 100644 index 00000000..1e969eb3 --- /dev/null +++ b/src/testit_api_client/model/api_v2_autotests_result_reasons_post_request.py @@ -0,0 +1,338 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.create_failure_category_api_model import CreateFailureCategoryApiModel + from testit_api_client.model.create_failure_class_regex_api_model import CreateFailureClassRegexApiModel + from testit_api_client.model.failure_category import FailureCategory + globals()['CreateFailureCategoryApiModel'] = CreateFailureCategoryApiModel + globals()['CreateFailureClassRegexApiModel'] = CreateFailureClassRegexApiModel + globals()['FailureCategory'] = FailureCategory + + +class ApiV2AutotestsResultReasonsPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('name',): { + 'min_length': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'name': (str,), # noqa: E501 + 'failure_category': (FailureCategory,), # noqa: E501 + 'failure_class_regexes': ([CreateFailureClassRegexApiModel], none_type,), # noqa: E501 + 'project_ids': ([str], none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'name': 'name', # noqa: E501 + 'failure_category': 'failureCategory', # noqa: E501 + 'failure_class_regexes': 'failureClassRegexes', # noqa: E501 + 'project_ids': 'projectIds', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsPostRequest - a model defined in OpenAPI + + Keyword Args: + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([CreateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + project_ids ([str], none_type): Projects identifiers. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsPostRequest - a model defined in OpenAPI + + Keyword Args: + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([CreateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + project_ids ([str], none_type): Projects identifiers. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + CreateFailureCategoryApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_autotests_result_reasons_put_request.py b/src/testit_api_client/model/api_v2_autotests_result_reasons_put_request.py new file mode 100644 index 00000000..0f823077 --- /dev/null +++ b/src/testit_api_client/model/api_v2_autotests_result_reasons_put_request.py @@ -0,0 +1,342 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.failure_category import FailureCategory + from testit_api_client.model.update_failure_category_api_model import UpdateFailureCategoryApiModel + from testit_api_client.model.update_failure_class_regex_api_model import UpdateFailureClassRegexApiModel + globals()['FailureCategory'] = FailureCategory + globals()['UpdateFailureCategoryApiModel'] = UpdateFailureCategoryApiModel + globals()['UpdateFailureClassRegexApiModel'] = UpdateFailureClassRegexApiModel + + +class ApiV2AutotestsResultReasonsPutRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('name',): { + 'min_length': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'id': (str,), # noqa: E501 + 'name': (str,), # noqa: E501 + 'failure_category': (FailureCategory,), # noqa: E501 + 'failure_class_regexes': ([UpdateFailureClassRegexApiModel], none_type,), # noqa: E501 + 'project_ids': ([str], none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'name': 'name', # noqa: E501 + 'failure_category': 'failureCategory', # noqa: E501 + 'failure_class_regexes': 'failureClassRegexes', # noqa: E501 + 'project_ids': 'projectIds', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsPutRequest - a model defined in OpenAPI + + Keyword Args: + id (str): Failure category identifier + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([UpdateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + project_ids ([str], none_type): Projects identifiers. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsPutRequest - a model defined in OpenAPI + + Keyword Args: + id (str): Failure category identifier + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([UpdateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + project_ids ([str], none_type): Projects identifiers. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + UpdateFailureCategoryApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_autotests_result_reasons_search_post_request.py b/src/testit_api_client/model/api_v2_autotests_result_reasons_search_post_request.py new file mode 100644 index 00000000..d3c54057 --- /dev/null +++ b/src/testit_api_client/model/api_v2_autotests_result_reasons_search_post_request.py @@ -0,0 +1,341 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.autotest_result_reason_filter_model import AutotestResultReasonFilterModel + from testit_api_client.model.available_failure_category import AvailableFailureCategory + from testit_api_client.model.int32_range_selector_model import Int32RangeSelectorModel + globals()['AutotestResultReasonFilterModel'] = AutotestResultReasonFilterModel + globals()['AvailableFailureCategory'] = AvailableFailureCategory + globals()['Int32RangeSelectorModel'] = Int32RangeSelectorModel + + +class ApiV2AutotestsResultReasonsSearchPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('failure_categories',): { + }, + ('name',): { + 'max_length': 255, + 'min_length': 0, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'failure_categories': ([AvailableFailureCategory], none_type,), # noqa: E501 + 'name': (str, none_type,), # noqa: E501 + 'regex_count': (Int32RangeSelectorModel,), # noqa: E501 + 'is_deleted': (bool, none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'failure_categories': 'failureCategories', # noqa: E501 + 'name': 'name', # noqa: E501 + 'regex_count': 'regexCount', # noqa: E501 + 'is_deleted': 'isDeleted', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_categories ([AvailableFailureCategory], none_type): [optional] # noqa: E501 + name (str, none_type): [optional] # noqa: E501 + regex_count (Int32RangeSelectorModel): [optional] # noqa: E501 + is_deleted (bool, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2AutotestsResultReasonsSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_categories ([AvailableFailureCategory], none_type): [optional] # noqa: E501 + name (str, none_type): [optional] # noqa: E501 + regex_count (Int32RangeSelectorModel): [optional] # noqa: E501 + is_deleted (bool, none_type): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + AutotestResultReasonFilterModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_external_services_id_ai_models_post_request.py b/src/testit_api_client/model/api_v2_external_services_id_ai_models_post_request.py new file mode 100644 index 00000000..0ae4b1ae --- /dev/null +++ b/src/testit_api_client/model/api_v2_external_services_id_ai_models_post_request.py @@ -0,0 +1,321 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.get_ai_service_models_api_model import GetAIServiceModelsApiModel + from testit_api_client.model.inquiry import Inquiry + globals()['GetAIServiceModelsApiModel'] = GetAIServiceModelsApiModel + globals()['Inquiry'] = Inquiry + + +class ApiV2ExternalServicesIdAiModelsPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'inquiry': (Inquiry,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'inquiry': 'inquiry', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ExternalServicesIdAiModelsPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + inquiry (Inquiry): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ExternalServicesIdAiModelsPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + inquiry (Inquiry): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + GetAIServiceModelsApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_patch_request.py b/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_patch_request.py new file mode 100644 index 00000000..bf4d706f --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_patch_request.py @@ -0,0 +1,323 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.replace_project_external_service_api_model import ReplaceProjectExternalServiceApiModel + globals()['ReplaceProjectExternalServiceApiModel'] = ReplaceProjectExternalServiceApiModel + + +class ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'new_external_service_id': (str,), # noqa: E501 + 'settings': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'new_external_service_id': 'newExternalServiceId', # noqa: E501 + 'settings': 'settings', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest - a model defined in OpenAPI + + Keyword Args: + new_external_service_id (str): The unique ID of the new external service that will replace the current one + settings (bool, date, datetime, dict, float, int, list, str, none_type): External service settings + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest - a model defined in OpenAPI + + Keyword Args: + new_external_service_id (str): The unique ID of the new external service that will replace the current one + settings (bool, date, datetime, dict, float, int, list, str, none_type): External service settings + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + ReplaceProjectExternalServiceApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_put_request.py b/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_put_request.py new file mode 100644 index 00000000..eae92a2e --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_id_external_services_external_service_id_put_request.py @@ -0,0 +1,319 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.enable_project_external_service_api_model import EnableProjectExternalServiceApiModel + globals()['EnableProjectExternalServiceApiModel'] = EnableProjectExternalServiceApiModel + + +class ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'settings': (bool, date, datetime, dict, float, int, list, str, none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'settings': 'settings', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest - a model defined in OpenAPI + + Keyword Args: + settings (bool, date, datetime, dict, float, int, list, str, none_type): External service settings + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest - a model defined in OpenAPI + + Keyword Args: + settings (bool, date, datetime, dict, float, int, list, str, none_type): External service settings + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + EnableProjectExternalServiceApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_id_external_services_issues_search_post_request.py b/src/testit_api_client/model/api_v2_projects_id_external_services_issues_search_post_request.py new file mode 100644 index 00000000..1b708886 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_id_external_services_issues_search_post_request.py @@ -0,0 +1,322 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.search_external_issues_api_model import SearchExternalIssuesApiModel + globals()['SearchExternalIssuesApiModel'] = SearchExternalIssuesApiModel + + +class ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('url',): { + 'min_length': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'url': (str,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'url': 'url', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + url (str): Url of external issue + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + url (str): Url of external issue + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + SearchExternalIssuesApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_post_request.py new file mode 100644 index 00000000..baa80064 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_post_request.py @@ -0,0 +1,334 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.create_failure_class_regex_api_model import CreateFailureClassRegexApiModel + from testit_api_client.model.create_project_failure_category_api_model import CreateProjectFailureCategoryApiModel + from testit_api_client.model.failure_category import FailureCategory + globals()['CreateFailureClassRegexApiModel'] = CreateFailureClassRegexApiModel + globals()['CreateProjectFailureCategoryApiModel'] = CreateProjectFailureCategoryApiModel + globals()['FailureCategory'] = FailureCategory + + +class ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('name',): { + 'min_length': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'name': (str,), # noqa: E501 + 'failure_category': (FailureCategory,), # noqa: E501 + 'failure_class_regexes': ([CreateFailureClassRegexApiModel], none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'name': 'name', # noqa: E501 + 'failure_category': 'failureCategory', # noqa: E501 + 'failure_class_regexes': 'failureClassRegexes', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest - a model defined in OpenAPI + + Keyword Args: + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([CreateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest - a model defined in OpenAPI + + Keyword Args: + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([CreateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + CreateProjectFailureCategoryApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_put_request.py b/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_put_request.py new file mode 100644 index 00000000..587a2362 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_autotests_failure_categories_put_request.py @@ -0,0 +1,338 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.failure_category import FailureCategory + from testit_api_client.model.update_failure_category_project_api_model import UpdateFailureCategoryProjectApiModel + from testit_api_client.model.update_failure_class_regex_api_model import UpdateFailureClassRegexApiModel + globals()['FailureCategory'] = FailureCategory + globals()['UpdateFailureCategoryProjectApiModel'] = UpdateFailureCategoryProjectApiModel + globals()['UpdateFailureClassRegexApiModel'] = UpdateFailureClassRegexApiModel + + +class ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('name',): { + 'min_length': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'id': (str,), # noqa: E501 + 'name': (str,), # noqa: E501 + 'failure_category': (FailureCategory,), # noqa: E501 + 'failure_class_regexes': ([UpdateFailureClassRegexApiModel], none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'id': 'id', # noqa: E501 + 'name': 'name', # noqa: E501 + 'failure_category': 'failureCategory', # noqa: E501 + 'failure_class_regexes': 'failureClassRegexes', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest - a model defined in OpenAPI + + Keyword Args: + id (str): Failure category identifier + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([UpdateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest - a model defined in OpenAPI + + Keyword Args: + id (str): Failure category identifier + name (str): Failure category name + failure_category (FailureCategory): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + failure_class_regexes ([UpdateFailureClassRegexApiModel], none_type): Failure category regexes. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + UpdateFailureCategoryProjectApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request.py new file mode 100644 index 00000000..10b41def --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request.py @@ -0,0 +1,327 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.test_plan_test_points_analytics_api_model import TestPlanTestPointsAnalyticsApiModel + from testit_api_client.model.test_plan_test_points_extraction_api_model import TestPlanTestPointsExtractionApiModel + from testit_api_client.model.test_plan_test_points_search_api_model import TestPlanTestPointsSearchApiModel + globals()['TestPlanTestPointsAnalyticsApiModel'] = TestPlanTestPointsAnalyticsApiModel + globals()['TestPlanTestPointsExtractionApiModel'] = TestPlanTestPointsExtractionApiModel + globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel + + +class ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501 + 'extraction_model': (TestPlanTestPointsExtractionApiModel,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'filter': 'filter', # noqa: E501 + 'extraction_model': 'extractionModel', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + extraction_model (TestPlanTestPointsExtractionApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + extraction_model (TestPlanTestPointsExtractionApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + TestPlanTestPointsAnalyticsApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request.py new file mode 100644 index 00000000..6ed206f6 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request.py @@ -0,0 +1,333 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.test_plan_test_points_api_model import TestPlanTestPointsApiModel + from testit_api_client.model.test_plan_test_points_group_api_model import TestPlanTestPointsGroupApiModel + from testit_api_client.model.test_plan_test_points_inquiry_api_model import TestPlanTestPointsInquiryApiModel + from testit_api_client.model.test_plan_test_points_search_api_model import TestPlanTestPointsSearchApiModel + globals()['TestPlanTestPointsApiModel'] = TestPlanTestPointsApiModel + globals()['TestPlanTestPointsGroupApiModel'] = TestPlanTestPointsGroupApiModel + globals()['TestPlanTestPointsInquiryApiModel'] = TestPlanTestPointsInquiryApiModel + globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel + + +class ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501 + 'group': (TestPlanTestPointsGroupApiModel,), # noqa: E501 + 'inquiry': (TestPlanTestPointsInquiryApiModel,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'filter': 'filter', # noqa: E501 + 'group': 'group', # noqa: E501 + 'inquiry': 'inquiry', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + group (TestPlanTestPointsGroupApiModel): [optional] # noqa: E501 + inquiry (TestPlanTestPointsInquiryApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest - a model defined in OpenAPI + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + group (TestPlanTestPointsGroupApiModel): [optional] # noqa: E501 + inquiry (TestPlanTestPointsInquiryApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + TestPlanTestPointsApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request.py new file mode 100644 index 00000000..12338ca7 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request.py @@ -0,0 +1,334 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.test_plan_test_points_extraction_api_model import TestPlanTestPointsExtractionApiModel + from testit_api_client.model.test_plan_test_points_search_api_model import TestPlanTestPointsSearchApiModel + from testit_api_client.model.test_plan_test_points_set_testers_api_model import TestPlanTestPointsSetTestersApiModel + globals()['TestPlanTestPointsExtractionApiModel'] = TestPlanTestPointsExtractionApiModel + globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel + globals()['TestPlanTestPointsSetTestersApiModel'] = TestPlanTestPointsSetTestersApiModel + + +class ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('tester_ids',): { + 'min_items': 1, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'tester_ids': ([str],), # noqa: E501 + 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501 + 'extraction_model': (TestPlanTestPointsExtractionApiModel,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'tester_ids': 'testerIds', # noqa: E501 + 'filter': 'filter', # noqa: E501 + 'extraction_model': 'extractionModel', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest - a model defined in OpenAPI + + Keyword Args: + tester_ids ([str]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + extraction_model (TestPlanTestPointsExtractionApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest - a model defined in OpenAPI + + Keyword Args: + tester_ids ([str]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + filter (TestPlanTestPointsSearchApiModel): [optional] # noqa: E501 + extraction_model (TestPlanTestPointsExtractionApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + TestPlanTestPointsSetTestersApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_bulk_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_bulk_post_request.py new file mode 100644 index 00000000..475acb37 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_bulk_post_request.py @@ -0,0 +1,335 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.create_work_item_previews_api_model import CreateWorkItemPreviewsApiModel + from testit_api_client.model.previews_issue_link_api_model import PreviewsIssueLinkApiModel + from testit_api_client.model.work_item_preview_api_model import WorkItemPreviewApiModel + globals()['CreateWorkItemPreviewsApiModel'] = CreateWorkItemPreviewsApiModel + globals()['PreviewsIssueLinkApiModel'] = PreviewsIssueLinkApiModel + globals()['WorkItemPreviewApiModel'] = WorkItemPreviewApiModel + + +class ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'section_id': (str,), # noqa: E501 + 'previews': ([WorkItemPreviewApiModel],), # noqa: E501 + 'attributes': ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type,), # noqa: E501 + 'link': (PreviewsIssueLinkApiModel,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'section_id': 'sectionId', # noqa: E501 + 'previews': 'previews', # noqa: E501 + 'attributes': 'attributes', # noqa: E501 + 'link': 'link', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest - a model defined in OpenAPI + + Keyword Args: + section_id (str): + previews ([WorkItemPreviewApiModel]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + link (PreviewsIssueLinkApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest - a model defined in OpenAPI + + Keyword Args: + section_id (str): + previews ([WorkItemPreviewApiModel]): + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + attributes ({str: (bool, date, datetime, dict, float, int, list, str, none_type)}, none_type): [optional] # noqa: E501 + link (PreviewsIssueLinkApiModel): [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + CreateWorkItemPreviewsApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_post_request.py new file mode 100644 index 00000000..8bc5df63 --- /dev/null +++ b/src/testit_api_client/model/api_v2_projects_project_id_work_items_previews_post_request.py @@ -0,0 +1,351 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + +def lazy_import(): + from testit_api_client.model.generate_work_item_previews_api_model import GenerateWorkItemPreviewsApiModel + globals()['GenerateWorkItemPreviewsApiModel'] = GenerateWorkItemPreviewsApiModel + + +class ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest(ModelComposed): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + ('temperature',): { + 'inclusive_maximum': 1, + 'inclusive_minimum': 0, + }, + ('preview_limit',): { + 'inclusive_maximum': 30, + 'inclusive_minimum': 1, + }, + ('issue_key',): { + 'max_length': 255, + 'min_length': 0, + }, + ('user_context',): { + 'max_length': 30000, + 'min_length': 0, + }, + } + + @cached_property + def additional_properties_type(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + """ + lazy_import() + return (bool, date, datetime, dict, float, int, list, str, none_type,) # noqa: E501 + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + lazy_import() + return { + 'external_service_id': (str,), # noqa: E501 + 'temperature': (float,), # noqa: E501 + 'preview_limit': (int,), # noqa: E501 + 'issue_key': (str, none_type,), # noqa: E501 + 'user_context': (str, none_type,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'external_service_id': 'externalServiceId', # noqa: E501 + 'temperature': 'temperature', # noqa: E501 + 'preview_limit': 'previewLimit', # noqa: E501 + 'issue_key': 'issueKey', # noqa: E501 + 'user_context': 'userContext', # noqa: E501 + } + + read_only_vars = { + } + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest - a model defined in OpenAPI + + Keyword Args: + external_service_id (str): The ID of the external AI service to be used for generation. + temperature (float): Controls randomness of the AI model output. + preview_limit (int): Number of work item previews to generate. + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + issue_key (str, none_type): The key of the issue in an issue tracker (e.g., JIRA-123).. [optional] # noqa: E501 + user_context (str, none_type): Additional user context or description of the issue if no issue key is provided.. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + '_composed_instances', + '_var_name_to_model_instances', + '_additional_properties_model_instances', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): # noqa: E501 + """ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest - a model defined in OpenAPI + + Keyword Args: + external_service_id (str): The ID of the external AI service to be used for generation. + temperature (float): Controls randomness of the AI model output. + preview_limit (int): Number of work item previews to generate. + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + issue_key (str, none_type): The key of the issue in an issue tracker (e.g., JIRA-123).. [optional] # noqa: E501 + user_context (str, none_type): Additional user context or description of the issue if no issue key is provided.. [optional] # noqa: E501 + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + constant_args = { + '_check_type': _check_type, + '_path_to_item': _path_to_item, + '_spec_property_naming': _spec_property_naming, + '_configuration': _configuration, + '_visited_composed_classes': self._visited_composed_classes, + } + composed_info = validate_get_composed_info( + constant_args, kwargs, self) + self._composed_instances = composed_info[0] + self._var_name_to_model_instances = composed_info[1] + self._additional_properties_model_instances = composed_info[2] + discarded_args = composed_info[3] + + for var_name, var_value in kwargs.items(): + if var_name in discarded_args and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self._additional_properties_model_instances: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") + + @cached_property + def _composed_schemas(): + # we need this here to make our import statements work + # we must store _composed_schemas in here so the code is only run + # when we invoke this method. If we kept this at the class + # level we would get an error because the class level + # code would be run when this module is imported, and these composed + # classes don't exist yet because their module has not finished + # loading + lazy_import() + return { + 'anyOf': [ + ], + 'allOf': [ + GenerateWorkItemPreviewsApiModel, + ], + 'oneOf': [ + ], + } diff --git a/src/testit_api_client/model/auto_test_case_model.py b/src/testit_api_client/model/auto_test_case_result.py similarity index 98% rename from src/testit_api_client/model/auto_test_case_model.py rename to src/testit_api_client/model/auto_test_case_result.py index dc0285b8..d038e58d 100644 --- a/src/testit_api_client/model/auto_test_case_model.py +++ b/src/testit_api_client/model/auto_test_case_result.py @@ -30,7 +30,7 @@ -class AutoTestCaseModel(ModelNormal): +class AutoTestCaseResult(ModelNormal): """NOTE: This class is auto generated by OpenAPI Generator. Ref: https://openapi-generator.tech @@ -95,7 +95,7 @@ def discriminator(): @classmethod @convert_js_args_to_python_args def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 - """AutoTestCaseModel - a model defined in OpenAPI + """AutoTestCaseResult - a model defined in OpenAPI Args: id (str): @@ -184,7 +184,7 @@ def _from_openapi_data(cls, id, *args, **kwargs): # noqa: E501 @convert_js_args_to_python_args def __init__(self, id, *args, **kwargs): # noqa: E501 - """AutoTestCaseModel - a model defined in OpenAPI + """AutoTestCaseResult - a model defined in OpenAPI Args: id (str): diff --git a/src/testit_api_client/model/custom_attribute_model.py b/src/testit_api_client/model/custom_attribute_model.py index 9452d6e2..d29b3f75 100644 --- a/src/testit_api_client/model/custom_attribute_model.py +++ b/src/testit_api_client/model/custom_attribute_model.py @@ -87,15 +87,17 @@ def openapi_types(): lazy_import() return { 'id': (str,), # noqa: E501 - 'targets': ([str],), # noqa: E501 - 'options': ([CustomAttributeOptionModel],), # noqa: E501 'type': (CustomAttributeTypesEnum,), # noqa: E501 + 'options': ([CustomAttributeOptionModel],), # noqa: E501 + 'targets': ([str],), # noqa: E501 + 'is_read_only': (bool,), # noqa: E501 'is_deleted': (bool,), # noqa: E501 'is_system': (bool,), # noqa: E501 'name': (str,), # noqa: E501 'is_enabled': (bool,), # noqa: E501 'is_required': (bool,), # noqa: E501 'is_global': (bool,), # noqa: E501 + 'code': (str, none_type,), # noqa: E501 } @cached_property @@ -105,15 +107,17 @@ def discriminator(): attribute_map = { 'id': 'id', # noqa: E501 - 'targets': 'targets', # noqa: E501 - 'options': 'options', # noqa: E501 'type': 'type', # noqa: E501 + 'options': 'options', # noqa: E501 + 'targets': 'targets', # noqa: E501 + 'is_read_only': 'isReadOnly', # noqa: E501 'is_deleted': 'isDeleted', # noqa: E501 'is_system': 'isSystem', # noqa: E501 'name': 'name', # noqa: E501 'is_enabled': 'isEnabled', # noqa: E501 'is_required': 'isRequired', # noqa: E501 'is_global': 'isGlobal', # noqa: E501 + 'code': 'code', # noqa: E501 } read_only_vars = { @@ -123,16 +127,17 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, id, type, options, targets, is_read_only, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeModel - a model defined in OpenAPI Args: - id (str): Unique ID of the attribute - targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) - options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only + id (str): Unique ID of the attribute. type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - is_system (bool): Indicates if the attribute is system + options ([CustomAttributeOptionModel]): Collection of the attribute options. + targets ([str]): Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). + is_read_only (bool): Indicates if the attribute is read-only. + is_deleted (bool): Indicates if the attribute is deleted. + is_system (bool): Indicates if the attribute is system. name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -169,6 +174,7 @@ def _from_openapi_data(cls, id, targets, options, type, is_deleted, is_system, n Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + code (str, none_type): Optional code identifier for the attribute.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -201,9 +207,10 @@ def _from_openapi_data(cls, id, targets, options, type, is_deleted, is_system, n self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.id = id - self.targets = targets - self.options = options self.type = type + self.options = options + self.targets = targets + self.is_read_only = is_read_only self.is_deleted = is_deleted self.is_system = is_system self.name = name @@ -230,16 +237,17 @@ def _from_openapi_data(cls, id, targets, options, type, is_deleted, is_system, n ]) @convert_js_args_to_python_args - def __init__(self, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def __init__(self, id, type, options, targets, is_read_only, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeModel - a model defined in OpenAPI Args: - id (str): Unique ID of the attribute - targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) - options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only + id (str): Unique ID of the attribute. type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - is_system (bool): Indicates if the attribute is system + options ([CustomAttributeOptionModel]): Collection of the attribute options. + targets ([str]): Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). + is_read_only (bool): Indicates if the attribute is read-only. + is_deleted (bool): Indicates if the attribute is deleted. + is_system (bool): Indicates if the attribute is system. name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -276,6 +284,7 @@ def __init__(self, id, targets, options, type, is_deleted, is_system, name, is_e Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + code (str, none_type): Optional code identifier for the attribute.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -306,9 +315,10 @@ def __init__(self, id, targets, options, type, is_deleted, is_system, name, is_e self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.id = id - self.targets = targets - self.options = options self.type = type + self.options = options + self.targets = targets + self.is_read_only = is_read_only self.is_deleted = is_deleted self.is_system = is_system self.name = name diff --git a/src/testit_api_client/model/custom_attribute_search_response_model.py b/src/testit_api_client/model/custom_attribute_search_response_model.py index 9d46da32..7526d95f 100644 --- a/src/testit_api_client/model/custom_attribute_search_response_model.py +++ b/src/testit_api_client/model/custom_attribute_search_response_model.py @@ -91,15 +91,17 @@ def openapi_types(): 'work_item_usage': ([ProjectShortestModel],), # noqa: E501 'test_plan_usage': ([ProjectShortestModel],), # noqa: E501 'id': (str,), # noqa: E501 - 'targets': ([str],), # noqa: E501 - 'options': ([CustomAttributeOptionModel],), # noqa: E501 'type': (CustomAttributeTypesEnum,), # noqa: E501 + 'options': ([CustomAttributeOptionModel],), # noqa: E501 + 'targets': ([str],), # noqa: E501 + 'is_read_only': (bool,), # noqa: E501 'is_deleted': (bool,), # noqa: E501 'is_system': (bool,), # noqa: E501 'name': (str,), # noqa: E501 'is_enabled': (bool,), # noqa: E501 'is_required': (bool,), # noqa: E501 'is_global': (bool,), # noqa: E501 + 'code': (str, none_type,), # noqa: E501 } @cached_property @@ -111,15 +113,17 @@ def discriminator(): 'work_item_usage': 'workItemUsage', # noqa: E501 'test_plan_usage': 'testPlanUsage', # noqa: E501 'id': 'id', # noqa: E501 - 'targets': 'targets', # noqa: E501 - 'options': 'options', # noqa: E501 'type': 'type', # noqa: E501 + 'options': 'options', # noqa: E501 + 'targets': 'targets', # noqa: E501 + 'is_read_only': 'isReadOnly', # noqa: E501 'is_deleted': 'isDeleted', # noqa: E501 'is_system': 'isSystem', # noqa: E501 'name': 'name', # noqa: E501 'is_enabled': 'isEnabled', # noqa: E501 'is_required': 'isRequired', # noqa: E501 'is_global': 'isGlobal', # noqa: E501 + 'code': 'code', # noqa: E501 } read_only_vars = { @@ -129,18 +133,19 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, type, options, targets, is_read_only, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeSearchResponseModel - a model defined in OpenAPI Args: work_item_usage ([ProjectShortestModel]): test_plan_usage ([ProjectShortestModel]): - id (str): Unique ID of the attribute - targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) - options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only + id (str): Unique ID of the attribute. type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - is_system (bool): Indicates if the attribute is system + options ([CustomAttributeOptionModel]): Collection of the attribute options. + targets ([str]): Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). + is_read_only (bool): Indicates if the attribute is read-only. + is_deleted (bool): Indicates if the attribute is deleted. + is_system (bool): Indicates if the attribute is system. name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -177,6 +182,7 @@ def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, targets, optio Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + code (str, none_type): Optional code identifier for the attribute.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -211,9 +217,10 @@ def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, targets, optio self.work_item_usage = work_item_usage self.test_plan_usage = test_plan_usage self.id = id - self.targets = targets - self.options = options self.type = type + self.options = options + self.targets = targets + self.is_read_only = is_read_only self.is_deleted = is_deleted self.is_system = is_system self.name = name @@ -240,18 +247,19 @@ def _from_openapi_data(cls, work_item_usage, test_plan_usage, id, targets, optio ]) @convert_js_args_to_python_args - def __init__(self, work_item_usage, test_plan_usage, id, targets, options, type, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 + def __init__(self, work_item_usage, test_plan_usage, id, type, options, targets, is_read_only, is_deleted, is_system, name, is_enabled, is_required, is_global, *args, **kwargs): # noqa: E501 """CustomAttributeSearchResponseModel - a model defined in OpenAPI Args: work_item_usage ([ProjectShortestModel]): test_plan_usage ([ProjectShortestModel]): - id (str): Unique ID of the attribute - targets ([str]): Collection of the attribute targets Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans) - options ([CustomAttributeOptionModel]): Collection of the attribute options Available for attributes of type `options` and `multiple options` only + id (str): Unique ID of the attribute. type (CustomAttributeTypesEnum): - is_deleted (bool): Indicates if the attribute is deleted - is_system (bool): Indicates if the attribute is system + options ([CustomAttributeOptionModel]): Collection of the attribute options. + targets ([str]): Collection of the attribute targets. Defines where the attribute can be used (e.g., TestCases, AutoTestCases, TestPlans). + is_read_only (bool): Indicates if the attribute is read-only. + is_deleted (bool): Indicates if the attribute is deleted. + is_system (bool): Indicates if the attribute is system. name (str): Name of the attribute is_enabled (bool): Indicates if the attribute is enabled is_required (bool): Indicates if the attribute value is mandatory to specify @@ -288,6 +296,7 @@ def __init__(self, work_item_usage, test_plan_usage, id, targets, options, type, Animal class but this time we won't travel through its discriminator because we passed in _visited_composed_classes = (Animal,) + code (str, none_type): Optional code identifier for the attribute.. [optional] # noqa: E501 """ _check_type = kwargs.pop('_check_type', True) @@ -320,9 +329,10 @@ def __init__(self, work_item_usage, test_plan_usage, id, targets, options, type, self.work_item_usage = work_item_usage self.test_plan_usage = test_plan_usage self.id = id - self.targets = targets - self.options = options self.type = type + self.options = options + self.targets = targets + self.is_read_only = is_read_only self.is_deleted = is_deleted self.is_system = is_system self.name = name diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion_count_reply.py b/src/testit_api_client/model/external_issue_api_field_suggestion_count_reply.py new file mode 100644 index 00000000..6756a9a6 --- /dev/null +++ b/src/testit_api_client/model/external_issue_api_field_suggestion_count_reply.py @@ -0,0 +1,263 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class ExternalIssueApiFieldSuggestionCountReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """ExternalIssueApiFieldSuggestionCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py b/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py index b0aba8d2..91dcfef3 100644 --- a/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py +++ b/src/testit_api_client/model/external_issue_api_field_suggestion_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.external_issue_api_field_suggestion import ExternalIssueApiFieldSuggestion + from testit_api_client.model.external_issue_api_field_suggestion_count_reply import ExternalIssueApiFieldSuggestionCountReply from testit_api_client.model.external_issue_api_field_suggestion_group import ExternalIssueApiFieldSuggestionGroup from testit_api_client.model.external_issue_api_field_suggestion_grouped_reply import ExternalIssueApiFieldSuggestionGroupedReply from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply globals()['ExternalIssueApiFieldSuggestion'] = ExternalIssueApiFieldSuggestion + globals()['ExternalIssueApiFieldSuggestionCountReply'] = ExternalIssueApiFieldSuggestionCountReply globals()['ExternalIssueApiFieldSuggestionGroup'] = ExternalIssueApiFieldSuggestionGroup globals()['ExternalIssueApiFieldSuggestionGroupedReply'] = ExternalIssueApiFieldSuggestionGroupedReply globals()['ExternalIssueApiFieldSuggestionReply'] = ExternalIssueApiFieldSuggestionReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + ExternalIssueApiFieldSuggestionCountReply, ExternalIssueApiFieldSuggestionGroupedReply, ExternalIssueApiFieldSuggestionReply, ], diff --git a/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py b/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py index 1c29c283..f7a7843d 100644 --- a/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py +++ b/src/testit_api_client/model/failure_category_group_search_api_model_inquiry.py @@ -33,11 +33,13 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter from testit_api_client.model.group import Group from testit_api_client.model.inquiry import Inquiry + from testit_api_client.model.mode import Mode from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter globals()['Group'] = Group globals()['Inquiry'] = Inquiry + globals()['Mode'] = Mode globals()['Order'] = Order globals()['Page'] = Page @@ -96,6 +98,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'mode': (Mode,), # noqa: E501 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 @@ -108,6 +111,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'mode': 'mode', # noqa: E501 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 @@ -123,6 +127,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Keyword Args: order ([Order]): + mode (Mode): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -230,6 +235,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Keyword Args: order ([Order]): + mode (Mode): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. diff --git a/src/testit_api_client/model/filter_operator.py b/src/testit_api_client/model/filter_operator.py index 6a09683b..8b655d09 100644 --- a/src/testit_api_client/model/filter_operator.py +++ b/src/testit_api_client/model/filter_operator.py @@ -52,16 +52,18 @@ class FilterOperator(ModelSimple): allowed_values = { ('value',): { - '=': "=", - '!=': "!=", - '~': "~", - '!~': "!~", - '<': "<", - '<=': "<=", - '>': ">", - '>=': ">=", - '*': "*", - '!*': "!*", + 'EQUALTO': "EqualTo", + 'NOTEQUALTO': "NotEqualTo", + 'CONTAINS': "Contains", + 'NOTCONTAINS': "NotContains", + 'LESSTHAN': "LessThan", + 'LESSTHANOREQUALTO': "LessThanOrEqualTo", + 'GREATERTHAN': "GreaterThan", + 'GREATERTHANOREQUALTO': "GreaterThanOrEqualTo", + 'EMPTY': "Empty", + 'NOTEMPTY': "NotEmpty", + 'IN': "In", + 'NOTIN': "NotIn", }, } @@ -113,10 +115,10 @@ def __init__(self, *args, **kwargs): Note that value can be passed either in args or in kwargs, but not in both. Args: - args[0] (str):, must be one of ["=", "!=", "~", "!~", "<", "<=", ">", ">=", "*", "!*", ] # noqa: E501 + args[0] (str):, must be one of ["EqualTo", "NotEqualTo", "Contains", "NotContains", "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "Empty", "NotEmpty", "In", "NotIn", ] # noqa: E501 Keyword Args: - value (str):, must be one of ["=", "!=", "~", "!~", "<", "<=", ">", ">=", "*", "!*", ] # noqa: E501 + value (str):, must be one of ["EqualTo", "NotEqualTo", "Contains", "NotContains", "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "Empty", "NotEmpty", "In", "NotIn", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -207,10 +209,10 @@ def _from_openapi_data(cls, *args, **kwargs): Note that value can be passed either in args or in kwargs, but not in both. Args: - args[0] (str):, must be one of ["=", "!=", "~", "!~", "<", "<=", ">", ">=", "*", "!*", ] # noqa: E501 + args[0] (str):, must be one of ["EqualTo", "NotEqualTo", "Contains", "NotContains", "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "Empty", "NotEmpty", "In", "NotIn", ] # noqa: E501 Keyword Args: - value (str):, must be one of ["=", "!=", "~", "!~", "<", "<=", ">", ">=", "*", "!*", ] # noqa: E501 + value (str):, must be one of ["EqualTo", "NotEqualTo", "Contains", "NotContains", "LessThan", "LessThanOrEqualTo", "GreaterThan", "GreaterThanOrEqualTo", "Empty", "NotEmpty", "In", "NotIn", ] # noqa: E501 _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. diff --git a/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py index 68cfd63b..3a7fcfda 100644 --- a/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py +++ b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py @@ -33,11 +33,13 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter from testit_api_client.model.group import Group from testit_api_client.model.inquiry import Inquiry + from testit_api_client.model.mode import Mode from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter globals()['Group'] = Group globals()['Inquiry'] = Inquiry + globals()['Mode'] = Mode globals()['Order'] = Order globals()['Page'] = Page @@ -96,6 +98,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'mode': (Mode,), # noqa: E501 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 @@ -108,6 +111,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'mode': 'mode', # noqa: E501 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 @@ -123,6 +127,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Keyword Args: order ([Order]): + mode (Mode): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. @@ -230,6 +235,7 @@ def __init__(self, *args, **kwargs): # noqa: E501 Keyword Args: order ([Order]): + mode (Mode): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be raised if the wrong type is input. diff --git a/src/testit_api_client/model/inquiry.py b/src/testit_api_client/model/inquiry.py index d87f94e7..55b5a159 100644 --- a/src/testit_api_client/model/inquiry.py +++ b/src/testit_api_client/model/inquiry.py @@ -32,10 +32,12 @@ def lazy_import(): from testit_api_client.model.composite_filter import CompositeFilter from testit_api_client.model.group import Group + from testit_api_client.model.mode import Mode from testit_api_client.model.order import Order from testit_api_client.model.page import Page globals()['CompositeFilter'] = CompositeFilter globals()['Group'] = Group + globals()['Mode'] = Mode globals()['Order'] = Order globals()['Page'] = Page @@ -87,6 +89,7 @@ def openapi_types(): lazy_import() return { 'order': ([Order],), # noqa: E501 + 'mode': (Mode,), # noqa: E501 'group': (Group,), # noqa: E501 'filter': (CompositeFilter,), # noqa: E501 'page': (Page,), # noqa: E501 @@ -99,6 +102,7 @@ def discriminator(): attribute_map = { 'order': 'order', # noqa: E501 + 'mode': 'mode', # noqa: E501 'group': 'group', # noqa: E501 'filter': 'filter', # noqa: E501 'page': 'page', # noqa: E501 @@ -111,11 +115,12 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, order, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, order, mode, *args, **kwargs): # noqa: E501 """Inquiry - a model defined in OpenAPI Args: order ([Order]): + mode (Mode): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -183,6 +188,7 @@ def _from_openapi_data(cls, order, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.order = order + self.mode = mode for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ @@ -203,11 +209,12 @@ def _from_openapi_data(cls, order, *args, **kwargs): # noqa: E501 ]) @convert_js_args_to_python_args - def __init__(self, order, *args, **kwargs): # noqa: E501 + def __init__(self, order, mode, *args, **kwargs): # noqa: E501 """Inquiry - a model defined in OpenAPI Args: order ([Order]): + mode (Mode): Keyword Args: _check_type (bool): if True, values for parameters in openapi_types @@ -273,6 +280,7 @@ def __init__(self, order, *args, **kwargs): # noqa: E501 self._visited_composed_classes = _visited_composed_classes + (self.__class__,) self.order = order + self.mode = mode for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ self._configuration is not None and \ diff --git a/src/testit_api_client/model/mode.py b/src/testit_api_client/model/mode.py new file mode 100644 index 00000000..0b4758a2 --- /dev/null +++ b/src/testit_api_client/model/mode.py @@ -0,0 +1,290 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class Mode(ModelSimple): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + ('value',): { + 'COUNTONLY': "CountOnly", + 'ALL': "All", + }, + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'value': (str,), + } + + @cached_property + def discriminator(): + return None + + + attribute_map = {} + + read_only_vars = set() + + _composed_schemas = None + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, *args, **kwargs): + """Mode - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["CountOnly", "All", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["CountOnly", "All", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, *args, **kwargs): + """Mode - a model defined in OpenAPI + + Note that value can be passed either in args or in kwargs, but not in both. + + Args: + args[0] (str):, must be one of ["CountOnly", "All", ] # noqa: E501 + + Keyword Args: + value (str):, must be one of ["CountOnly", "All", ] # noqa: E501 + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + # required up here when default value is not given + _path_to_item = kwargs.pop('_path_to_item', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if 'value' in kwargs: + value = kwargs.pop('value') + elif args: + args = list(args) + value = args.pop(0) + else: + raise ApiTypeError( + "value is required, but not passed in args or kwargs and doesn't have default", + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + self.value = value + if kwargs: + raise ApiTypeError( + "Invalid named arguments=%s passed to %s. Remove those invalid named arguments." % ( + kwargs, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + return self diff --git a/src/testit_api_client/model/project_short_api_result_count_reply.py b/src/testit_api_client/model/project_short_api_result_count_reply.py new file mode 100644 index 00000000..7a413e7b --- /dev/null +++ b/src/testit_api_client/model/project_short_api_result_count_reply.py @@ -0,0 +1,263 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class ProjectShortApiResultCountReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """ProjectShortApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/project_short_api_result_i_reply.py b/src/testit_api_client/model/project_short_api_result_i_reply.py index 441820a4..b4198b4f 100644 --- a/src/testit_api_client/model/project_short_api_result_i_reply.py +++ b/src/testit_api_client/model/project_short_api_result_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.project_short_api_result import ProjectShortApiResult + from testit_api_client.model.project_short_api_result_count_reply import ProjectShortApiResultCountReply from testit_api_client.model.project_short_api_result_group import ProjectShortApiResultGroup from testit_api_client.model.project_short_api_result_grouped_reply import ProjectShortApiResultGroupedReply from testit_api_client.model.project_short_api_result_reply import ProjectShortApiResultReply globals()['ProjectShortApiResult'] = ProjectShortApiResult + globals()['ProjectShortApiResultCountReply'] = ProjectShortApiResultCountReply globals()['ProjectShortApiResultGroup'] = ProjectShortApiResultGroup globals()['ProjectShortApiResultGroupedReply'] = ProjectShortApiResultGroupedReply globals()['ProjectShortApiResultReply'] = ProjectShortApiResultReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + ProjectShortApiResultCountReply, ProjectShortApiResultGroupedReply, ProjectShortApiResultReply, ], diff --git a/src/testit_api_client/model/section_put_model.py b/src/testit_api_client/model/section_put_model.py index 9cd1ace4..f72966f9 100644 --- a/src/testit_api_client/model/section_put_model.py +++ b/src/testit_api_client/model/section_put_model.py @@ -88,7 +88,6 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'name': (str,), # noqa: E501 - 'project_id': (str,), # noqa: E501 'attachments': ([AttachmentPutModel],), # noqa: E501 'parent_id': (str, none_type,), # noqa: E501 'precondition_steps': ([StepPutModel], none_type,), # noqa: E501 @@ -103,7 +102,6 @@ def discriminator(): attribute_map = { 'id': 'id', # noqa: E501 'name': 'name', # noqa: E501 - 'project_id': 'projectId', # noqa: E501 'attachments': 'attachments', # noqa: E501 'parent_id': 'parentId', # noqa: E501 'precondition_steps': 'preconditionSteps', # noqa: E501 @@ -117,13 +115,12 @@ def discriminator(): @classmethod @convert_js_args_to_python_args - def _from_openapi_data(cls, id, name, project_id, attachments, *args, **kwargs): # noqa: E501 + def _from_openapi_data(cls, id, name, attachments, *args, **kwargs): # noqa: E501 """SectionPutModel - a model defined in OpenAPI Args: id (str): name (str): - project_id (str): attachments ([AttachmentPutModel]): Keyword Args: @@ -193,7 +190,6 @@ def _from_openapi_data(cls, id, name, project_id, attachments, *args, **kwargs): self.id = id self.name = name - self.project_id = project_id self.attachments = attachments for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ @@ -215,13 +211,12 @@ def _from_openapi_data(cls, id, name, project_id, attachments, *args, **kwargs): ]) @convert_js_args_to_python_args - def __init__(self, id, name, project_id, attachments, *args, **kwargs): # noqa: E501 + def __init__(self, id, name, attachments, *args, **kwargs): # noqa: E501 """SectionPutModel - a model defined in OpenAPI Args: id (str): name (str): - project_id (str): attachments ([AttachmentPutModel]): Keyword Args: @@ -289,7 +284,6 @@ def __init__(self, id, name, project_id, attachments, *args, **kwargs): # noqa: self.id = id self.name = name - self.project_id = project_id self.attachments = attachments for var_name, var_value in kwargs.items(): if var_name not in self.attribute_map and \ diff --git a/src/testit_api_client/model/test_status_api_result_count_reply.py b/src/testit_api_client/model/test_status_api_result_count_reply.py new file mode 100644 index 00000000..4964938c --- /dev/null +++ b/src/testit_api_client/model/test_status_api_result_count_reply.py @@ -0,0 +1,263 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class TestStatusApiResultCountReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """TestStatusApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/test_status_api_result_i_reply.py b/src/testit_api_client/model/test_status_api_result_i_reply.py index 05f2a733..25def73e 100644 --- a/src/testit_api_client/model/test_status_api_result_i_reply.py +++ b/src/testit_api_client/model/test_status_api_result_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.test_status_api_result import TestStatusApiResult + from testit_api_client.model.test_status_api_result_count_reply import TestStatusApiResultCountReply from testit_api_client.model.test_status_api_result_group import TestStatusApiResultGroup from testit_api_client.model.test_status_api_result_grouped_reply import TestStatusApiResultGroupedReply from testit_api_client.model.test_status_api_result_reply import TestStatusApiResultReply globals()['TestStatusApiResult'] = TestStatusApiResult + globals()['TestStatusApiResultCountReply'] = TestStatusApiResultCountReply globals()['TestStatusApiResultGroup'] = TestStatusApiResultGroup globals()['TestStatusApiResultGroupedReply'] = TestStatusApiResultGroupedReply globals()['TestStatusApiResultReply'] = TestStatusApiResultReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + TestStatusApiResultCountReply, TestStatusApiResultGroupedReply, TestStatusApiResultReply, ], diff --git a/src/testit_api_client/model/update_section_request.py b/src/testit_api_client/model/update_section_request.py index 44b2a439..11ae8976 100644 --- a/src/testit_api_client/model/update_section_request.py +++ b/src/testit_api_client/model/update_section_request.py @@ -97,7 +97,6 @@ def openapi_types(): return { 'id': (str,), # noqa: E501 'name': (str,), # noqa: E501 - 'project_id': (str,), # noqa: E501 'attachments': ([AttachmentPutModel],), # noqa: E501 'parent_id': (str, none_type,), # noqa: E501 'precondition_steps': ([StepPutModel], none_type,), # noqa: E501 @@ -112,7 +111,6 @@ def discriminator(): attribute_map = { 'id': 'id', # noqa: E501 'name': 'name', # noqa: E501 - 'project_id': 'projectId', # noqa: E501 'attachments': 'attachments', # noqa: E501 'parent_id': 'parentId', # noqa: E501 'precondition_steps': 'preconditionSteps', # noqa: E501 @@ -130,7 +128,6 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501 Keyword Args: id (str): name (str): - project_id (str): attachments ([AttachmentPutModel]): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be @@ -240,7 +237,6 @@ def __init__(self, *args, **kwargs): # noqa: E501 Keyword Args: id (str): name (str): - project_id (str): attachments ([AttachmentPutModel]): _check_type (bool): if True, values for parameters in openapi_types will be type checked and a TypeError will be diff --git a/src/testit_api_client/model/work_item_api_result.py b/src/testit_api_client/model/work_item_api_result.py index e266a077..ac824ff0 100644 --- a/src/testit_api_client/model/work_item_api_result.py +++ b/src/testit_api_client/model/work_item_api_result.py @@ -135,7 +135,6 @@ def openapi_types(): 'description': (str, none_type,), # noqa: E501 'modified_date': (datetime, none_type,), # noqa: E501 'modified_by_id': (str, none_type,), # noqa: E501 - 'autoTestCases': ([str, none_type], none_type,), } @cached_property @@ -177,7 +176,6 @@ def discriminator(): 'description': 'description', # noqa: E501 'modified_date': 'modifiedDate', # noqa: E501 'modified_by_id': 'modifiedById', # noqa: E501 - 'autoTestCases': 'autoTestCases', # noqa: E501 } read_only_vars = { diff --git a/src/testit_api_client/model/workflow_project_api_result_count_reply.py b/src/testit_api_client/model/workflow_project_api_result_count_reply.py new file mode 100644 index 00000000..1fbfc3cd --- /dev/null +++ b/src/testit_api_client/model/workflow_project_api_result_count_reply.py @@ -0,0 +1,263 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class WorkflowProjectApiResultCountReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """WorkflowProjectApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/workflow_project_api_result_i_reply.py b/src/testit_api_client/model/workflow_project_api_result_i_reply.py index 3034618d..4f442145 100644 --- a/src/testit_api_client/model/workflow_project_api_result_i_reply.py +++ b/src/testit_api_client/model/workflow_project_api_result_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.workflow_project_api_result import WorkflowProjectApiResult + from testit_api_client.model.workflow_project_api_result_count_reply import WorkflowProjectApiResultCountReply from testit_api_client.model.workflow_project_api_result_group import WorkflowProjectApiResultGroup from testit_api_client.model.workflow_project_api_result_grouped_reply import WorkflowProjectApiResultGroupedReply from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply globals()['WorkflowProjectApiResult'] = WorkflowProjectApiResult + globals()['WorkflowProjectApiResultCountReply'] = WorkflowProjectApiResultCountReply globals()['WorkflowProjectApiResultGroup'] = WorkflowProjectApiResultGroup globals()['WorkflowProjectApiResultGroupedReply'] = WorkflowProjectApiResultGroupedReply globals()['WorkflowProjectApiResultReply'] = WorkflowProjectApiResultReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + WorkflowProjectApiResultCountReply, WorkflowProjectApiResultGroupedReply, WorkflowProjectApiResultReply, ], diff --git a/src/testit_api_client/model/workflow_short_api_result_count_reply.py b/src/testit_api_client/model/workflow_short_api_result_count_reply.py new file mode 100644 index 00000000..7ce2ecaa --- /dev/null +++ b/src/testit_api_client/model/workflow_short_api_result_count_reply.py @@ -0,0 +1,263 @@ +""" + API + + No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) # noqa: E501 + + The version of the OpenAPI document: v2.0 + Generated by: https://openapi-generator.tech +""" + + +import re # noqa: F401 +import sys # noqa: F401 + +from testit_api_client.model_utils import ( # noqa: F401 + ApiTypeError, + ModelComposed, + ModelNormal, + ModelSimple, + cached_property, + change_keys_js_to_python, + convert_js_args_to_python_args, + date, + datetime, + file_type, + none_type, + validate_get_composed_info, + OpenApiModel +) +from testit_api_client.exceptions import ApiAttributeError + + + +class WorkflowShortApiResultCountReply(ModelNormal): + """NOTE: This class is auto generated by OpenAPI Generator. + Ref: https://openapi-generator.tech + + Do not edit the class manually. + + Attributes: + allowed_values (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + with a capitalized key describing the allowed value and an allowed + value. These dicts store the allowed enum values. + attribute_map (dict): The key is attribute name + and the value is json key in definition. + discriminator_value_class_map (dict): A dict to go from the discriminator + variable value to the discriminator class name. + validations (dict): The key is the tuple path to the attribute + and the for var_name this is (var_name,). The value is a dict + that stores validations for max_length, min_length, max_items, + min_items, exclusive_maximum, inclusive_maximum, exclusive_minimum, + inclusive_minimum, and regex. + additional_properties_type (tuple): A tuple of classes accepted + as additional properties values. + """ + + allowed_values = { + } + + validations = { + } + + additional_properties_type = None + + _nullable = False + + @cached_property + def openapi_types(): + """ + This must be a method because a model may have properties that are + of type self, this must run after the class is loaded + + Returns + openapi_types (dict): The key is attribute name + and the value is attribute type. + """ + return { + 'total_count': (int,), # noqa: E501 + } + + @cached_property + def discriminator(): + return None + + + attribute_map = { + 'total_count': 'totalCount', # noqa: E501 + } + + read_only_vars = { + } + + _composed_schemas = {} + + @classmethod + @convert_js_args_to_python_args + def _from_openapi_data(cls, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', True) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + self = super(OpenApiModel, cls).__new__(cls) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + return self + + required_properties = set([ + '_data_store', + '_check_type', + '_spec_property_naming', + '_path_to_item', + '_configuration', + '_visited_composed_classes', + ]) + + @convert_js_args_to_python_args + def __init__(self, total_count, *args, **kwargs): # noqa: E501 + """WorkflowShortApiResultCountReply - a model defined in OpenAPI + + Args: + total_count (int): + + Keyword Args: + _check_type (bool): if True, values for parameters in openapi_types + will be type checked and a TypeError will be + raised if the wrong type is input. + Defaults to True + _path_to_item (tuple/list): This is a list of keys or values to + drill down to the model in received_data + when deserializing a response + _spec_property_naming (bool): True if the variable names in the input data + are serialized names, as specified in the OpenAPI document. + False if the variable names in the input data + are pythonic names, e.g. snake case (default) + _configuration (Configuration): the instance to use when + deserializing a file_type parameter. + If passed, type conversion is attempted + If omitted no type conversion is done. + _visited_composed_classes (tuple): This stores a tuple of + classes that we have traveled through so that + if we see that class again we will not use its + discriminator again. + When traveling through a discriminator, the + composed schema that is + is traveled through is added to this set. + For example if Animal has a discriminator + petType and we pass in "Dog", and the class Dog + allOf includes Animal, we move through Animal + once using the discriminator, and pick Dog. + Then in Dog, we will make an instance of the + Animal class but this time we won't travel + through its discriminator because we passed in + _visited_composed_classes = (Animal,) + """ + + _check_type = kwargs.pop('_check_type', True) + _spec_property_naming = kwargs.pop('_spec_property_naming', False) + _path_to_item = kwargs.pop('_path_to_item', ()) + _configuration = kwargs.pop('_configuration', None) + _visited_composed_classes = kwargs.pop('_visited_composed_classes', ()) + + if args: + for arg in args: + if isinstance(arg, dict): + kwargs.update(arg) + else: + raise ApiTypeError( + "Invalid positional arguments=%s passed to %s. Remove those invalid positional arguments." % ( + args, + self.__class__.__name__, + ), + path_to_item=_path_to_item, + valid_classes=(self.__class__,), + ) + + self._data_store = {} + self._check_type = _check_type + self._spec_property_naming = _spec_property_naming + self._path_to_item = _path_to_item + self._configuration = _configuration + self._visited_composed_classes = _visited_composed_classes + (self.__class__,) + + self.total_count = total_count + for var_name, var_value in kwargs.items(): + if var_name not in self.attribute_map and \ + self._configuration is not None and \ + self._configuration.discard_unknown_keys and \ + self.additional_properties_type is None: + # discard variable. + continue + setattr(self, var_name, var_value) + if var_name in self.read_only_vars: + raise ApiAttributeError(f"`{var_name}` is a read-only attribute. Use `from_openapi_data` to instantiate " + f"class with read only attributes.") diff --git a/src/testit_api_client/model/workflow_short_api_result_i_reply.py b/src/testit_api_client/model/workflow_short_api_result_i_reply.py index 1f37187c..7d647279 100644 --- a/src/testit_api_client/model/workflow_short_api_result_i_reply.py +++ b/src/testit_api_client/model/workflow_short_api_result_i_reply.py @@ -31,10 +31,12 @@ def lazy_import(): from testit_api_client.model.workflow_short_api_result import WorkflowShortApiResult + from testit_api_client.model.workflow_short_api_result_count_reply import WorkflowShortApiResultCountReply from testit_api_client.model.workflow_short_api_result_group import WorkflowShortApiResultGroup from testit_api_client.model.workflow_short_api_result_grouped_reply import WorkflowShortApiResultGroupedReply from testit_api_client.model.workflow_short_api_result_reply import WorkflowShortApiResultReply globals()['WorkflowShortApiResult'] = WorkflowShortApiResult + globals()['WorkflowShortApiResultCountReply'] = WorkflowShortApiResultCountReply globals()['WorkflowShortApiResultGroup'] = WorkflowShortApiResultGroup globals()['WorkflowShortApiResultGroupedReply'] = WorkflowShortApiResultGroupedReply globals()['WorkflowShortApiResultReply'] = WorkflowShortApiResultReply @@ -321,6 +323,7 @@ def _composed_schemas(): 'allOf': [ ], 'oneOf': [ + WorkflowShortApiResultCountReply, WorkflowShortApiResultGroupedReply, WorkflowShortApiResultReply, ], diff --git a/src/testit_api_client/models/__init__.py b/src/testit_api_client/models/__init__.py index c58d2c07..a4ffcbaf 100644 --- a/src/testit_api_client/models/__init__.py +++ b/src/testit_api_client/models/__init__.py @@ -10,6 +10,7 @@ # sys.setrecursionlimit(n) from testit_api_client.model.ai_service_model_api_result import AIServiceModelApiResult +from testit_api_client.model.ai_service_model_api_result_count_reply import AIServiceModelApiResultCountReply from testit_api_client.model.ai_service_model_api_result_group import AIServiceModelApiResultGroup from testit_api_client.model.ai_service_model_api_result_group_key import AIServiceModelApiResultGroupKey from testit_api_client.model.ai_service_model_api_result_grouped_reply import AIServiceModelApiResultGroupedReply @@ -21,6 +22,10 @@ from testit_api_client.model.api_v2_auto_tests_flaky_bulk_post_request import ApiV2AutoTestsFlakyBulkPostRequest from testit_api_client.model.api_v2_auto_tests_id_test_results_search_post_request import ApiV2AutoTestsIdTestResultsSearchPostRequest from testit_api_client.model.api_v2_auto_tests_search_post_request import ApiV2AutoTestsSearchPostRequest +from testit_api_client.model.api_v2_autotests_result_reasons_grouping_search_post_request import ApiV2AutotestsResultReasonsGroupingSearchPostRequest +from testit_api_client.model.api_v2_autotests_result_reasons_post_request import ApiV2AutotestsResultReasonsPostRequest +from testit_api_client.model.api_v2_autotests_result_reasons_put_request import ApiV2AutotestsResultReasonsPutRequest +from testit_api_client.model.api_v2_autotests_result_reasons_search_post_request import ApiV2AutotestsResultReasonsSearchPostRequest from testit_api_client.model.api_v2_background_jobs_search_post_request import ApiV2BackgroundJobsSearchPostRequest from testit_api_client.model.api_v2_configurations_create_by_parameters_post_request import ApiV2ConfigurationsCreateByParametersPostRequest from testit_api_client.model.api_v2_configurations_delete_bulk_post_request import ApiV2ConfigurationsDeleteBulkPostRequest @@ -34,15 +39,26 @@ from testit_api_client.model.api_v2_custom_attributes_templates_put_request import ApiV2CustomAttributesTemplatesPutRequest from testit_api_client.model.api_v2_custom_attributes_templates_search_post_request import ApiV2CustomAttributesTemplatesSearchPostRequest from testit_api_client.model.api_v2_external_issues_suggestions_post_request import ApiV2ExternalIssuesSuggestionsPostRequest +from testit_api_client.model.api_v2_external_services_id_ai_models_post_request import ApiV2ExternalServicesIdAiModelsPostRequest from testit_api_client.model.api_v2_notifications_search_post_request import ApiV2NotificationsSearchPostRequest from testit_api_client.model.api_v2_parameters_search_groups_post_request import ApiV2ParametersSearchGroupsPostRequest from testit_api_client.model.api_v2_parameters_search_post_request import ApiV2ParametersSearchPostRequest +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_patch_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPatchRequest +from testit_api_client.model.api_v2_projects_id_external_services_external_service_id_put_request import ApiV2ProjectsIdExternalServicesExternalServiceIdPutRequest +from testit_api_client.model.api_v2_projects_id_external_services_issues_search_post_request import ApiV2ProjectsIdExternalServicesIssuesSearchPostRequest from testit_api_client.model.api_v2_projects_project_id_attributes_templates_search_post_request import ApiV2ProjectsProjectIdAttributesTemplatesSearchPostRequest +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_post_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPostRequest +from testit_api_client.model.api_v2_projects_project_id_autotests_failure_categories_put_request import ApiV2ProjectsProjectIdAutotestsFailureCategoriesPutRequest from testit_api_client.model.api_v2_projects_project_id_settings_autotests_post_request import ApiV2ProjectsProjectIdSettingsAutotestsPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_delete_bulk_post_request import ApiV2ProjectsProjectIdTestPlansDeleteBulkPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_search_post_request import ApiV2ProjectsProjectIdTestPlansSearchPostRequest +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_analytics_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAnalyticsPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_grouping_search_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsGroupingSearchPostRequest +from testit_api_client.model.api_v2_projects_project_id_test_plans_test_plan_id_test_points_testers_post_request import ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsTestersPostRequest +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_bulk_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsBulkPostRequest +from testit_api_client.model.api_v2_projects_project_id_work_items_previews_post_request import ApiV2ProjectsProjectIdWorkItemsPreviewsPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_grouped_post_request import ApiV2ProjectsProjectIdWorkItemsSearchGroupedPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_id_post_request import ApiV2ProjectsProjectIdWorkItemsSearchIdPostRequest from testit_api_client.model.api_v2_projects_project_id_work_items_search_post_request import ApiV2ProjectsProjectIdWorkItemsSearchPostRequest @@ -106,7 +122,7 @@ from testit_api_client.model.auto_test_bulk_delete_api_model_auto_test_select import AutoTestBulkDeleteApiModelAutoTestSelect from testit_api_client.model.auto_test_bulk_delete_api_result import AutoTestBulkDeleteApiResult from testit_api_client.model.auto_test_case_api_model import AutoTestCaseApiModel -from testit_api_client.model.auto_test_case_model import AutoTestCaseModel +from testit_api_client.model.auto_test_case_result import AutoTestCaseResult from testit_api_client.model.auto_test_change_view_model import AutoTestChangeViewModel from testit_api_client.model.auto_test_change_view_model_array_changed_field_view_model import AutoTestChangeViewModelArrayChangedFieldViewModel from testit_api_client.model.auto_test_class_count_api_model import AutoTestClassCountApiModel @@ -226,7 +242,6 @@ from testit_api_client.model.create_workflow_api_model import CreateWorkflowApiModel from testit_api_client.model.custom_attribute_api_result import CustomAttributeApiResult from testit_api_client.model.custom_attribute_change_model import CustomAttributeChangeModel -from testit_api_client.model.custom_attribute_get_model import CustomAttributeGetModel from testit_api_client.model.custom_attribute_model import CustomAttributeModel from testit_api_client.model.custom_attribute_option_api_result import CustomAttributeOptionApiResult from testit_api_client.model.custom_attribute_option_model import CustomAttributeOptionModel @@ -257,6 +272,7 @@ from testit_api_client.model.external_form_model import ExternalFormModel from testit_api_client.model.external_issue_api_field import ExternalIssueApiField from testit_api_client.model.external_issue_api_field_suggestion import ExternalIssueApiFieldSuggestion +from testit_api_client.model.external_issue_api_field_suggestion_count_reply import ExternalIssueApiFieldSuggestionCountReply from testit_api_client.model.external_issue_api_field_suggestion_external_service import ExternalIssueApiFieldSuggestionExternalService from testit_api_client.model.external_issue_api_field_suggestion_group import ExternalIssueApiFieldSuggestionGroup from testit_api_client.model.external_issue_api_field_suggestion_grouped_reply import ExternalIssueApiFieldSuggestionGroupedReply @@ -343,6 +359,7 @@ from testit_api_client.model.manual_rerun_select_test_results_api_model_filter import ManualRerunSelectTestResultsApiModelFilter from testit_api_client.model.manual_rerun_test_result_api_model import ManualRerunTestResultApiModel from testit_api_client.model.manual_rerun_test_result_api_model_test_result_ids import ManualRerunTestResultApiModelTestResultIds +from testit_api_client.model.mode import Mode from testit_api_client.model.move_request import MoveRequest from testit_api_client.model.named_entity_api_model import NamedEntityApiModel from testit_api_client.model.notification_model import NotificationModel @@ -381,6 +398,7 @@ from testit_api_client.model.project_name_api_result import ProjectNameApiResult from testit_api_client.model.project_select_model import ProjectSelectModel from testit_api_client.model.project_short_api_result import ProjectShortApiResult +from testit_api_client.model.project_short_api_result_count_reply import ProjectShortApiResultCountReply from testit_api_client.model.project_short_api_result_group import ProjectShortApiResultGroup from testit_api_client.model.project_short_api_result_grouped_reply import ProjectShortApiResultGroupedReply from testit_api_client.model.project_short_api_result_i_reply import ProjectShortApiResultIReply @@ -595,6 +613,7 @@ from testit_api_client.model.test_run_test_results_select_model_test_result_ids_extraction_model import TestRunTestResultsSelectModelTestResultIdsExtractionModel from testit_api_client.model.test_run_v2_api_result import TestRunV2ApiResult from testit_api_client.model.test_status_api_result import TestStatusApiResult +from testit_api_client.model.test_status_api_result_count_reply import TestStatusApiResultCountReply from testit_api_client.model.test_status_api_result_group import TestStatusApiResultGroup from testit_api_client.model.test_status_api_result_grouped_reply import TestStatusApiResultGroupedReply from testit_api_client.model.test_status_api_result_i_reply import TestStatusApiResultIReply @@ -757,11 +776,13 @@ from testit_api_client.model.workflow_exists_by_name_api_result import WorkflowExistsByNameApiResult from testit_api_client.model.workflow_project_api_result import WorkflowProjectApiResult from testit_api_client.model.workflow_project_api_result_api_collection_preview import WorkflowProjectApiResultApiCollectionPreview +from testit_api_client.model.workflow_project_api_result_count_reply import WorkflowProjectApiResultCountReply from testit_api_client.model.workflow_project_api_result_group import WorkflowProjectApiResultGroup from testit_api_client.model.workflow_project_api_result_grouped_reply import WorkflowProjectApiResultGroupedReply from testit_api_client.model.workflow_project_api_result_i_reply import WorkflowProjectApiResultIReply from testit_api_client.model.workflow_project_api_result_reply import WorkflowProjectApiResultReply from testit_api_client.model.workflow_short_api_result import WorkflowShortApiResult +from testit_api_client.model.workflow_short_api_result_count_reply import WorkflowShortApiResultCountReply from testit_api_client.model.workflow_short_api_result_group import WorkflowShortApiResultGroup from testit_api_client.model.workflow_short_api_result_grouped_reply import WorkflowShortApiResultGroupedReply from testit_api_client.model.workflow_short_api_result_i_reply import WorkflowShortApiResultIReply