diff --git a/README.md b/README.md
index e553838c..0088ab1c 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,7 @@
| 5.3.0 | 6.0.1.post530 |
| 5.4.0 | 6.3.1.post540 |
| 5.4.1 | 7.0.3.post541 |
+| 5.5.0 | 7.2.0.post550 |
| Cloud | 7.1.1 |
## Installation & Usage
@@ -134,6 +135,7 @@ Class | Method | HTTP request | Description
*CustomAttributesApi* | [**api_v2_custom_attributes_global_post**](docs/CustomAttributesApi.md#api_v2_custom_attributes_global_post) | **POST** /api/v2/customAttributes/global | Create global attribute
*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
*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
@@ -183,10 +185,10 @@ Class | Method | HTTP request | Description
*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
+*ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_search_work_item_id_index_post**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_work_item_id_index_post) | **POST** /api/v2/projects/{projectId}/workItems/search/{workItemId}/index | Get work item index (position) in a collection by its id.
*ProjectWorkItemsApi* | [**api_v2_projects_project_id_work_items_tags_get**](docs/ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_tags_get) | **GET** /api/v2/projects/{projectId}/workItems/tags | Get WorkItems Tags
*ProjectWorkItemsApi* | [**get_work_items_by_project_id**](docs/ProjectWorkItemsApi.md#get_work_items_by_project_id) | **GET** /api/v2/projects/{projectId}/workItems | Get project work items
*ProjectsApi* | [**add_globa_attributes_to_project**](docs/ProjectsApi.md#add_globa_attributes_to_project) | **POST** /api/v2/projects/{id}/globalAttributes | Add global attributes to project
-*ProjectsApi* | [**api_v2_projects_demo_post**](docs/ProjectsApi.md#api_v2_projects_demo_post) | **POST** /api/v2/projects/demo |
*ProjectsApi* | [**api_v2_projects_id_delete**](docs/ProjectsApi.md#api_v2_projects_id_delete) | **DELETE** /api/v2/projects/{id} | Archive project
*ProjectsApi* | [**api_v2_projects_id_failure_classes_get**](docs/ProjectsApi.md#api_v2_projects_id_failure_classes_get) | **GET** /api/v2/projects/{id}/failureClasses | Get failure classes
*ProjectsApi* | [**api_v2_projects_id_favorite_put**](docs/ProjectsApi.md#api_v2_projects_id_favorite_put) | **PUT** /api/v2/projects/{id}/favorite | Mark Project as favorite
@@ -324,7 +326,7 @@ Class | Method | HTTP request | Description
*WebhooksApi* | [**api_v2_webhooks_search_post**](docs/WebhooksApi.md#api_v2_webhooks_search_post) | **POST** /api/v2/webhooks/search | Search for webhooks
*WebhooksApi* | [**api_v2_webhooks_special_variables_get**](docs/WebhooksApi.md#api_v2_webhooks_special_variables_get) | **GET** /api/v2/webhooks/specialVariables | Get special variables for webhook event type
*WebhooksApi* | [**api_v2_webhooks_test_post**](docs/WebhooksApi.md#api_v2_webhooks_test_post) | **POST** /api/v2/webhooks/test | Test webhook's url
-*WebhooksLogsApi* | [**api_v2_webhooks_logs_get**](docs/WebhooksLogsApi.md#api_v2_webhooks_logs_get) | **GET** /api/v2/webhooks/logs | Get all webhook logs
+*WebhooksLogsApi* | [**api_v2_webhooks_logs_get**](docs/WebhooksLogsApi.md#api_v2_webhooks_logs_get) | **GET** /api/v2/webhooks/logs | Get last webhook logs
*WebhooksLogsApi* | [**api_v2_webhooks_logs_id_delete**](docs/WebhooksLogsApi.md#api_v2_webhooks_logs_id_delete) | **DELETE** /api/v2/webhooks/logs/{id} | Delete webhook log by ID
*WebhooksLogsApi* | [**api_v2_webhooks_logs_id_get**](docs/WebhooksLogsApi.md#api_v2_webhooks_logs_id_get) | **GET** /api/v2/webhooks/logs/{id} | Get webhook log by ID
*WorkItemsApi* | [**api_v2_work_items_id_attachments_post**](docs/WorkItemsApi.md#api_v2_work_items_id_attachments_post) | **POST** /api/v2/workItems/{id}/attachments | Upload and link attachment to WorkItem
diff --git a/docs/ApiV2ExternalIssuesSuggestionsPostRequest.md b/docs/ApiV2ExternalIssuesSuggestionsPostRequest.md
new file mode 100644
index 00000000..d44783dd
--- /dev/null
+++ b/docs/ApiV2ExternalIssuesSuggestionsPostRequest.md
@@ -0,0 +1,14 @@
+# ApiV2ExternalIssuesSuggestionsPostRequest
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**field** | [**ExternalIssueApiField**](ExternalIssueApiField.md) | |
+**project_ids** | **[str], none_type** | List of project identifiers where external issue is available | [optional]
+**inquiry** | [**GetExternalIssueSuggestionsApiModelInquiry**](GetExternalIssueSuggestionsApiModelInquiry.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/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest.md b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest.md
index ab3e1d2d..f3fb724a 100644
--- a/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest.md
+++ b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest.md
@@ -4,8 +4,9 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional]
-**extraction_model** | [**TestPlanTestPointsExtractionApiModel**](TestPlanTestPointsExtractionApiModel.md) | | [optional]
+**filter** | [**TestPlanTestPointsAutoTestsRerunApiModelFilter**](TestPlanTestPointsAutoTestsRerunApiModelFilter.md) | | [optional]
+**extraction_model** | [**TestPlanTestPointsAutoTestsRerunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md) | | [optional]
+**webhook_ids** | **[str], none_type** | Webhook ids to rerun. | [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/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest.md b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest.md
index 537c172b..82451d2c 100644
--- a/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest.md
+++ b/docs/ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest.md
@@ -6,8 +6,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**webhook_ids** | **[str]** | Webhook ids to run. |
**reset_not_actual_automated_test_points** | **bool** | Reset test point status when actual work item does not automated. |
-**filter** | [**TestPlanTestPointsAutoTestsRunApiModelFilter**](TestPlanTestPointsAutoTestsRunApiModelFilter.md) | | [optional]
-**extraction_model** | [**TestPlanTestPointsAutoTestsRunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md) | | [optional]
+**filter** | [**TestPlanTestPointsAutoTestsRerunApiModelFilter**](TestPlanTestPointsAutoTestsRerunApiModelFilter.md) | | [optional]
+**extraction_model** | [**TestPlanTestPointsAutoTestsRerunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md) | | [optional]
**build** | **str, none_type** | Specifies the test run build. | [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]
diff --git a/docs/ApiV2TestRunsIdRerunsPostRequest.md b/docs/ApiV2TestRunsIdRerunsPostRequest.md
index ea288a01..21e219ca 100644
--- a/docs/ApiV2TestRunsIdRerunsPostRequest.md
+++ b/docs/ApiV2TestRunsIdRerunsPostRequest.md
@@ -4,8 +4,9 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**filter** | [**TestResultsFilterApiModel**](TestResultsFilterApiModel.md) | | [optional]
-**extraction_model** | [**ManualRerunTestResultApiModel**](ManualRerunTestResultApiModel.md) | | [optional]
+**filter** | [**ManualRerunSelectTestResultsApiModelFilter**](ManualRerunSelectTestResultsApiModelFilter.md) | | [optional]
+**extraction_model** | [**ManualRerunSelectTestResultsApiModelExtractionModel**](ManualRerunSelectTestResultsApiModelExtractionModel.md) | | [optional]
+**webhook_ids** | **[str], none_type** | Webhook ids to rerun. | [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/AttachmentsApi.md b/docs/AttachmentsApi.md
index dd628c16..f48ca454 100644
--- a/docs/AttachmentsApi.md
+++ b/docs/AttachmentsApi.md
@@ -362,7 +362,7 @@ This endpoint does not need any parameter.
Upload new attachment file
-File size is restricted to 50 MB (52 428 800 bytes)
+File size is restricted to 1 GB (1 073 741 824 bytes)
### Example
diff --git a/docs/AutoTestsApi.md b/docs/AutoTestsApi.md
index da1ca363..65097b28 100644
--- a/docs/AutoTestsApi.md
+++ b/docs/AutoTestsApi.md
@@ -1906,7 +1906,7 @@ with testit_api_client.ApiClient(configuration) as api_client:
api_instance = auto_tests_api.AutoTestsApi(api_client)
auto_test_put_model = [
AutoTestPutModel(
- id="02887a0f-276a-4a9c-bfc0-1f33a3c07a13",
+ id="b63772c7-7c31-4748-8ff9-cc13975a106c",
work_item_ids_for_link_with_auto_test=[
"work_item_ids_for_link_with_auto_test_example",
],
@@ -1916,7 +1916,7 @@ with testit_api_client.ApiClient(configuration) as api_client:
external_id="external_id_example",
links=[
LinkPutModel(
- id="02887a0f-276a-4a9c-bfc0-1f33a3c07a13",
+ id="b63772c7-7c31-4748-8ff9-cc13975a106c",
title="title_example",
url="url_example",
description="description_example",
diff --git a/docs/ExternalIssueApiFieldSuggestion.md b/docs/ExternalIssueApiFieldSuggestion.md
index a8a982f8..5d431831 100644
--- a/docs/ExternalIssueApiFieldSuggestion.md
+++ b/docs/ExternalIssueApiFieldSuggestion.md
@@ -4,7 +4,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**value** | **str** | |
+**value** | **str** | Value of the external issue field |
+**external_service** | [**ExternalIssueApiFieldSuggestionExternalService**](ExternalIssueApiFieldSuggestionExternalService.md) | |
[[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/ExternalIssueApiFieldSuggestionExternalService.md b/docs/ExternalIssueApiFieldSuggestionExternalService.md
new file mode 100644
index 00000000..871b1265
--- /dev/null
+++ b/docs/ExternalIssueApiFieldSuggestionExternalService.md
@@ -0,0 +1,14 @@
+# ExternalIssueApiFieldSuggestionExternalService
+
+Associated external service with this value
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Identifier of external service |
+**name** | **str** | Name of external service |
+**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/ExternalIssueApiMetadata.md b/docs/ExternalIssueApiMetadata.md
new file mode 100644
index 00000000..c9d803d2
--- /dev/null
+++ b/docs/ExternalIssueApiMetadata.md
@@ -0,0 +1,18 @@
+# ExternalIssueApiMetadata
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Identifier of external issue in external service |
+**title** | **str** | Title of external issue in external service |
+**code** | **str, none_type** | Code of external issue in external service | [optional]
+**description** | **str, none_type** | Description of external issue in external service | [optional]
+**status** | **str, none_type** | Status of external issue in external service | [optional]
+**assignee** | **str, none_type** | Assignee of external issue in external service | [optional]
+**type** | [**ExternalIssueApiMetadataType**](ExternalIssueApiMetadataType.md) | | [optional]
+**priority** | [**ExternalIssueApiMetadataPriority**](ExternalIssueApiMetadataPriority.md) | | [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/ExternalIssueApiMetadataPriority.md b/docs/ExternalIssueApiMetadataPriority.md
new file mode 100644
index 00000000..2a972e7a
--- /dev/null
+++ b/docs/ExternalIssueApiMetadataPriority.md
@@ -0,0 +1,14 @@
+# ExternalIssueApiMetadataPriority
+
+Priority of external issue in external service
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of external issue priority |
+**icon_url** | **str, none_type** | Url to the icon of external issue priority | [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/ExternalIssueApiMetadataType.md b/docs/ExternalIssueApiMetadataType.md
new file mode 100644
index 00000000..6cd1a440
--- /dev/null
+++ b/docs/ExternalIssueApiMetadataType.md
@@ -0,0 +1,14 @@
+# ExternalIssueApiMetadataType
+
+Type of external issue in external service
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of external issue type |
+**icon_url** | **str, none_type** | Url to the icon of external issue 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/ExternalIssueApiPriority.md b/docs/ExternalIssueApiPriority.md
new file mode 100644
index 00000000..f95ecf55
--- /dev/null
+++ b/docs/ExternalIssueApiPriority.md
@@ -0,0 +1,12 @@
+# ExternalIssueApiPriority
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of external issue priority |
+**icon_url** | **str, none_type** | Url to the icon of external issue priority | [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/ExternalIssueApiResult.md b/docs/ExternalIssueApiResult.md
new file mode 100644
index 00000000..72fb9d36
--- /dev/null
+++ b/docs/ExternalIssueApiResult.md
@@ -0,0 +1,14 @@
+# ExternalIssueApiResult
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Identiief of external issue |
+**external_id** | **str** | Identifier of external issue in external service |
+**url** | **str** | Url of external issue |
+**metadata** | [**ExternalIssueApiResultMetadata**](ExternalIssueApiResultMetadata.md) | |
+
+[[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/ExternalIssueApiResultMetadata.md b/docs/ExternalIssueApiResultMetadata.md
new file mode 100644
index 00000000..1d2e13ee
--- /dev/null
+++ b/docs/ExternalIssueApiResultMetadata.md
@@ -0,0 +1,20 @@
+# ExternalIssueApiResultMetadata
+
+Metadata of external issue from external service
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Identifier of external issue in external service |
+**title** | **str** | Title of external issue in external service |
+**code** | **str, none_type** | Code of external issue in external service | [optional]
+**description** | **str, none_type** | Description of external issue in external service | [optional]
+**status** | **str, none_type** | Status of external issue in external service | [optional]
+**assignee** | **str, none_type** | Assignee of external issue in external service | [optional]
+**type** | [**ExternalIssueApiMetadataType**](ExternalIssueApiMetadataType.md) | | [optional]
+**priority** | [**ExternalIssueApiMetadataPriority**](ExternalIssueApiMetadataPriority.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/ExternalIssueApiType.md b/docs/ExternalIssueApiType.md
new file mode 100644
index 00000000..e8f774fc
--- /dev/null
+++ b/docs/ExternalIssueApiType.md
@@ -0,0 +1,12 @@
+# ExternalIssueApiType
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | Name of external issue type |
+**icon_url** | **str, none_type** | Url to the icon of external issue 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/ExternalIssueExternalServiceApiResult.md b/docs/ExternalIssueExternalServiceApiResult.md
new file mode 100644
index 00000000..d370f520
--- /dev/null
+++ b/docs/ExternalIssueExternalServiceApiResult.md
@@ -0,0 +1,12 @@
+# ExternalIssueExternalServiceApiResult
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | Identifier of external service |
+**name** | **str** | Name of external service |
+
+[[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/ExternalIssueMetadataModel.md b/docs/ExternalIssueMetadataModel.md
new file mode 100644
index 00000000..03392462
--- /dev/null
+++ b/docs/ExternalIssueMetadataModel.md
@@ -0,0 +1,18 @@
+# ExternalIssueMetadataModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | |
+**title** | **str** | |
+**code** | **str, none_type** | | [optional]
+**description** | **str, none_type** | | [optional]
+**status** | **str, none_type** | | [optional]
+**assignee** | **str, none_type** | | [optional]
+**type** | [**ExternalIssueTypeModel**](ExternalIssueTypeModel.md) | | [optional]
+**priority** | [**ExternalIssuePriorityModel**](ExternalIssuePriorityModel.md) | | [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/ExternalIssueModel.md b/docs/ExternalIssueModel.md
new file mode 100644
index 00000000..93c3b7d5
--- /dev/null
+++ b/docs/ExternalIssueModel.md
@@ -0,0 +1,14 @@
+# ExternalIssueModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | |
+**external_id** | **str** | |
+**url** | **str** | |
+**metadata** | [**ExternalIssueModelMetadata**](ExternalIssueModelMetadata.md) | |
+
+[[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/ExternalIssueModelMetadata.md b/docs/ExternalIssueModelMetadata.md
new file mode 100644
index 00000000..f5727803
--- /dev/null
+++ b/docs/ExternalIssueModelMetadata.md
@@ -0,0 +1,19 @@
+# ExternalIssueModelMetadata
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**id** | **str** | |
+**title** | **str** | |
+**code** | **str, none_type** | | [optional]
+**description** | **str, none_type** | | [optional]
+**status** | **str, none_type** | | [optional]
+**assignee** | **str, none_type** | | [optional]
+**type** | [**ExternalIssueTypeModel**](ExternalIssueTypeModel.md) | | [optional]
+**priority** | [**ExternalIssuePriorityModel**](ExternalIssuePriorityModel.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/ExternalIssuePriorityModel.md b/docs/ExternalIssuePriorityModel.md
new file mode 100644
index 00000000..13768208
--- /dev/null
+++ b/docs/ExternalIssuePriorityModel.md
@@ -0,0 +1,12 @@
+# ExternalIssuePriorityModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**icon_url** | **str, none_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/ExternalIssueTypeModel.md b/docs/ExternalIssueTypeModel.md
new file mode 100644
index 00000000..82c1507b
--- /dev/null
+++ b/docs/ExternalIssueTypeModel.md
@@ -0,0 +1,12 @@
+# ExternalIssueTypeModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**name** | **str** | |
+**icon_url** | **str, none_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/ExternalIssuesApi.md b/docs/ExternalIssuesApi.md
new file mode 100644
index 00000000..cd9d968b
--- /dev/null
+++ b/docs/ExternalIssuesApi.md
@@ -0,0 +1,95 @@
+# testit_api_client.ExternalIssuesApi
+
+All URIs are relative to *http://localhost*
+
+Method | HTTP request | Description
+------------- | ------------- | -------------
+[**api_v2_external_issues_suggestions_post**](ExternalIssuesApi.md#api_v2_external_issues_suggestions_post) | **POST** /api/v2/external-issues/suggestions | Returns list of suggestions from available external issues
+
+
+# **api_v2_external_issues_suggestions_post**
+> ExternalIssueApiFieldSuggestionReply api_v2_external_issues_suggestions_post()
+
+Returns list of suggestions from available external issues
+
+### Example
+
+* Api Key Authentication (Bearer or PrivateToken):
+
+```python
+import time
+import testit_api_client
+from testit_api_client.api import external_issues_api
+from testit_api_client.model.problem_details import ProblemDetails
+from testit_api_client.model.api_v2_external_issues_suggestions_post_request import ApiV2ExternalIssuesSuggestionsPostRequest
+from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply
+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: Bearer or PrivateToken
+configuration.api_key['Bearer or PrivateToken'] = 'YOUR_API_KEY'
+
+# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+# configuration.api_key_prefix['Bearer or PrivateToken'] = '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_issues_api.ExternalIssuesApi(api_client)
+ api_v2_external_issues_suggestions_post_request = ApiV2ExternalIssuesSuggestionsPostRequest(None) # ApiV2ExternalIssuesSuggestionsPostRequest | (optional)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Returns list of suggestions from available external issues
+ api_response = api_instance.api_v2_external_issues_suggestions_post(api_v2_external_issues_suggestions_post_request=api_v2_external_issues_suggestions_post_request)
+ pprint(api_response)
+ except testit_api_client.ApiException as e:
+ print("Exception when calling ExternalIssuesApi->api_v2_external_issues_suggestions_post: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **api_v2_external_issues_suggestions_post_request** | [**ApiV2ExternalIssuesSuggestionsPostRequest**](ApiV2ExternalIssuesSuggestionsPostRequest.md)| | [optional]
+
+### Return type
+
+[**ExternalIssueApiFieldSuggestionReply**](ExternalIssueApiFieldSuggestionReply.md)
+
+### Authorization
+
+[Bearer or PrivateToken](../README.md#Bearer or PrivateToken)
+
+### 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/GetExternalIssueSuggestionsApiModel.md b/docs/GetExternalIssueSuggestionsApiModel.md
index bc2c10bd..72cf176d 100644
--- a/docs/GetExternalIssueSuggestionsApiModel.md
+++ b/docs/GetExternalIssueSuggestionsApiModel.md
@@ -5,7 +5,8 @@
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**field** | [**ExternalIssueApiField**](ExternalIssueApiField.md) | |
-**inquiry** | [**Inquiry**](Inquiry.md) | |
+**project_ids** | **[str], none_type** | List of project identifiers where external issue is available | [optional]
+**inquiry** | [**GetExternalIssueSuggestionsApiModelInquiry**](GetExternalIssueSuggestionsApiModelInquiry.md) | | [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/GetExternalIssueSuggestionsApiModelInquiry.md b/docs/GetExternalIssueSuggestionsApiModelInquiry.md
new file mode 100644
index 00000000..24cd389d
--- /dev/null
+++ b/docs/GetExternalIssueSuggestionsApiModelInquiry.md
@@ -0,0 +1,15 @@
+# GetExternalIssueSuggestionsApiModelInquiry
+
+Inquiry
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**order** | [**[Order]**](Order.md) | |
+**filter** | [**CompositeFilter**](CompositeFilter.md) | | [optional]
+**page** | [**Page**](Page.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/LinkShortModel.md b/docs/LinkShortModel.md
index 6cf59579..b7e5fc5d 100644
--- a/docs/LinkShortModel.md
+++ b/docs/LinkShortModel.md
@@ -7,6 +7,7 @@ Name | Type | Description | Notes
**id** | **str** | |
**title** | **str** | |
**url** | **str** | |
+**type** | **str, none_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/ManualRerunSelectTestResultsApiModel.md b/docs/ManualRerunSelectTestResultsApiModel.md
index 98d04886..9361b70d 100644
--- a/docs/ManualRerunSelectTestResultsApiModel.md
+++ b/docs/ManualRerunSelectTestResultsApiModel.md
@@ -4,8 +4,9 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**filter** | [**TestResultsFilterApiModel**](TestResultsFilterApiModel.md) | | [optional]
-**extraction_model** | [**ManualRerunTestResultApiModel**](ManualRerunTestResultApiModel.md) | | [optional]
+**filter** | [**ManualRerunSelectTestResultsApiModelFilter**](ManualRerunSelectTestResultsApiModelFilter.md) | | [optional]
+**extraction_model** | [**ManualRerunSelectTestResultsApiModelExtractionModel**](ManualRerunSelectTestResultsApiModelExtractionModel.md) | | [optional]
+**webhook_ids** | **[str], none_type** | Webhook ids to rerun. | [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/ManualRerunSelectTestResultsApiModelExtractionModel.md b/docs/ManualRerunSelectTestResultsApiModelExtractionModel.md
new file mode 100644
index 00000000..1011376e
--- /dev/null
+++ b/docs/ManualRerunSelectTestResultsApiModelExtractionModel.md
@@ -0,0 +1,13 @@
+# ManualRerunSelectTestResultsApiModelExtractionModel
+
+Test results extraction model.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**test_result_ids** | [**ManualRerunTestResultApiModelTestResultIds**](ManualRerunTestResultApiModelTestResultIds.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/ManualRerunSelectTestResultsApiModelFilter.md b/docs/ManualRerunSelectTestResultsApiModelFilter.md
new file mode 100644
index 00000000..0101a130
--- /dev/null
+++ b/docs/ManualRerunSelectTestResultsApiModelFilter.md
@@ -0,0 +1,27 @@
+# ManualRerunSelectTestResultsApiModelFilter
+
+Test results filter.
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**configuration_ids** | **[str], none_type** | Specifies a test result configuration IDs to search for | [optional]
+**outcomes** | [**[TestResultOutcome], none_type**](TestResultOutcome.md) | Specifies a test result outcomes to search for | [optional]
+**status_codes** | **[str], none_type** | Specifies a test result status codes to search for | [optional]
+**failure_categories** | [**[FailureCategoryModel], none_type**](FailureCategoryModel.md) | Specifies a test result failure categories to search for | [optional]
+**namespace** | **str, none_type** | Specifies a test result namespace to search for | [optional]
+**class_name** | **str, none_type** | Specifies a test result class name to search for | [optional]
+**auto_test_global_ids** | **[int], none_type** | Specifies an autotest global IDs to search results for | [optional]
+**name** | **str, none_type** | Specifies an autotest name to search results for | [optional]
+**created_date** | [**TestResultsFilterApiModelCreatedDate**](TestResultsFilterApiModelCreatedDate.md) | | [optional]
+**modified_date** | [**TestResultsFilterApiModelModifiedDate**](TestResultsFilterApiModelModifiedDate.md) | | [optional]
+**started_on** | [**TestResultsFilterApiModelStartedOn**](TestResultsFilterApiModelStartedOn.md) | | [optional]
+**completed_on** | [**TestResultsFilterApiModelCompletedOn**](TestResultsFilterApiModelCompletedOn.md) | | [optional]
+**duration** | [**TestResultsFilterApiModelDuration**](TestResultsFilterApiModelDuration.md) | | [optional]
+**result_reasons** | **[str], none_type** | Specifies result reasons for searching test results | [optional]
+**test_run_ids** | **[str], none_type** | Specifies a test result test run IDs to search for | [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/ProjectWorkItemsApi.md b/docs/ProjectWorkItemsApi.md
index e0c7332e..bb1bf202 100644
--- a/docs/ProjectWorkItemsApi.md
+++ b/docs/ProjectWorkItemsApi.md
@@ -7,6 +7,7 @@ Method | HTTP request | Description
[**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
+[**api_v2_projects_project_id_work_items_search_work_item_id_index_post**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_search_work_item_id_index_post) | **POST** /api/v2/projects/{projectId}/workItems/search/{workItemId}/index | Get work item index (position) in a collection by its id.
[**api_v2_projects_project_id_work_items_tags_get**](ProjectWorkItemsApi.md#api_v2_projects_project_id_work_items_tags_get) | **GET** /api/v2/projects/{projectId}/workItems/tags | Get WorkItems Tags
[**get_work_items_by_project_id**](ProjectWorkItemsApi.md#get_work_items_by_project_id) | **GET** /api/v2/projects/{projectId}/workItems | Get project work items
@@ -328,6 +329,114 @@ 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_work_items_search_work_item_id_index_post**
+> WorkItemIndexApiResult api_v2_projects_project_id_work_items_search_work_item_id_index_post(project_id, work_item_id)
+
+Get work item index (position) in a collection by its id.
+
+### Example
+
+* Api Key Authentication (Bearer or PrivateToken):
+
+```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.work_item_index_api_result import WorkItemIndexApiResult
+from testit_api_client.model.api_v2_projects_project_id_work_items_search_post_request import ApiV2ProjectsProjectIdWorkItemsSearchPostRequest
+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: Bearer or PrivateToken
+configuration.api_key['Bearer or PrivateToken'] = 'YOUR_API_KEY'
+
+# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
+# configuration.api_key_prefix['Bearer or PrivateToken'] = '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 |
+ work_item_id = "workItemId_example" # str |
+ 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_projects_project_id_work_items_search_post_request = ApiV2ProjectsProjectIdWorkItemsSearchPostRequest(None) # ApiV2ProjectsProjectIdWorkItemsSearchPostRequest | (optional)
+
+ # example passing only required values which don't have defaults set
+ try:
+ # Get work item index (position) in a collection by its id.
+ api_response = api_instance.api_v2_projects_project_id_work_items_search_work_item_id_index_post(project_id, work_item_id)
+ pprint(api_response)
+ except testit_api_client.ApiException as e:
+ print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_search_work_item_id_index_post: %s\n" % e)
+
+ # example passing only required values which don't have defaults set
+ # and optional values
+ try:
+ # Get work item index (position) in a collection by its id.
+ api_response = api_instance.api_v2_projects_project_id_work_items_search_work_item_id_index_post(project_id, work_item_id, skip=skip, take=take, order_by=order_by, search_field=search_field, search_value=search_value, api_v2_projects_project_id_work_items_search_post_request=api_v2_projects_project_id_work_items_search_post_request)
+ pprint(api_response)
+ except testit_api_client.ApiException as e:
+ print("Exception when calling ProjectWorkItemsApi->api_v2_projects_project_id_work_items_search_work_item_id_index_post: %s\n" % e)
+```
+
+
+### Parameters
+
+Name | Type | Description | Notes
+------------- | ------------- | ------------- | -------------
+ **project_id** | **str**| |
+ **work_item_id** | **str**| |
+ **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_projects_project_id_work_items_search_post_request** | [**ApiV2ProjectsProjectIdWorkItemsSearchPostRequest**](ApiV2ProjectsProjectIdWorkItemsSearchPostRequest.md)| | [optional]
+
+### Return type
+
+[**WorkItemIndexApiResult**](WorkItemIndexApiResult.md)
+
+### Authorization
+
+[Bearer or PrivateToken](../README.md#Bearer or PrivateToken)
+
+### 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_projects_project_id_work_items_tags_get**
> [TagShortApiResult] api_v2_projects_project_id_work_items_tags_get(project_id)
diff --git a/docs/ProjectsApi.md b/docs/ProjectsApi.md
index 4d619f7b..999dcfa7 100644
--- a/docs/ProjectsApi.md
+++ b/docs/ProjectsApi.md
@@ -5,7 +5,6 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
[**add_globa_attributes_to_project**](ProjectsApi.md#add_globa_attributes_to_project) | **POST** /api/v2/projects/{id}/globalAttributes | Add global attributes to project
-[**api_v2_projects_demo_post**](ProjectsApi.md#api_v2_projects_demo_post) | **POST** /api/v2/projects/demo |
[**api_v2_projects_id_delete**](ProjectsApi.md#api_v2_projects_id_delete) | **DELETE** /api/v2/projects/{id} | Archive project
[**api_v2_projects_id_failure_classes_get**](ProjectsApi.md#api_v2_projects_id_failure_classes_get) | **GET** /api/v2/projects/{id}/failureClasses | Get failure classes
[**api_v2_projects_id_favorite_put**](ProjectsApi.md#api_v2_projects_id_favorite_put) | **PUT** /api/v2/projects/{id}/favorite | Mark Project as favorite
@@ -128,85 +127,6 @@ void (empty response body)
[[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_demo_post**
-> DemoProjectApiResult api_v2_projects_demo_post()
-
-
-
-### Example
-
-* Api Key Authentication (Bearer or PrivateToken):
-
-```python
-import time
-import testit_api_client
-from testit_api_client.api import projects_api
-from testit_api_client.model.problem_details import ProblemDetails
-from testit_api_client.model.demo_project_api_result import DemoProjectApiResult
-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: Bearer or PrivateToken
-configuration.api_key['Bearer or PrivateToken'] = 'YOUR_API_KEY'
-
-# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed
-# configuration.api_key_prefix['Bearer or PrivateToken'] = '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 = projects_api.ProjectsApi(api_client)
-
- # example, this endpoint has no required or optional parameters
- try:
- api_response = api_instance.api_v2_projects_demo_post()
- pprint(api_response)
- except testit_api_client.ApiException as e:
- print("Exception when calling ProjectsApi->api_v2_projects_demo_post: %s\n" % e)
-```
-
-
-### Parameters
-This endpoint does not need any parameter.
-
-### Return type
-
-[**DemoProjectApiResult**](DemoProjectApiResult.md)
-
-### Authorization
-
-[Bearer or PrivateToken](../README.md#Bearer or PrivateToken)
-
-### 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_delete**
> api_v2_projects_id_delete(id)
diff --git a/docs/README.md b/docs/README.md
index 2476a991..9d9dea80 100644
--- a/docs/README.md
+++ b/docs/README.md
@@ -18,6 +18,7 @@
- [ApiV2CustomAttributesTemplatesPostRequest](ApiV2CustomAttributesTemplatesPostRequest.md)
- [ApiV2CustomAttributesTemplatesPutRequest](ApiV2CustomAttributesTemplatesPutRequest.md)
- [ApiV2CustomAttributesTemplatesSearchPostRequest](ApiV2CustomAttributesTemplatesSearchPostRequest.md)
+ - [ApiV2ExternalIssuesSuggestionsPostRequest](ApiV2ExternalIssuesSuggestionsPostRequest.md)
- [ApiV2NotificationsSearchPostRequest](ApiV2NotificationsSearchPostRequest.md)
- [ApiV2ParametersSearchGroupsPostRequest](ApiV2ParametersSearchGroupsPostRequest.md)
- [ApiV2ParametersSearchPostRequest](ApiV2ParametersSearchPostRequest.md)
@@ -226,7 +227,21 @@
- [ExternalFormModel](ExternalFormModel.md)
- [ExternalIssueApiField](ExternalIssueApiField.md)
- [ExternalIssueApiFieldSuggestion](ExternalIssueApiFieldSuggestion.md)
+ - [ExternalIssueApiFieldSuggestionExternalService](ExternalIssueApiFieldSuggestionExternalService.md)
- [ExternalIssueApiFieldSuggestionReply](ExternalIssueApiFieldSuggestionReply.md)
+ - [ExternalIssueApiMetadata](ExternalIssueApiMetadata.md)
+ - [ExternalIssueApiMetadataPriority](ExternalIssueApiMetadataPriority.md)
+ - [ExternalIssueApiMetadataType](ExternalIssueApiMetadataType.md)
+ - [ExternalIssueApiPriority](ExternalIssueApiPriority.md)
+ - [ExternalIssueApiResult](ExternalIssueApiResult.md)
+ - [ExternalIssueApiResultMetadata](ExternalIssueApiResultMetadata.md)
+ - [ExternalIssueApiType](ExternalIssueApiType.md)
+ - [ExternalIssueExternalServiceApiResult](ExternalIssueExternalServiceApiResult.md)
+ - [ExternalIssueMetadataModel](ExternalIssueMetadataModel.md)
+ - [ExternalIssueModel](ExternalIssueModel.md)
+ - [ExternalIssueModelMetadata](ExternalIssueModelMetadata.md)
+ - [ExternalIssuePriorityModel](ExternalIssuePriorityModel.md)
+ - [ExternalIssueTypeModel](ExternalIssueTypeModel.md)
- [ExternalLinkModel](ExternalLinkModel.md)
- [ExternalServiceCategoryApiResult](ExternalServiceCategoryApiResult.md)
- [ExternalServiceMetadataApiResult](ExternalServiceMetadataApiResult.md)
@@ -241,6 +256,7 @@
- [GetExternalFormApiResult](GetExternalFormApiResult.md)
- [GetExternalFormApiResultForm](GetExternalFormApiResultForm.md)
- [GetExternalIssueSuggestionsApiModel](GetExternalIssueSuggestionsApiModel.md)
+ - [GetExternalIssueSuggestionsApiModelInquiry](GetExternalIssueSuggestionsApiModelInquiry.md)
- [GetShortProjectsApiModel](GetShortProjectsApiModel.md)
- [GetXlsxTestPointsByTestPlanModel](GetXlsxTestPointsByTestPlanModel.md)
- [GlobalCustomAttributePostModel](GlobalCustomAttributePostModel.md)
@@ -278,6 +294,8 @@
- [LogicalOperator](LogicalOperator.md)
- [ManualRerunApiResult](ManualRerunApiResult.md)
- [ManualRerunSelectTestResultsApiModel](ManualRerunSelectTestResultsApiModel.md)
+ - [ManualRerunSelectTestResultsApiModelExtractionModel](ManualRerunSelectTestResultsApiModelExtractionModel.md)
+ - [ManualRerunSelectTestResultsApiModelFilter](ManualRerunSelectTestResultsApiModelFilter.md)
- [ManualRerunTestResultApiModel](ManualRerunTestResultApiModel.md)
- [ManualRerunTestResultApiModelTestResultIds](ManualRerunTestResultApiModelTestResultIds.md)
- [MoveRequest](MoveRequest.md)
@@ -333,6 +351,7 @@
- [PublicTestRunModelStatusModel](PublicTestRunModelStatusModel.md)
- [RenameRequest](RenameRequest.md)
- [ReplaceProjectExternalServiceApiModel](ReplaceProjectExternalServiceApiModel.md)
+ - [RequestType](RequestType.md)
- [RequestTypeApiModel](RequestTypeApiModel.md)
- [RequestTypeModel](RequestTypeModel.md)
- [RerunTestResultApiResult](RerunTestResultApiResult.md)
@@ -340,6 +359,7 @@
- [RerunsModel](RerunsModel.md)
- [SearchAttributesInProjectRequest](SearchAttributesInProjectRequest.md)
- [SearchCustomAttributeTemplateGetModel](SearchCustomAttributeTemplateGetModel.md)
+ - [SearchExternalIssuesApiModel](SearchExternalIssuesApiModel.md)
- [SearchTestRunsApiModel](SearchTestRunsApiModel.md)
- [SearchTestStatusesApiModel](SearchTestStatusesApiModel.md)
- [SearchWebhooksQueryModel](SearchWebhooksQueryModel.md)
@@ -408,9 +428,9 @@
- [TestPlanTestPointsAnalyticsApiResult](TestPlanTestPointsAnalyticsApiResult.md)
- [TestPlanTestPointsApiModel](TestPlanTestPointsApiModel.md)
- [TestPlanTestPointsAutoTestsRerunApiModel](TestPlanTestPointsAutoTestsRerunApiModel.md)
+ - [TestPlanTestPointsAutoTestsRerunApiModelExtractionModel](TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md)
+ - [TestPlanTestPointsAutoTestsRerunApiModelFilter](TestPlanTestPointsAutoTestsRerunApiModelFilter.md)
- [TestPlanTestPointsAutoTestsRunApiModel](TestPlanTestPointsAutoTestsRunApiModel.md)
- - [TestPlanTestPointsAutoTestsRunApiModelExtractionModel](TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md)
- - [TestPlanTestPointsAutoTestsRunApiModelFilter](TestPlanTestPointsAutoTestsRunApiModelFilter.md)
- [TestPlanTestPointsExtractionApiModel](TestPlanTestPointsExtractionApiModel.md)
- [TestPlanTestPointsExtractionApiModelIds](TestPlanTestPointsExtractionApiModelIds.md)
- [TestPlanTestPointsGroupApiModel](TestPlanTestPointsGroupApiModel.md)
@@ -546,6 +566,7 @@
- [TestSuiteWithChildrenModel](TestSuiteWithChildrenModel.md)
- [TestSuiteWorkItemsSearchModel](TestSuiteWorkItemsSearchModel.md)
- [TestSuiteWorkItemsSearchModelDuration](TestSuiteWorkItemsSearchModelDuration.md)
+ - [TestSuiteWorkItemsSearchModelExternalMetadata](TestSuiteWorkItemsSearchModelExternalMetadata.md)
- [TestSuiteWorkItemsSearchModelLinks](TestSuiteWorkItemsSearchModelLinks.md)
- [TestSuiteWorkItemsSearchModelMedianDuration](TestSuiteWorkItemsSearchModelMedianDuration.md)
- [UpdateAutoTestRequest](UpdateAutoTestRequest.md)
@@ -585,11 +606,11 @@
- [WebHookEventType](WebHookEventType.md)
- [WebHookEventTypeModel](WebHookEventTypeModel.md)
- [WebHookEventTypeRequest](WebHookEventTypeRequest.md)
- - [WebHookLogModel](WebHookLogModel.md)
- [WebHookModel](WebHookModel.md)
- [WebHookPostModel](WebHookPostModel.md)
- [WebHookTestModel](WebHookTestModel.md)
- [WebhookBulkUpdateApiModel](WebhookBulkUpdateApiModel.md)
+ - [WebhookLogApiResult](WebhookLogApiResult.md)
- [WebhookResponse](WebhookResponse.md)
- [WebhookVariablesType](WebhookVariablesType.md)
- [WebhooksDeleteApiModel](WebhooksDeleteApiModel.md)
@@ -623,11 +644,16 @@
- [WorkItemCommentPutModel](WorkItemCommentPutModel.md)
- [WorkItemEntityTypeApiModel](WorkItemEntityTypeApiModel.md)
- [WorkItemEntityTypes](WorkItemEntityTypes.md)
+ - [WorkItemExternalMetadataFieldFilterApiModel](WorkItemExternalMetadataFieldFilterApiModel.md)
+ - [WorkItemExternalMetadataFieldFilterModel](WorkItemExternalMetadataFieldFilterModel.md)
+ - [WorkItemExternalMetadataFilterApiModel](WorkItemExternalMetadataFilterApiModel.md)
+ - [WorkItemExternalMetadataFilterModel](WorkItemExternalMetadataFilterModel.md)
- [WorkItemExtractionApiModel](WorkItemExtractionApiModel.md)
- [WorkItemExtractionApiModelIds](WorkItemExtractionApiModelIds.md)
- [WorkItemExtractionApiModelSectionIds](WorkItemExtractionApiModelSectionIds.md)
- [WorkItemExtractionModel](WorkItemExtractionModel.md)
- [WorkItemFilterApiModel](WorkItemFilterApiModel.md)
+ - [WorkItemFilterApiModelExternalMetadata](WorkItemFilterApiModelExternalMetadata.md)
- [WorkItemFilterApiModelLinks](WorkItemFilterApiModelLinks.md)
- [WorkItemFilterModel](WorkItemFilterModel.md)
- [WorkItemGroupGetModel](WorkItemGroupGetModel.md)
@@ -636,6 +662,7 @@
- [WorkItemGroupType](WorkItemGroupType.md)
- [WorkItemIdModel](WorkItemIdModel.md)
- [WorkItemIdentifierModel](WorkItemIdentifierModel.md)
+ - [WorkItemIndexApiResult](WorkItemIndexApiResult.md)
- [WorkItemLikeModel](WorkItemLikeModel.md)
- [WorkItemLinkChangeViewModel](WorkItemLinkChangeViewModel.md)
- [WorkItemLinkChangeViewModelArrayChangedFieldViewModel](WorkItemLinkChangeViewModelArrayChangedFieldViewModel.md)
diff --git a/docs/RequestType.md b/docs/RequestType.md
new file mode 100644
index 00000000..cd259934
--- /dev/null
+++ b/docs/RequestType.md
@@ -0,0 +1,11 @@
+# RequestType
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | **str** | | must be one of ["Post", "Put", "Delete", ]
+
+[[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/SearchExternalIssuesApiModel.md b/docs/SearchExternalIssuesApiModel.md
new file mode 100644
index 00000000..dde5a473
--- /dev/null
+++ b/docs/SearchExternalIssuesApiModel.md
@@ -0,0 +1,11 @@
+# SearchExternalIssuesApiModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**url** | **str** | Url of external issue |
+
+[[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/SearchWorkItemsRequest.md b/docs/SearchWorkItemsRequest.md
index fa694c49..96974ceb 100644
--- a/docs/SearchWorkItemsRequest.md
+++ b/docs/SearchWorkItemsRequest.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**name_or_id** | **str, none_type** | Name or identifier (UUID) of work item | [optional]
**include_ids** | **[str], none_type** | Collection of identifiers of work items which need to be included in result regardless of filtering | [optional]
**exclude_ids** | **[str], none_type** | Collection of identifiers of work items which need to be excluded from result regardless of filtering | [optional]
+**external_metadata** | [**TestSuiteWorkItemsSearchModelExternalMetadata**](TestSuiteWorkItemsSearchModelExternalMetadata.md) | | [optional]
**project_ids** | **[str], none_type** | Collection of project identifiers | [optional]
**links** | [**TestSuiteWorkItemsSearchModelLinks**](TestSuiteWorkItemsSearchModelLinks.md) | | [optional]
**name** | **str, none_type** | Name of work item | [optional]
diff --git a/docs/TestPlanTestPointsAutoTestsRerunApiModel.md b/docs/TestPlanTestPointsAutoTestsRerunApiModel.md
index f23c5dc6..175d9871 100644
--- a/docs/TestPlanTestPointsAutoTestsRerunApiModel.md
+++ b/docs/TestPlanTestPointsAutoTestsRerunApiModel.md
@@ -4,8 +4,9 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**filter** | [**TestPlanTestPointsSearchApiModel**](TestPlanTestPointsSearchApiModel.md) | | [optional]
-**extraction_model** | [**TestPlanTestPointsExtractionApiModel**](TestPlanTestPointsExtractionApiModel.md) | | [optional]
+**filter** | [**TestPlanTestPointsAutoTestsRerunApiModelFilter**](TestPlanTestPointsAutoTestsRerunApiModelFilter.md) | | [optional]
+**extraction_model** | [**TestPlanTestPointsAutoTestsRerunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md) | | [optional]
+**webhook_ids** | **[str], none_type** | Webhook ids to rerun. | [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/TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md b/docs/TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md
similarity index 91%
rename from docs/TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md
rename to docs/TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md
index f3e86eb8..27ab22a2 100644
--- a/docs/TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md
+++ b/docs/TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md
@@ -1,4 +1,4 @@
-# TestPlanTestPointsAutoTestsRunApiModelExtractionModel
+# TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
Test points extraction model.
diff --git a/docs/TestPlanTestPointsAutoTestsRunApiModelFilter.md b/docs/TestPlanTestPointsAutoTestsRerunApiModelFilter.md
similarity index 98%
rename from docs/TestPlanTestPointsAutoTestsRunApiModelFilter.md
rename to docs/TestPlanTestPointsAutoTestsRerunApiModelFilter.md
index aec38ae6..e53f5c09 100644
--- a/docs/TestPlanTestPointsAutoTestsRunApiModelFilter.md
+++ b/docs/TestPlanTestPointsAutoTestsRerunApiModelFilter.md
@@ -1,4 +1,4 @@
-# TestPlanTestPointsAutoTestsRunApiModelFilter
+# TestPlanTestPointsAutoTestsRerunApiModelFilter
Test points filters.
diff --git a/docs/TestPlanTestPointsAutoTestsRunApiModel.md b/docs/TestPlanTestPointsAutoTestsRunApiModel.md
index 43f73d79..6b4e523d 100644
--- a/docs/TestPlanTestPointsAutoTestsRunApiModel.md
+++ b/docs/TestPlanTestPointsAutoTestsRunApiModel.md
@@ -6,8 +6,8 @@ Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**webhook_ids** | **[str]** | Webhook ids to run. |
**reset_not_actual_automated_test_points** | **bool** | Reset test point status when actual work item does not automated. |
-**filter** | [**TestPlanTestPointsAutoTestsRunApiModelFilter**](TestPlanTestPointsAutoTestsRunApiModelFilter.md) | | [optional]
-**extraction_model** | [**TestPlanTestPointsAutoTestsRunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRunApiModelExtractionModel.md) | | [optional]
+**filter** | [**TestPlanTestPointsAutoTestsRerunApiModelFilter**](TestPlanTestPointsAutoTestsRerunApiModelFilter.md) | | [optional]
+**extraction_model** | [**TestPlanTestPointsAutoTestsRerunApiModelExtractionModel**](TestPlanTestPointsAutoTestsRerunApiModelExtractionModel.md) | | [optional]
**build** | **str, none_type** | Specifies the test run build. | [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/TestSuiteWorkItemsSearchModel.md b/docs/TestSuiteWorkItemsSearchModel.md
index 025eecab..9308abf9 100644
--- a/docs/TestSuiteWorkItemsSearchModel.md
+++ b/docs/TestSuiteWorkItemsSearchModel.md
@@ -9,6 +9,7 @@ Name | Type | Description | Notes
**name_or_id** | **str, none_type** | Name or identifier (UUID) of work item | [optional]
**include_ids** | **[str], none_type** | Collection of identifiers of work items which need to be included in result regardless of filtering | [optional]
**exclude_ids** | **[str], none_type** | Collection of identifiers of work items which need to be excluded from result regardless of filtering | [optional]
+**external_metadata** | [**TestSuiteWorkItemsSearchModelExternalMetadata**](TestSuiteWorkItemsSearchModelExternalMetadata.md) | | [optional]
**project_ids** | **[str], none_type** | Collection of project identifiers | [optional]
**links** | [**TestSuiteWorkItemsSearchModelLinks**](TestSuiteWorkItemsSearchModelLinks.md) | | [optional]
**name** | **str, none_type** | Name of work item | [optional]
diff --git a/docs/TestSuiteWorkItemsSearchModelExternalMetadata.md b/docs/TestSuiteWorkItemsSearchModelExternalMetadata.md
new file mode 100644
index 00000000..5d3cd416
--- /dev/null
+++ b/docs/TestSuiteWorkItemsSearchModelExternalMetadata.md
@@ -0,0 +1,17 @@
+# TestSuiteWorkItemsSearchModelExternalMetadata
+
+Specifies work item filter by its external metadata
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ids** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Identifiers of external issues to search for | [optional]
+**types** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Types of external issues to search for | [optional]
+**priorities** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Priorities of external issues to search for | [optional]
+**statuses** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Statuses of external issues to search for | [optional]
+**assignees** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Assignees of external issues to search for | [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/WebHookLogModel.md b/docs/WebhookLogApiResult.md
similarity index 75%
rename from docs/WebHookLogModel.md
rename to docs/WebhookLogApiResult.md
index 45e83bad..bc06ae4f 100644
--- a/docs/WebHookLogModel.md
+++ b/docs/WebhookLogApiResult.md
@@ -1,19 +1,19 @@
-# WebHookLogModel
+# WebhookLogApiResult
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
+**id** | **str** | |
+**is_deleted** | **bool** | |
**web_hook_name** | **str** | |
-**event_type** | [**WebHookEventTypeModel**](WebHookEventTypeModel.md) | |
+**event_type** | [**WebHookEventType**](WebHookEventType.md) | |
**web_hook_id** | **str** | |
**response_status_code** | **int** | |
**project_id** | **str** | |
**url** | **str** | |
-**request_type** | [**RequestTypeModel**](RequestTypeModel.md) | |
+**request_type** | [**RequestType**](RequestType.md) | |
**created_by_id** | **str** | |
-**id** | **str** | Unique ID of the entity |
-**is_deleted** | **bool** | Indicates if the entity is deleted |
**request_body** | **str, none_type** | | [optional]
**request_meta** | **str, none_type** | | [optional]
**response_body** | **str, none_type** | | [optional]
diff --git a/docs/WebhooksLogsApi.md b/docs/WebhooksLogsApi.md
index 8d6995d4..c139fd42 100644
--- a/docs/WebhooksLogsApi.md
+++ b/docs/WebhooksLogsApi.md
@@ -4,15 +4,15 @@ All URIs are relative to *http://localhost*
Method | HTTP request | Description
------------- | ------------- | -------------
-[**api_v2_webhooks_logs_get**](WebhooksLogsApi.md#api_v2_webhooks_logs_get) | **GET** /api/v2/webhooks/logs | Get all webhook logs
+[**api_v2_webhooks_logs_get**](WebhooksLogsApi.md#api_v2_webhooks_logs_get) | **GET** /api/v2/webhooks/logs | Get last webhook logs
[**api_v2_webhooks_logs_id_delete**](WebhooksLogsApi.md#api_v2_webhooks_logs_id_delete) | **DELETE** /api/v2/webhooks/logs/{id} | Delete webhook log by ID
[**api_v2_webhooks_logs_id_get**](WebhooksLogsApi.md#api_v2_webhooks_logs_id_get) | **GET** /api/v2/webhooks/logs/{id} | Get webhook log by ID
# **api_v2_webhooks_logs_get**
-> [WebHookLogModel] api_v2_webhooks_logs_get()
+> [WebhookLogApiResult] api_v2_webhooks_logs_get()
-Get all webhook logs
+Get last webhook logs
### Example
@@ -22,7 +22,7 @@ Get all webhook logs
import time
import testit_api_client
from testit_api_client.api import webhooks_logs_api
-from testit_api_client.model.web_hook_log_model import WebHookLogModel
+from testit_api_client.model.webhook_log_api_result import WebhookLogApiResult
from testit_api_client.model.problem_details import ProblemDetails
from testit_api_client.model.validation_problem_details import ValidationProblemDetails
from pprint import pprint
@@ -57,7 +57,7 @@ with testit_api_client.ApiClient(configuration) as api_client:
# example passing only required values which don't have defaults set
# and optional values
try:
- # Get all webhook logs
+ # Get last webhook logs
api_response = api_instance.api_v2_webhooks_logs_get(project_id=project_id, skip=skip, take=take, order_by=order_by, search_field=search_field, search_value=search_value)
pprint(api_response)
except testit_api_client.ApiException as e:
@@ -78,7 +78,7 @@ Name | Type | Description | Notes
### Return type
-[**[WebHookLogModel]**](WebHookLogModel.md)
+[**[WebhookLogApiResult]**](WebhookLogApiResult.md)
### Authorization
@@ -95,13 +95,12 @@ Name | Type | Description | Notes
| 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
|
-**404** | Not Found | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Forbidden | - |
+**404** | Not Found | - |
**409** | Conflict | - |
**422** | Unprocessable Entity | - |
-**0** | Error | - |
[[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)
@@ -180,7 +179,7 @@ void (empty response body)
**204** | No Content | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
-**403** | System administrator permissions are required | - |
+**403** | Forbidden | - |
**404** | Not Found | - |
**409** | Conflict | - |
**422** | Unprocessable Entity | - |
@@ -188,7 +187,7 @@ void (empty response body)
[[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_webhooks_logs_id_get**
-> WebHookLogModel api_v2_webhooks_logs_id_get(id)
+> WebhookLogApiResult api_v2_webhooks_logs_id_get(id)
Get webhook log by ID
@@ -200,7 +199,7 @@ Get webhook log by ID
import time
import testit_api_client
from testit_api_client.api import webhooks_logs_api
-from testit_api_client.model.web_hook_log_model import WebHookLogModel
+from testit_api_client.model.webhook_log_api_result import WebhookLogApiResult
from testit_api_client.model.problem_details import ProblemDetails
from testit_api_client.model.validation_problem_details import ValidationProblemDetails
from pprint import pprint
@@ -245,7 +244,7 @@ Name | Type | Description | Notes
### Return type
-[**WebHookLogModel**](WebHookLogModel.md)
+[**WebhookLogApiResult**](WebhookLogApiResult.md)
### Authorization
@@ -262,13 +261,12 @@ Name | Type | Description | Notes
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | OK | - |
-**404** | Not Found | - |
**400** | Bad Request | - |
**401** | Unauthorized | - |
**403** | Forbidden | - |
+**404** | Not Found | - |
**409** | Conflict | - |
**422** | Unprocessable Entity | - |
-**0** | Error | - |
[[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/WorkItemApiResult.md b/docs/WorkItemApiResult.md
index fd3427a1..83cfaac2 100644
--- a/docs/WorkItemApiResult.md
+++ b/docs/WorkItemApiResult.md
@@ -29,6 +29,7 @@ Name | Type | Description | Notes
**auto_tests** | [**[AutoTestModel]**](AutoTestModel.md) | Automated tests associated with the work item |
**attachments** | [**[AttachmentModel]**](AttachmentModel.md) | Files attached to the work item |
**links** | [**[LinkModel]**](LinkModel.md) | Set of links related to the work item |
+**external_issues** | [**[ExternalIssueApiResult]**](ExternalIssueApiResult.md) | Set of external issues related to the work item |
**created_date** | **datetime** | Creation date of the work item |
**created_by_id** | **str** | Unique identifier of the work item creator |
**is_deleted** | **bool** | Indicates whether the work item is marked as deleted |
diff --git a/docs/WorkItemExternalMetadataFieldFilterApiModel.md b/docs/WorkItemExternalMetadataFieldFilterApiModel.md
new file mode 100644
index 00000000..1dfb1aa9
--- /dev/null
+++ b/docs/WorkItemExternalMetadataFieldFilterApiModel.md
@@ -0,0 +1,12 @@
+# WorkItemExternalMetadataFieldFilterApiModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | **str** | Value of the field |
+**external_service_id** | **str** | Identifier of external service which is source of this value |
+
+[[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/WorkItemExternalMetadataFieldFilterModel.md b/docs/WorkItemExternalMetadataFieldFilterModel.md
new file mode 100644
index 00000000..92154075
--- /dev/null
+++ b/docs/WorkItemExternalMetadataFieldFilterModel.md
@@ -0,0 +1,12 @@
+# WorkItemExternalMetadataFieldFilterModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**value** | **str** | Value of the field |
+**external_service_id** | **str** | Identifier of external service which is source of this value |
+
+[[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/WorkItemExternalMetadataFilterApiModel.md b/docs/WorkItemExternalMetadataFilterApiModel.md
new file mode 100644
index 00000000..bbfa8649
--- /dev/null
+++ b/docs/WorkItemExternalMetadataFilterApiModel.md
@@ -0,0 +1,15 @@
+# WorkItemExternalMetadataFilterApiModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ids** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Identifiers of external issues to search for | [optional]
+**types** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Types of external issues to search for | [optional]
+**priorities** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Priorities of external issues to search for | [optional]
+**statuses** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Statuses of external issues to search for | [optional]
+**assignees** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Assignees of external issues to search for | [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/WorkItemExternalMetadataFilterModel.md b/docs/WorkItemExternalMetadataFilterModel.md
new file mode 100644
index 00000000..ea9787ee
--- /dev/null
+++ b/docs/WorkItemExternalMetadataFilterModel.md
@@ -0,0 +1,15 @@
+# WorkItemExternalMetadataFilterModel
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ids** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Identifiers of external issues to search for | [optional]
+**types** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Types of external issues to search for | [optional]
+**priorities** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Priorities of external issues to search for | [optional]
+**statuses** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Statuses of external issues to search for | [optional]
+**assignees** | [**[WorkItemExternalMetadataFieldFilterModel], none_type**](WorkItemExternalMetadataFieldFilterModel.md) | Assignees of external issues to search for | [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/WorkItemFilterApiModel.md b/docs/WorkItemFilterApiModel.md
index 8f536058..ffe56e34 100644
--- a/docs/WorkItemFilterApiModel.md
+++ b/docs/WorkItemFilterApiModel.md
@@ -29,6 +29,7 @@ Name | Type | Description | Notes
**auto_test_ids** | **[str], none_type** | Collection of identifiers of linked autotests | [optional]
**work_item_version_ids** | **[str], none_type** | Collection of identifiers work items versions. | [optional]
**links** | [**WorkItemFilterApiModelLinks**](WorkItemFilterApiModelLinks.md) | | [optional]
+**external_metadata** | [**WorkItemFilterApiModelExternalMetadata**](WorkItemFilterApiModelExternalMetadata.md) | | [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/WorkItemFilterApiModelExternalMetadata.md b/docs/WorkItemFilterApiModelExternalMetadata.md
new file mode 100644
index 00000000..5d98d89a
--- /dev/null
+++ b/docs/WorkItemFilterApiModelExternalMetadata.md
@@ -0,0 +1,17 @@
+# WorkItemFilterApiModelExternalMetadata
+
+Specifies work item filter by its external metadata
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**ids** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Identifiers of external issues to search for | [optional]
+**types** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Types of external issues to search for | [optional]
+**priorities** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Priorities of external issues to search for | [optional]
+**statuses** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Statuses of external issues to search for | [optional]
+**assignees** | [**[WorkItemExternalMetadataFieldFilterApiModel], none_type**](WorkItemExternalMetadataFieldFilterApiModel.md) | Assignees of external issues to search for | [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/WorkItemFilterModel.md b/docs/WorkItemFilterModel.md
index 311b7abc..4878a6bb 100644
--- a/docs/WorkItemFilterModel.md
+++ b/docs/WorkItemFilterModel.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**name_or_id** | **str, none_type** | Name or identifier (UUID) of work item | [optional]
**include_ids** | **[str], none_type** | Collection of identifiers of work items which need to be included in result regardless of filtering | [optional]
**exclude_ids** | **[str], none_type** | Collection of identifiers of work items which need to be excluded from result regardless of filtering | [optional]
+**external_metadata** | [**TestSuiteWorkItemsSearchModelExternalMetadata**](TestSuiteWorkItemsSearchModelExternalMetadata.md) | | [optional]
**project_ids** | **[str], none_type** | Collection of project identifiers | [optional]
**links** | [**TestSuiteWorkItemsSearchModelLinks**](TestSuiteWorkItemsSearchModelLinks.md) | | [optional]
**name** | **str, none_type** | Name of work item | [optional]
diff --git a/docs/WorkItemIndexApiResult.md b/docs/WorkItemIndexApiResult.md
new file mode 100644
index 00000000..cdc0a3a8
--- /dev/null
+++ b/docs/WorkItemIndexApiResult.md
@@ -0,0 +1,12 @@
+# WorkItemIndexApiResult
+
+
+## Properties
+Name | Type | Description | Notes
+------------ | ------------- | ------------- | -------------
+**current_index** | **int** | Current index (position) of the element in a collection |
+**total_count** | **int** | Total count of elements in a collection |
+
+[[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/WorkItemModel.md b/docs/WorkItemModel.md
index 71960511..0ec6ce39 100644
--- a/docs/WorkItemModel.md
+++ b/docs/WorkItemModel.md
@@ -14,6 +14,7 @@ Name | Type | Description | Notes
**created_date** | **datetime** | |
**created_by_id** | **str** | |
**global_id** | **int** | |
+**external_issues** | [**[ExternalIssueModel]**](ExternalIssueModel.md) | |
**id** | **str** | |
**section_id** | **str** | |
**state** | [**WorkItemStates**](WorkItemStates.md) | |
diff --git a/docs/WorkItemPreviewApiModel.md b/docs/WorkItemPreviewApiModel.md
index 12203711..fcce85b4 100644
--- a/docs/WorkItemPreviewApiModel.md
+++ b/docs/WorkItemPreviewApiModel.md
@@ -7,8 +7,6 @@ Name | Type | Description | Notes
**name** | **str** | |
**description** | **str** | |
**steps** | [**[WorkItemPreviewStepApiModel]**](WorkItemPreviewStepApiModel.md) | |
-**action** | **str** | |
-**expected** | **str** | |
[[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/WorkItemSelectApiModelFilter.md b/docs/WorkItemSelectApiModelFilter.md
index e7fbe741..b62b3c7b 100644
--- a/docs/WorkItemSelectApiModelFilter.md
+++ b/docs/WorkItemSelectApiModelFilter.md
@@ -29,6 +29,7 @@ Name | Type | Description | Notes
**auto_test_ids** | **[str], none_type** | Collection of identifiers of linked autotests | [optional]
**work_item_version_ids** | **[str], none_type** | Collection of identifiers work items versions. | [optional]
**links** | [**WorkItemFilterApiModelLinks**](WorkItemFilterApiModelLinks.md) | | [optional]
+**external_metadata** | [**WorkItemFilterApiModelExternalMetadata**](WorkItemFilterApiModelExternalMetadata.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/WorkItemSelectModelFilter.md b/docs/WorkItemSelectModelFilter.md
index 0ca403eb..b4e245e0 100644
--- a/docs/WorkItemSelectModelFilter.md
+++ b/docs/WorkItemSelectModelFilter.md
@@ -8,6 +8,7 @@ Name | Type | Description | Notes
**name_or_id** | **str, none_type** | Name or identifier (UUID) of work item | [optional]
**include_ids** | **[str], none_type** | Collection of identifiers of work items which need to be included in result regardless of filtering | [optional]
**exclude_ids** | **[str], none_type** | Collection of identifiers of work items which need to be excluded from result regardless of filtering | [optional]
+**external_metadata** | [**TestSuiteWorkItemsSearchModelExternalMetadata**](TestSuiteWorkItemsSearchModelExternalMetadata.md) | | [optional]
**project_ids** | **[str], none_type** | Collection of project identifiers | [optional]
**links** | [**TestSuiteWorkItemsSearchModelLinks**](TestSuiteWorkItemsSearchModelLinks.md) | | [optional]
**name** | **str, none_type** | Name of work item | [optional]
diff --git a/docs/WorkflowProjectApiResultApiCollectionPreview.md b/docs/WorkflowProjectApiResultApiCollectionPreview.md
index 7d0dbbb3..e8d51ab3 100644
--- a/docs/WorkflowProjectApiResultApiCollectionPreview.md
+++ b/docs/WorkflowProjectApiResultApiCollectionPreview.md
@@ -4,8 +4,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | |
-**total_count** | **int** | |
+**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | Preview items |
+**total_count** | **int** | Total count |
[[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/WorkflowShortApiResultProjects.md b/docs/WorkflowShortApiResultProjects.md
index 9f1e321f..7bf2078e 100644
--- a/docs/WorkflowShortApiResultProjects.md
+++ b/docs/WorkflowShortApiResultProjects.md
@@ -4,8 +4,8 @@
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
-**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | |
-**total_count** | **int** | |
+**data** | [**[WorkflowProjectApiResult]**](WorkflowProjectApiResult.md) | Preview items |
+**total_count** | **int** | Total count |
**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/setup.py b/setup.py
index 58c7e783..0ddaa144 100644
--- a/setup.py
+++ b/setup.py
@@ -2,7 +2,7 @@
NAME = "testit-api-client"
-VERSION = "7.1.1"
+VERSION = "7.2.0.post550"
PYTHON_REQUIRES = ">=3.7"
REQUIRES = [
diff --git a/src/testit_api_client/__init__.py b/src/testit_api_client/__init__.py
index 924f3c40..5ad269b5 100644
--- a/src/testit_api_client/__init__.py
+++ b/src/testit_api_client/__init__.py
@@ -10,7 +10,7 @@
"""
-__version__ = "7.1.1"
+__version__ = "7.2.0"
# import ApiClient
from testit_api_client.api_client import ApiClient
diff --git a/src/testit_api_client/api/attachments_api.py b/src/testit_api_client/api/attachments_api.py
index ca93ed34..d9fb06d9 100644
--- a/src/testit_api_client/api/attachments_api.py
+++ b/src/testit_api_client/api/attachments_api.py
@@ -666,7 +666,7 @@ def api_v2_attachments_post(
):
"""Upload new attachment file # noqa: E501
- File size is restricted to 50 MB (52 428 800 bytes) # noqa: E501
+ File size is restricted to 1 GB (1 073 741 824 bytes) # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
diff --git a/src/testit_api_client/api/external_issues_api.py b/src/testit_api_client/api/external_issues_api.py
new file mode 100644
index 00000000..a5751117
--- /dev/null
+++ b/src/testit_api_client/api/external_issues_api.py
@@ -0,0 +1,169 @@
+"""
+ 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_external_issues_suggestions_post_request import ApiV2ExternalIssuesSuggestionsPostRequest
+from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply
+from testit_api_client.model.problem_details import ProblemDetails
+from testit_api_client.model.validation_problem_details import ValidationProblemDetails
+
+
+class ExternalIssuesApi(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_issues_suggestions_post_endpoint = _Endpoint(
+ settings={
+ 'response_type': (ExternalIssueApiFieldSuggestionReply,),
+ 'auth': [
+ 'Bearer or PrivateToken'
+ ],
+ 'endpoint_path': '/api/v2/external-issues/suggestions',
+ 'operation_id': 'api_v2_external_issues_suggestions_post',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'api_v2_external_issues_suggestions_post_request',
+ ],
+ 'required': [],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'api_v2_external_issues_suggestions_post_request':
+ (ApiV2ExternalIssuesSuggestionsPostRequest,),
+ },
+ 'attribute_map': {
+ },
+ 'location_map': {
+ 'api_v2_external_issues_suggestions_post_request': 'body',
+ },
+ 'collection_format_map': {
+ }
+ },
+ headers_map={
+ 'accept': [
+ 'application/json'
+ ],
+ 'content_type': [
+ 'application/json'
+ ]
+ },
+ api_client=api_client
+ )
+
+ def api_v2_external_issues_suggestions_post(
+ self,
+ **kwargs
+ ):
+ """Returns list of suggestions from available external issues # 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_issues_suggestions_post(async_req=True)
+ >>> result = thread.get()
+
+
+ Keyword Args:
+ api_v2_external_issues_suggestions_post_request (ApiV2ExternalIssuesSuggestionsPostRequest): [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:
+ ExternalIssueApiFieldSuggestionReply
+ 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_issues_suggestions_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 4fa1ec21..535ec3b9 100644
--- a/src/testit_api_client/api/project_work_items_api.py
+++ b/src/testit_api_client/api/project_work_items_api.py
@@ -28,6 +28,7 @@
from testit_api_client.model.tag_short_api_result import TagShortApiResult
from testit_api_client.model.validation_problem_details import ValidationProblemDetails
from testit_api_client.model.work_item_group_model import WorkItemGroupModel
+from testit_api_client.model.work_item_index_api_result import WorkItemIndexApiResult
from testit_api_client.model.work_item_short_api_result import WorkItemShortApiResult
from testit_api_client.model.work_item_short_model import WorkItemShortModel
@@ -289,6 +290,94 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
+ self.api_v2_projects_project_id_work_items_search_work_item_id_index_post_endpoint = _Endpoint(
+ settings={
+ 'response_type': (WorkItemIndexApiResult,),
+ 'auth': [
+ 'Bearer or PrivateToken'
+ ],
+ 'endpoint_path': '/api/v2/projects/{projectId}/workItems/search/{workItemId}/index',
+ 'operation_id': 'api_v2_projects_project_id_work_items_search_work_item_id_index_post',
+ 'http_method': 'POST',
+ 'servers': None,
+ },
+ params_map={
+ 'all': [
+ 'project_id',
+ 'work_item_id',
+ 'skip',
+ 'take',
+ 'order_by',
+ 'search_field',
+ 'search_value',
+ 'api_v2_projects_project_id_work_items_search_post_request',
+ ],
+ 'required': [
+ 'project_id',
+ 'work_item_id',
+ ],
+ 'nullable': [
+ ],
+ 'enum': [
+ ],
+ 'validation': [
+ ]
+ },
+ root_map={
+ 'validations': {
+ },
+ 'allowed_values': {
+ },
+ 'openapi_types': {
+ 'project_id':
+ (str,),
+ 'work_item_id':
+ (str,),
+ 'skip':
+ (int,),
+ 'take':
+ (int,),
+ 'order_by':
+ (str,),
+ 'search_field':
+ (str,),
+ 'search_value':
+ (str,),
+ 'api_v2_projects_project_id_work_items_search_post_request':
+ (ApiV2ProjectsProjectIdWorkItemsSearchPostRequest,),
+ },
+ 'attribute_map': {
+ 'project_id': 'projectId',
+ 'work_item_id': 'workItemId',
+ 'skip': 'Skip',
+ 'take': 'Take',
+ 'order_by': 'OrderBy',
+ 'search_field': 'SearchField',
+ 'search_value': 'SearchValue',
+ },
+ 'location_map': {
+ 'project_id': 'path',
+ 'work_item_id': 'path',
+ 'skip': 'query',
+ 'take': 'query',
+ 'order_by': 'query',
+ 'search_field': 'query',
+ 'search_value': 'query',
+ 'api_v2_projects_project_id_work_items_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_work_items_tags_get_endpoint = _Endpoint(
settings={
'response_type': ([TagShortApiResult],),
@@ -702,6 +791,98 @@ def api_v2_projects_project_id_work_items_search_post(
project_id
return self.api_v2_projects_project_id_work_items_search_post_endpoint.call_with_http_info(**kwargs)
+ def api_v2_projects_project_id_work_items_search_work_item_id_index_post(
+ self,
+ project_id,
+ work_item_id,
+ **kwargs
+ ):
+ """Get work item index (position) in a collection by its 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_work_items_search_work_item_id_index_post(project_id, work_item_id, async_req=True)
+ >>> result = thread.get()
+
+ Args:
+ project_id (str):
+ work_item_id (str):
+
+ 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_projects_project_id_work_items_search_post_request (ApiV2ProjectsProjectIdWorkItemsSearchPostRequest): [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:
+ WorkItemIndexApiResult
+ 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['work_item_id'] = \
+ work_item_id
+ return self.api_v2_projects_project_id_work_items_search_work_item_id_index_post_endpoint.call_with_http_info(**kwargs)
+
def api_v2_projects_project_id_work_items_tags_get(
self,
project_id,
diff --git a/src/testit_api_client/api/projects_api.py b/src/testit_api_client/api/projects_api.py
index 351df5b8..a3a7e06e 100644
--- a/src/testit_api_client/api/projects_api.py
+++ b/src/testit_api_client/api/projects_api.py
@@ -27,7 +27,6 @@
from testit_api_client.model.auto_test_namespace_model import AutoTestNamespaceModel
from testit_api_client.model.auto_test_result_reason_project_api_result import AutoTestResultReasonProjectApiResult
from testit_api_client.model.create_project_request import CreateProjectRequest
-from testit_api_client.model.demo_project_api_result import DemoProjectApiResult
from testit_api_client.model.filter_model import FilterModel
from testit_api_client.model.operation import Operation
from testit_api_client.model.problem_details import ProblemDetails
@@ -115,50 +114,6 @@ def __init__(self, api_client=None):
},
api_client=api_client
)
- self.api_v2_projects_demo_post_endpoint = _Endpoint(
- settings={
- 'response_type': (DemoProjectApiResult,),
- 'auth': [
- 'Bearer or PrivateToken'
- ],
- 'endpoint_path': '/api/v2/projects/demo',
- 'operation_id': 'api_v2_projects_demo_post',
- 'http_method': 'POST',
- '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
- )
self.api_v2_projects_id_delete_endpoint = _Endpoint(
settings={
'response_type': None,
@@ -1677,83 +1632,6 @@ def add_globa_attributes_to_project(
id
return self.add_globa_attributes_to_project_endpoint.call_with_http_info(**kwargs)
- def api_v2_projects_demo_post(
- self,
- **kwargs
- ):
- """api_v2_projects_demo_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_demo_post(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:
- DemoProjectApiResult
- 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_projects_demo_post_endpoint.call_with_http_info(**kwargs)
-
def api_v2_projects_id_delete(
self,
id,
diff --git a/src/testit_api_client/api/webhooks_logs_api.py b/src/testit_api_client/api/webhooks_logs_api.py
index d5e3f84c..c15a4fa9 100644
--- a/src/testit_api_client/api/webhooks_logs_api.py
+++ b/src/testit_api_client/api/webhooks_logs_api.py
@@ -23,7 +23,7 @@
)
from testit_api_client.model.problem_details import ProblemDetails
from testit_api_client.model.validation_problem_details import ValidationProblemDetails
-from testit_api_client.model.web_hook_log_model import WebHookLogModel
+from testit_api_client.model.webhook_log_api_result import WebhookLogApiResult
class WebhooksLogsApi(object):
@@ -39,7 +39,7 @@ def __init__(self, api_client=None):
self.api_client = api_client
self.api_v2_webhooks_logs_get_endpoint = _Endpoint(
settings={
- 'response_type': ([WebHookLogModel],),
+ 'response_type': ([WebhookLogApiResult],),
'auth': [
'Bearer or PrivateToken'
],
@@ -164,7 +164,7 @@ def __init__(self, api_client=None):
)
self.api_v2_webhooks_logs_id_get_endpoint = _Endpoint(
settings={
- 'response_type': (WebHookLogModel,),
+ 'response_type': (WebhookLogApiResult,),
'auth': [
'Bearer or PrivateToken'
],
@@ -218,7 +218,7 @@ def api_v2_webhooks_logs_get(
self,
**kwargs
):
- """Get all webhook logs # noqa: E501
+ """Get last webhook logs # noqa: E501
This method makes a synchronous HTTP request by default. To make an
asynchronous HTTP request, please pass async_req=True
@@ -266,7 +266,7 @@ def api_v2_webhooks_logs_get(
async_req (bool): execute request asynchronously
Returns:
- [WebHookLogModel]
+ [WebhookLogApiResult]
If the method is called asynchronously, returns the request
thread.
"""
@@ -428,7 +428,7 @@ def api_v2_webhooks_logs_id_get(
async_req (bool): execute request asynchronously
Returns:
- WebHookLogModel
+ WebhookLogApiResult
If the method is called asynchronously, returns the request
thread.
"""
diff --git a/src/testit_api_client/api_client.py b/src/testit_api_client/api_client.py
index be5ad516..17b11650 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.1.1/python'
+ self.user_agent = 'OpenAPI-Generator/7.2.0/python'
def __enter__(self):
return self
diff --git a/src/testit_api_client/apis/__init__.py b/src/testit_api_client/apis/__init__.py
index 66c644ce..4ab19786 100644
--- a/src/testit_api_client/apis/__init__.py
+++ b/src/testit_api_client/apis/__init__.py
@@ -20,6 +20,7 @@
from testit_api_client.api.configurations_api import ConfigurationsApi
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.notifications_api import NotificationsApi
from testit_api_client.api.parameters_api import ParametersApi
from testit_api_client.api.project_attribute_templates_api import ProjectAttributeTemplatesApi
diff --git a/src/testit_api_client/configuration.py b/src/testit_api_client/configuration.py
index 387da59a..6798cd3c 100644
--- a/src/testit_api_client/configuration.py
+++ b/src/testit_api_client/configuration.py
@@ -413,7 +413,7 @@ def to_debug_report(self):
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: v2.0\n"\
- "SDK Package Version: 7.1.1".\
+ "SDK Package Version: 7.2.0".\
format(env=sys.platform, pyversion=sys.version)
def get_host_settings(self):
diff --git a/src/testit_api_client/model/api_v2_external_issues_suggestions_post_request.py b/src/testit_api_client/model/api_v2_external_issues_suggestions_post_request.py
new file mode 100644
index 00000000..e5224f1c
--- /dev/null
+++ b/src/testit_api_client/model/api_v2_external_issues_suggestions_post_request.py
@@ -0,0 +1,331 @@
+"""
+ 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.external_issue_api_field import ExternalIssueApiField
+ from testit_api_client.model.get_external_issue_suggestions_api_model import GetExternalIssueSuggestionsApiModel
+ from testit_api_client.model.get_external_issue_suggestions_api_model_inquiry import GetExternalIssueSuggestionsApiModelInquiry
+ globals()['ExternalIssueApiField'] = ExternalIssueApiField
+ globals()['GetExternalIssueSuggestionsApiModel'] = GetExternalIssueSuggestionsApiModel
+ globals()['GetExternalIssueSuggestionsApiModelInquiry'] = GetExternalIssueSuggestionsApiModelInquiry
+
+
+class ApiV2ExternalIssuesSuggestionsPostRequest(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 {
+ 'field': (ExternalIssueApiField,), # noqa: E501
+ 'project_ids': ([str], none_type,), # noqa: E501
+ 'inquiry': (GetExternalIssueSuggestionsApiModelInquiry,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'field': 'field', # noqa: E501
+ 'project_ids': 'projectIds', # 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
+ """ApiV2ExternalIssuesSuggestionsPostRequest - a model defined in OpenAPI
+
+ Keyword Args:
+ field (ExternalIssueApiField):
+ _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,)
+ project_ids ([str], none_type): List of project identifiers where external issue is available. [optional] # noqa: E501
+ inquiry (GetExternalIssueSuggestionsApiModelInquiry): [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
+ """ApiV2ExternalIssuesSuggestionsPostRequest - a model defined in OpenAPI
+
+ Keyword Args:
+ field (ExternalIssueApiField):
+ _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,)
+ project_ids ([str], none_type): List of project identifiers where external issue is available. [optional] # noqa: E501
+ inquiry (GetExternalIssueSuggestionsApiModelInquiry): [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': [
+ GetExternalIssueSuggestionsApiModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request.py
index 83633946..3a971eb5 100644
--- a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request.py
+++ b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_rerun_post_request.py
@@ -31,11 +31,11 @@
def lazy_import():
from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model import TestPlanTestPointsAutoTestsRerunApiModel
- 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_auto_tests_rerun_api_model_extraction_model import TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_filter import TestPlanTestPointsAutoTestsRerunApiModelFilter
globals()['TestPlanTestPointsAutoTestsRerunApiModel'] = TestPlanTestPointsAutoTestsRerunApiModel
- globals()['TestPlanTestPointsExtractionApiModel'] = TestPlanTestPointsExtractionApiModel
- globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelFilter'] = TestPlanTestPointsAutoTestsRerunApiModelFilter
class ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRerunPostRequest(ModelComposed):
@@ -91,8 +91,9 @@ def openapi_types():
"""
lazy_import()
return {
- 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501
- 'extraction_model': (TestPlanTestPointsExtractionApiModel,), # noqa: E501
+ 'filter': (TestPlanTestPointsAutoTestsRerunApiModelFilter,), # noqa: E501
+ 'extraction_model': (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel,), # noqa: E501
+ 'webhook_ids': ([str], none_type,), # noqa: E501
}
@cached_property
@@ -103,6 +104,7 @@ def discriminator():
attribute_map = {
'filter': 'filter', # noqa: E501
'extraction_model': 'extractionModel', # noqa: E501
+ 'webhook_ids': 'webhookIds', # noqa: E501
}
read_only_vars = {
@@ -144,8 +146,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
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
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -249,8 +252,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
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
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request.py b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request.py
index a1c2f758..dfe437f5 100644
--- a/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request.py
+++ b/src/testit_api_client/model/api_v2_projects_project_id_test_plans_test_plan_id_test_points_autotests_run_post_request.py
@@ -30,12 +30,12 @@
def lazy_import():
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_extraction_model import TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_filter import TestPlanTestPointsAutoTestsRerunApiModelFilter
from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model import TestPlanTestPointsAutoTestsRunApiModel
- from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_extraction_model import TestPlanTestPointsAutoTestsRunApiModelExtractionModel
- from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_filter import TestPlanTestPointsAutoTestsRunApiModelFilter
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelFilter'] = TestPlanTestPointsAutoTestsRerunApiModelFilter
globals()['TestPlanTestPointsAutoTestsRunApiModel'] = TestPlanTestPointsAutoTestsRunApiModel
- globals()['TestPlanTestPointsAutoTestsRunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRunApiModelExtractionModel
- globals()['TestPlanTestPointsAutoTestsRunApiModelFilter'] = TestPlanTestPointsAutoTestsRunApiModelFilter
class ApiV2ProjectsProjectIdTestPlansTestPlanIdTestPointsAutotestsRunPostRequest(ModelComposed):
@@ -93,8 +93,8 @@ def openapi_types():
return {
'webhook_ids': ([str],), # noqa: E501
'reset_not_actual_automated_test_points': (bool,), # noqa: E501
- 'filter': (TestPlanTestPointsAutoTestsRunApiModelFilter,), # noqa: E501
- 'extraction_model': (TestPlanTestPointsAutoTestsRunApiModelExtractionModel,), # noqa: E501
+ 'filter': (TestPlanTestPointsAutoTestsRerunApiModelFilter,), # noqa: E501
+ 'extraction_model': (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel,), # noqa: E501
'build': (str, none_type,), # noqa: E501
}
@@ -152,8 +152,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestPlanTestPointsAutoTestsRunApiModelFilter): [optional] # noqa: E501
- extraction_model (TestPlanTestPointsAutoTestsRunApiModelExtractionModel): [optional] # noqa: E501
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
build (str, none_type): Specifies the test run build.. [optional] # noqa: E501
"""
@@ -260,8 +260,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestPlanTestPointsAutoTestsRunApiModelFilter): [optional] # noqa: E501
- extraction_model (TestPlanTestPointsAutoTestsRunApiModelExtractionModel): [optional] # noqa: E501
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
build (str, none_type): Specifies the test run build.. [optional] # noqa: E501
"""
diff --git a/src/testit_api_client/model/api_v2_test_results_id_put_request.py b/src/testit_api_client/model/api_v2_test_results_id_put_request.py
index b4d4d5a2..dd220ba9 100644
--- a/src/testit_api_client/model/api_v2_test_results_id_put_request.py
+++ b/src/testit_api_client/model/api_v2_test_results_id_put_request.py
@@ -75,11 +75,11 @@ class ApiV2TestResultsIdPutRequest(ModelComposed):
validations = {
('duration_in_ms',): {
- 'inclusive_maximum': -9223372036854775616,
+ 'inclusive_maximum': 9223372036854775616,
'inclusive_minimum': 0,
},
('duration',): {
- 'inclusive_maximum': -9223372036854775616,
+ 'inclusive_maximum': 9223372036854775616,
'inclusive_minimum': 0,
},
}
diff --git a/src/testit_api_client/model/api_v2_test_runs_id_reruns_post_request.py b/src/testit_api_client/model/api_v2_test_runs_id_reruns_post_request.py
index b1fb63f8..1abc5417 100644
--- a/src/testit_api_client/model/api_v2_test_runs_id_reruns_post_request.py
+++ b/src/testit_api_client/model/api_v2_test_runs_id_reruns_post_request.py
@@ -31,11 +31,11 @@
def lazy_import():
from testit_api_client.model.manual_rerun_select_test_results_api_model import ManualRerunSelectTestResultsApiModel
- from testit_api_client.model.manual_rerun_test_result_api_model import ManualRerunTestResultApiModel
- from testit_api_client.model.test_results_filter_api_model import TestResultsFilterApiModel
+ from testit_api_client.model.manual_rerun_select_test_results_api_model_extraction_model import ManualRerunSelectTestResultsApiModelExtractionModel
+ from testit_api_client.model.manual_rerun_select_test_results_api_model_filter import ManualRerunSelectTestResultsApiModelFilter
globals()['ManualRerunSelectTestResultsApiModel'] = ManualRerunSelectTestResultsApiModel
- globals()['ManualRerunTestResultApiModel'] = ManualRerunTestResultApiModel
- globals()['TestResultsFilterApiModel'] = TestResultsFilterApiModel
+ globals()['ManualRerunSelectTestResultsApiModelExtractionModel'] = ManualRerunSelectTestResultsApiModelExtractionModel
+ globals()['ManualRerunSelectTestResultsApiModelFilter'] = ManualRerunSelectTestResultsApiModelFilter
class ApiV2TestRunsIdRerunsPostRequest(ModelComposed):
@@ -91,8 +91,9 @@ def openapi_types():
"""
lazy_import()
return {
- 'filter': (TestResultsFilterApiModel,), # noqa: E501
- 'extraction_model': (ManualRerunTestResultApiModel,), # noqa: E501
+ 'filter': (ManualRerunSelectTestResultsApiModelFilter,), # noqa: E501
+ 'extraction_model': (ManualRerunSelectTestResultsApiModelExtractionModel,), # noqa: E501
+ 'webhook_ids': ([str], none_type,), # noqa: E501
}
@cached_property
@@ -103,6 +104,7 @@ def discriminator():
attribute_map = {
'filter': 'filter', # noqa: E501
'extraction_model': 'extractionModel', # noqa: E501
+ 'webhook_ids': 'webhookIds', # noqa: E501
}
read_only_vars = {
@@ -144,8 +146,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestResultsFilterApiModel): [optional] # noqa: E501
- extraction_model (ManualRerunTestResultApiModel): [optional] # noqa: E501
+ filter (ManualRerunSelectTestResultsApiModelFilter): [optional] # noqa: E501
+ extraction_model (ManualRerunSelectTestResultsApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -249,8 +252,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestResultsFilterApiModel): [optional] # noqa: E501
- extraction_model (ManualRerunTestResultApiModel): [optional] # noqa: E501
+ filter (ManualRerunSelectTestResultsApiModelFilter): [optional] # noqa: E501
+ extraction_model (ManualRerunSelectTestResultsApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/external_issue_api_field_suggestion.py b/src/testit_api_client/model/external_issue_api_field_suggestion.py
index d2acbd82..d873e7b1 100644
--- a/src/testit_api_client/model/external_issue_api_field_suggestion.py
+++ b/src/testit_api_client/model/external_issue_api_field_suggestion.py
@@ -29,6 +29,10 @@
from testit_api_client.exceptions import ApiAttributeError
+def lazy_import():
+ from testit_api_client.model.external_issue_api_field_suggestion_external_service import ExternalIssueApiFieldSuggestionExternalService
+ globals()['ExternalIssueApiFieldSuggestionExternalService'] = ExternalIssueApiFieldSuggestionExternalService
+
class ExternalIssueApiFieldSuggestion(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
@@ -74,8 +78,10 @@ def openapi_types():
openapi_types (dict): The key is attribute name
and the value is attribute type.
"""
+ lazy_import()
return {
'value': (str,), # noqa: E501
+ 'external_service': (ExternalIssueApiFieldSuggestionExternalService,), # noqa: E501
}
@cached_property
@@ -85,6 +91,7 @@ def discriminator():
attribute_map = {
'value': 'value', # noqa: E501
+ 'external_service': 'externalService', # noqa: E501
}
read_only_vars = {
@@ -94,11 +101,12 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, value, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, value, external_service, *args, **kwargs): # noqa: E501
"""ExternalIssueApiFieldSuggestion - a model defined in OpenAPI
Args:
- value (str):
+ value (str): Value of the external issue field
+ external_service (ExternalIssueApiFieldSuggestionExternalService):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -163,6 +171,7 @@ def _from_openapi_data(cls, value, *args, **kwargs): # noqa: E501
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.value = value
+ self.external_service = external_service
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -183,11 +192,12 @@ def _from_openapi_data(cls, value, *args, **kwargs): # noqa: E501
])
@convert_js_args_to_python_args
- def __init__(self, value, *args, **kwargs): # noqa: E501
+ def __init__(self, value, external_service, *args, **kwargs): # noqa: E501
"""ExternalIssueApiFieldSuggestion - a model defined in OpenAPI
Args:
- value (str):
+ value (str): Value of the external issue field
+ external_service (ExternalIssueApiFieldSuggestionExternalService):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -250,6 +260,7 @@ def __init__(self, value, *args, **kwargs): # noqa: E501
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.value = value
+ self.external_service = external_service
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/external_issue_api_field_suggestion_external_service.py b/src/testit_api_client/model/external_issue_api_field_suggestion_external_service.py
new file mode 100644
index 00000000..b788f612
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_field_suggestion_external_service.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.external_issue_external_service_api_result import ExternalIssueExternalServiceApiResult
+ globals()['ExternalIssueExternalServiceApiResult'] = ExternalIssueExternalServiceApiResult
+
+
+class ExternalIssueApiFieldSuggestionExternalService(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 {
+ 'id': (str,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'name': 'name', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiFieldSuggestionExternalService - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str): Identifier of external service
+ name (str): Name of external service
+ _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
+ """ExternalIssueApiFieldSuggestionExternalService - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str): Identifier of external service
+ name (str): Name of external service
+ _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': [
+ ExternalIssueExternalServiceApiResult,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/external_issue_api_metadata.py b/src/testit_api_client/model/external_issue_api_metadata.py
new file mode 100644
index 00000000..55d55ed0
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_metadata.py
@@ -0,0 +1,300 @@
+"""
+ 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.external_issue_api_metadata_priority import ExternalIssueApiMetadataPriority
+ from testit_api_client.model.external_issue_api_metadata_type import ExternalIssueApiMetadataType
+ globals()['ExternalIssueApiMetadataPriority'] = ExternalIssueApiMetadataPriority
+ globals()['ExternalIssueApiMetadataType'] = ExternalIssueApiMetadataType
+
+
+class ExternalIssueApiMetadata(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.
+ """
+ lazy_import()
+ return {
+ 'id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'code': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'status': (str, none_type,), # noqa: E501
+ 'assignee': (str, none_type,), # noqa: E501
+ 'type': (ExternalIssueApiMetadataType,), # noqa: E501
+ 'priority': (ExternalIssueApiMetadataPriority,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'code': 'code', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'status': 'status', # noqa: E501
+ 'assignee': 'assignee', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'priority': 'priority', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, title, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiMetadata - a model defined in OpenAPI
+
+ Args:
+ id (str): Identifier of external issue in external service
+ title (str): Title of external issue in external service
+
+ 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,)
+ code (str, none_type): Code of external issue in external service. [optional] # noqa: E501
+ description (str, none_type): Description of external issue in external service. [optional] # noqa: E501
+ status (str, none_type): Status of external issue in external service. [optional] # noqa: E501
+ assignee (str, none_type): Assignee of external issue in external service. [optional] # noqa: E501
+ type (ExternalIssueApiMetadataType): [optional] # noqa: E501
+ priority (ExternalIssueApiMetadataPriority): [optional] # noqa: E501
+ """
+
+ _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.id = id
+ self.title = title
+ 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, id, title, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiMetadata - a model defined in OpenAPI
+
+ Args:
+ id (str): Identifier of external issue in external service
+ title (str): Title of external issue in external service
+
+ 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,)
+ code (str, none_type): Code of external issue in external service. [optional] # noqa: E501
+ description (str, none_type): Description of external issue in external service. [optional] # noqa: E501
+ status (str, none_type): Status of external issue in external service. [optional] # noqa: E501
+ assignee (str, none_type): Assignee of external issue in external service. [optional] # noqa: E501
+ type (ExternalIssueApiMetadataType): [optional] # noqa: E501
+ priority (ExternalIssueApiMetadataPriority): [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__,)
+
+ self.id = id
+ self.title = title
+ 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_metadata_priority.py b/src/testit_api_client/model/external_issue_api_metadata_priority.py
new file mode 100644
index 00000000..41784fee
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_metadata_priority.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.external_issue_api_priority import ExternalIssueApiPriority
+ globals()['ExternalIssueApiPriority'] = ExternalIssueApiPriority
+
+
+class ExternalIssueApiMetadataPriority(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 = True
+
+ @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
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiMetadataPriority - a model defined in OpenAPI
+
+ Keyword Args:
+ name (str): Name of external issue priority
+ _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,)
+ icon_url (str, none_type): Url to the icon of external issue priority. [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
+ """ExternalIssueApiMetadataPriority - a model defined in OpenAPI
+
+ Keyword Args:
+ name (str): Name of external issue priority
+ _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,)
+ icon_url (str, none_type): Url to the icon of external issue priority. [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': [
+ ExternalIssueApiPriority,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/external_issue_api_metadata_type.py b/src/testit_api_client/model/external_issue_api_metadata_type.py
new file mode 100644
index 00000000..e956e64c
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_metadata_type.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.external_issue_api_type import ExternalIssueApiType
+ globals()['ExternalIssueApiType'] = ExternalIssueApiType
+
+
+class ExternalIssueApiMetadataType(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 = True
+
+ @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
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiMetadataType - a model defined in OpenAPI
+
+ Keyword Args:
+ name (str): Name of external issue type
+ _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,)
+ icon_url (str, none_type): Url to the icon of external issue 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
+ """ExternalIssueApiMetadataType - a model defined in OpenAPI
+
+ Keyword Args:
+ name (str): Name of external issue type
+ _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,)
+ icon_url (str, none_type): Url to the icon of external issue 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': [
+ ExternalIssueApiType,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/external_issue_api_priority.py b/src/testit_api_client/model/external_issue_api_priority.py
new file mode 100644
index 00000000..c309f63a
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_priority.py
@@ -0,0 +1,267 @@
+"""
+ 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 ExternalIssueApiPriority(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 {
+ 'name': (str,), # noqa: E501
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiPriority - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of external issue priority
+
+ 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,)
+ icon_url (str, none_type): Url to the icon of external issue priority. [optional] # noqa: E501
+ """
+
+ _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.name = name
+ 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, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiPriority - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of external issue priority
+
+ 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,)
+ icon_url (str, none_type): Url to the icon of external issue priority. [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__,)
+
+ self.name = name
+ 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_result.py b/src/testit_api_client/model/external_issue_api_result.py
new file mode 100644
index 00000000..4dd704c6
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_result.py
@@ -0,0 +1,286 @@
+"""
+ 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.external_issue_api_result_metadata import ExternalIssueApiResultMetadata
+ globals()['ExternalIssueApiResultMetadata'] = ExternalIssueApiResultMetadata
+
+
+class ExternalIssueApiResult(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.
+ """
+ lazy_import()
+ return {
+ 'id': (str,), # noqa: E501
+ 'external_id': (str,), # noqa: E501
+ 'url': (str,), # noqa: E501
+ 'metadata': (ExternalIssueApiResultMetadata,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'external_id': 'externalId', # noqa: E501
+ 'url': 'url', # noqa: E501
+ 'metadata': 'metadata', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, external_id, url, metadata, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiResult - a model defined in OpenAPI
+
+ Args:
+ id (str): Identiief of external issue
+ external_id (str): Identifier of external issue in external service
+ url (str): Url of external issue
+ metadata (ExternalIssueApiResultMetadata):
+
+ 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.id = id
+ self.external_id = external_id
+ self.url = url
+ self.metadata = metadata
+ 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, id, external_id, url, metadata, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiResult - a model defined in OpenAPI
+
+ Args:
+ id (str): Identiief of external issue
+ external_id (str): Identifier of external issue in external service
+ url (str): Url of external issue
+ metadata (ExternalIssueApiResultMetadata):
+
+ 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.id = id
+ self.external_id = external_id
+ self.url = url
+ self.metadata = metadata
+ 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_result_metadata.py b/src/testit_api_client/model/external_issue_api_result_metadata.py
new file mode 100644
index 00000000..2fd87557
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_result_metadata.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.external_issue_api_metadata import ExternalIssueApiMetadata
+ from testit_api_client.model.external_issue_api_metadata_priority import ExternalIssueApiMetadataPriority
+ from testit_api_client.model.external_issue_api_metadata_type import ExternalIssueApiMetadataType
+ globals()['ExternalIssueApiMetadata'] = ExternalIssueApiMetadata
+ globals()['ExternalIssueApiMetadataPriority'] = ExternalIssueApiMetadataPriority
+ globals()['ExternalIssueApiMetadataType'] = ExternalIssueApiMetadataType
+
+
+class ExternalIssueApiResultMetadata(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 {
+ 'id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'code': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'status': (str, none_type,), # noqa: E501
+ 'assignee': (str, none_type,), # noqa: E501
+ 'type': (ExternalIssueApiMetadataType,), # noqa: E501
+ 'priority': (ExternalIssueApiMetadataPriority,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'code': 'code', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'status': 'status', # noqa: E501
+ 'assignee': 'assignee', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'priority': 'priority', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiResultMetadata - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str): Identifier of external issue in external service
+ title (str): Title of external issue in external service
+ _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,)
+ code (str, none_type): Code of external issue in external service. [optional] # noqa: E501
+ description (str, none_type): Description of external issue in external service. [optional] # noqa: E501
+ status (str, none_type): Status of external issue in external service. [optional] # noqa: E501
+ assignee (str, none_type): Assignee of external issue in external service. [optional] # noqa: E501
+ type (ExternalIssueApiMetadataType): [optional] # noqa: E501
+ priority (ExternalIssueApiMetadataPriority): [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
+ """ExternalIssueApiResultMetadata - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str): Identifier of external issue in external service
+ title (str): Title of external issue in external service
+ _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,)
+ code (str, none_type): Code of external issue in external service. [optional] # noqa: E501
+ description (str, none_type): Description of external issue in external service. [optional] # noqa: E501
+ status (str, none_type): Status of external issue in external service. [optional] # noqa: E501
+ assignee (str, none_type): Assignee of external issue in external service. [optional] # noqa: E501
+ type (ExternalIssueApiMetadataType): [optional] # noqa: E501
+ priority (ExternalIssueApiMetadataPriority): [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': [
+ ExternalIssueApiMetadata,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/external_issue_api_type.py b/src/testit_api_client/model/external_issue_api_type.py
new file mode 100644
index 00000000..a499838c
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_api_type.py
@@ -0,0 +1,267 @@
+"""
+ 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 ExternalIssueApiType(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 {
+ 'name': (str,), # noqa: E501
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiType - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of external issue type
+
+ 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,)
+ icon_url (str, none_type): Url to the icon of external issue type. [optional] # noqa: E501
+ """
+
+ _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.name = name
+ 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, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueApiType - a model defined in OpenAPI
+
+ Args:
+ name (str): Name of external issue type
+
+ 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,)
+ icon_url (str, none_type): Url to the icon of external issue 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__,)
+
+ self.name = name
+ 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_external_service_api_result.py b/src/testit_api_client/model/external_issue_external_service_api_result.py
new file mode 100644
index 00000000..6f21ce72
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_external_service_api_result.py
@@ -0,0 +1,269 @@
+"""
+ 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 ExternalIssueExternalServiceApiResult(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 {
+ 'id': (str,), # noqa: E501
+ 'name': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'name': 'name', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueExternalServiceApiResult - a model defined in OpenAPI
+
+ Args:
+ id (str): Identifier of external service
+ name (str): Name of external service
+
+ 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.id = id
+ self.name = name
+ 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, id, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueExternalServiceApiResult - a model defined in OpenAPI
+
+ Args:
+ id (str): Identifier of external service
+ name (str): Name of external service
+
+ 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.id = id
+ self.name = name
+ 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_metadata_model.py b/src/testit_api_client/model/external_issue_metadata_model.py
new file mode 100644
index 00000000..48c7afaf
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_metadata_model.py
@@ -0,0 +1,300 @@
+"""
+ 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.external_issue_priority_model import ExternalIssuePriorityModel
+ from testit_api_client.model.external_issue_type_model import ExternalIssueTypeModel
+ globals()['ExternalIssuePriorityModel'] = ExternalIssuePriorityModel
+ globals()['ExternalIssueTypeModel'] = ExternalIssueTypeModel
+
+
+class ExternalIssueMetadataModel(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.
+ """
+ lazy_import()
+ return {
+ 'id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'code': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'status': (str, none_type,), # noqa: E501
+ 'assignee': (str, none_type,), # noqa: E501
+ 'type': (ExternalIssueTypeModel,), # noqa: E501
+ 'priority': (ExternalIssuePriorityModel,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'code': 'code', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'status': 'status', # noqa: E501
+ 'assignee': 'assignee', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'priority': 'priority', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, title, *args, **kwargs): # noqa: E501
+ """ExternalIssueMetadataModel - a model defined in OpenAPI
+
+ Args:
+ id (str):
+ title (str):
+
+ 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,)
+ code (str, none_type): [optional] # noqa: E501
+ description (str, none_type): [optional] # noqa: E501
+ status (str, none_type): [optional] # noqa: E501
+ assignee (str, none_type): [optional] # noqa: E501
+ type (ExternalIssueTypeModel): [optional] # noqa: E501
+ priority (ExternalIssuePriorityModel): [optional] # noqa: E501
+ """
+
+ _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.id = id
+ self.title = title
+ 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, id, title, *args, **kwargs): # noqa: E501
+ """ExternalIssueMetadataModel - a model defined in OpenAPI
+
+ Args:
+ id (str):
+ title (str):
+
+ 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,)
+ code (str, none_type): [optional] # noqa: E501
+ description (str, none_type): [optional] # noqa: E501
+ status (str, none_type): [optional] # noqa: E501
+ assignee (str, none_type): [optional] # noqa: E501
+ type (ExternalIssueTypeModel): [optional] # noqa: E501
+ priority (ExternalIssuePriorityModel): [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__,)
+
+ self.id = id
+ self.title = title
+ 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_model.py b/src/testit_api_client/model/external_issue_model.py
new file mode 100644
index 00000000..4a1d1d33
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_model.py
@@ -0,0 +1,286 @@
+"""
+ 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.external_issue_model_metadata import ExternalIssueModelMetadata
+ globals()['ExternalIssueModelMetadata'] = ExternalIssueModelMetadata
+
+
+class ExternalIssueModel(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.
+ """
+ lazy_import()
+ return {
+ 'id': (str,), # noqa: E501
+ 'external_id': (str,), # noqa: E501
+ 'url': (str,), # noqa: E501
+ 'metadata': (ExternalIssueModelMetadata,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'external_id': 'externalId', # noqa: E501
+ 'url': 'url', # noqa: E501
+ 'metadata': 'metadata', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, id, external_id, url, metadata, *args, **kwargs): # noqa: E501
+ """ExternalIssueModel - a model defined in OpenAPI
+
+ Args:
+ id (str):
+ external_id (str):
+ url (str):
+ metadata (ExternalIssueModelMetadata):
+
+ 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.id = id
+ self.external_id = external_id
+ self.url = url
+ self.metadata = metadata
+ 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, id, external_id, url, metadata, *args, **kwargs): # noqa: E501
+ """ExternalIssueModel - a model defined in OpenAPI
+
+ Args:
+ id (str):
+ external_id (str):
+ url (str):
+ metadata (ExternalIssueModelMetadata):
+
+ 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.id = id
+ self.external_id = external_id
+ self.url = url
+ self.metadata = metadata
+ 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_model_metadata.py b/src/testit_api_client/model/external_issue_model_metadata.py
new file mode 100644
index 00000000..28f2ff0d
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_model_metadata.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.external_issue_metadata_model import ExternalIssueMetadataModel
+ from testit_api_client.model.external_issue_priority_model import ExternalIssuePriorityModel
+ from testit_api_client.model.external_issue_type_model import ExternalIssueTypeModel
+ globals()['ExternalIssueMetadataModel'] = ExternalIssueMetadataModel
+ globals()['ExternalIssuePriorityModel'] = ExternalIssuePriorityModel
+ globals()['ExternalIssueTypeModel'] = ExternalIssueTypeModel
+
+
+class ExternalIssueModelMetadata(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 {
+ 'id': (str,), # noqa: E501
+ 'title': (str,), # noqa: E501
+ 'code': (str, none_type,), # noqa: E501
+ 'description': (str, none_type,), # noqa: E501
+ 'status': (str, none_type,), # noqa: E501
+ 'assignee': (str, none_type,), # noqa: E501
+ 'type': (ExternalIssueTypeModel,), # noqa: E501
+ 'priority': (ExternalIssuePriorityModel,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'title': 'title', # noqa: E501
+ 'code': 'code', # noqa: E501
+ 'description': 'description', # noqa: E501
+ 'status': 'status', # noqa: E501
+ 'assignee': 'assignee', # noqa: E501
+ 'type': 'type', # noqa: E501
+ 'priority': 'priority', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ExternalIssueModelMetadata - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str):
+ title (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,)
+ code (str, none_type): [optional] # noqa: E501
+ description (str, none_type): [optional] # noqa: E501
+ status (str, none_type): [optional] # noqa: E501
+ assignee (str, none_type): [optional] # noqa: E501
+ type (ExternalIssueTypeModel): [optional] # noqa: E501
+ priority (ExternalIssuePriorityModel): [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
+ """ExternalIssueModelMetadata - a model defined in OpenAPI
+
+ Keyword Args:
+ id (str):
+ title (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,)
+ code (str, none_type): [optional] # noqa: E501
+ description (str, none_type): [optional] # noqa: E501
+ status (str, none_type): [optional] # noqa: E501
+ assignee (str, none_type): [optional] # noqa: E501
+ type (ExternalIssueTypeModel): [optional] # noqa: E501
+ priority (ExternalIssuePriorityModel): [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': [
+ ExternalIssueMetadataModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/external_issue_priority_model.py b/src/testit_api_client/model/external_issue_priority_model.py
new file mode 100644
index 00000000..1606c132
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_priority_model.py
@@ -0,0 +1,267 @@
+"""
+ 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 ExternalIssuePriorityModel(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 {
+ 'name': (str,), # noqa: E501
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
+ """ExternalIssuePriorityModel - a model defined in OpenAPI
+
+ Args:
+ name (str):
+
+ 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,)
+ icon_url (str, none_type): [optional] # noqa: E501
+ """
+
+ _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.name = name
+ 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, name, *args, **kwargs): # noqa: E501
+ """ExternalIssuePriorityModel - a model defined in OpenAPI
+
+ Args:
+ name (str):
+
+ 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,)
+ icon_url (str, 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__,)
+
+ self.name = name
+ 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_type_model.py b/src/testit_api_client/model/external_issue_type_model.py
new file mode 100644
index 00000000..03ab33b3
--- /dev/null
+++ b/src/testit_api_client/model/external_issue_type_model.py
@@ -0,0 +1,267 @@
+"""
+ 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 ExternalIssueTypeModel(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 {
+ 'name': (str,), # noqa: E501
+ 'icon_url': (str, none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'name': 'name', # noqa: E501
+ 'icon_url': 'iconUrl', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueTypeModel - a model defined in OpenAPI
+
+ Args:
+ name (str):
+
+ 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,)
+ icon_url (str, none_type): [optional] # noqa: E501
+ """
+
+ _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.name = name
+ 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, name, *args, **kwargs): # noqa: E501
+ """ExternalIssueTypeModel - a model defined in OpenAPI
+
+ Args:
+ name (str):
+
+ 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,)
+ icon_url (str, 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__,)
+
+ self.name = name
+ 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/get_external_issue_suggestions_api_model.py b/src/testit_api_client/model/get_external_issue_suggestions_api_model.py
index 89608d67..c73d7be7 100644
--- a/src/testit_api_client/model/get_external_issue_suggestions_api_model.py
+++ b/src/testit_api_client/model/get_external_issue_suggestions_api_model.py
@@ -31,9 +31,9 @@
def lazy_import():
from testit_api_client.model.external_issue_api_field import ExternalIssueApiField
- from testit_api_client.model.inquiry import Inquiry
+ from testit_api_client.model.get_external_issue_suggestions_api_model_inquiry import GetExternalIssueSuggestionsApiModelInquiry
globals()['ExternalIssueApiField'] = ExternalIssueApiField
- globals()['Inquiry'] = Inquiry
+ globals()['GetExternalIssueSuggestionsApiModelInquiry'] = GetExternalIssueSuggestionsApiModelInquiry
class GetExternalIssueSuggestionsApiModel(ModelNormal):
@@ -83,7 +83,8 @@ def openapi_types():
lazy_import()
return {
'field': (ExternalIssueApiField,), # noqa: E501
- 'inquiry': (Inquiry,), # noqa: E501
+ 'project_ids': ([str], none_type,), # noqa: E501
+ 'inquiry': (GetExternalIssueSuggestionsApiModelInquiry,), # noqa: E501
}
@cached_property
@@ -93,6 +94,7 @@ def discriminator():
attribute_map = {
'field': 'field', # noqa: E501
+ 'project_ids': 'projectIds', # noqa: E501
'inquiry': 'inquiry', # noqa: E501
}
@@ -103,12 +105,11 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, field, inquiry, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, field, *args, **kwargs): # noqa: E501
"""GetExternalIssueSuggestionsApiModel - a model defined in OpenAPI
Args:
field (ExternalIssueApiField):
- inquiry (Inquiry):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -141,6 +142,8 @@ def _from_openapi_data(cls, field, inquiry, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ project_ids ([str], none_type): List of project identifiers where external issue is available. [optional] # noqa: E501
+ inquiry (GetExternalIssueSuggestionsApiModelInquiry): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -173,7 +176,6 @@ def _from_openapi_data(cls, field, inquiry, *args, **kwargs): # noqa: E501
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.field = field
- self.inquiry = inquiry
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -194,12 +196,11 @@ def _from_openapi_data(cls, field, inquiry, *args, **kwargs): # noqa: E501
])
@convert_js_args_to_python_args
- def __init__(self, field, inquiry, *args, **kwargs): # noqa: E501
+ def __init__(self, field, *args, **kwargs): # noqa: E501
"""GetExternalIssueSuggestionsApiModel - a model defined in OpenAPI
Args:
field (ExternalIssueApiField):
- inquiry (Inquiry):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -232,6 +233,8 @@ def __init__(self, field, inquiry, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ project_ids ([str], none_type): List of project identifiers where external issue is available. [optional] # noqa: E501
+ inquiry (GetExternalIssueSuggestionsApiModelInquiry): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -262,7 +265,6 @@ def __init__(self, field, inquiry, *args, **kwargs): # noqa: E501
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
self.field = field
- self.inquiry = inquiry
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/get_external_issue_suggestions_api_model_inquiry.py b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.py
new file mode 100644
index 00000000..7efe2230
--- /dev/null
+++ b/src/testit_api_client/model/get_external_issue_suggestions_api_model_inquiry.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.composite_filter import CompositeFilter
+ from testit_api_client.model.inquiry import Inquiry
+ from testit_api_client.model.order import Order
+ from testit_api_client.model.page import Page
+ globals()['CompositeFilter'] = CompositeFilter
+ globals()['Inquiry'] = Inquiry
+ globals()['Order'] = Order
+ globals()['Page'] = Page
+
+
+class GetExternalIssueSuggestionsApiModelInquiry(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 = True
+
+ @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 {
+ 'order': ([Order],), # noqa: E501
+ 'filter': (CompositeFilter,), # noqa: E501
+ 'page': (Page,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'order': 'order', # noqa: E501
+ 'filter': 'filter', # noqa: E501
+ 'page': 'page', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """GetExternalIssueSuggestionsApiModelInquiry - a model defined in OpenAPI
+
+ Keyword Args:
+ order ([Order]):
+ _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 (CompositeFilter): [optional] # noqa: E501
+ page (Page): [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
+ """GetExternalIssueSuggestionsApiModelInquiry - a model defined in OpenAPI
+
+ Keyword Args:
+ order ([Order]):
+ _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 (CompositeFilter): [optional] # noqa: E501
+ page (Page): [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': [
+ Inquiry,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/link_short_model.py b/src/testit_api_client/model/link_short_model.py
index 50af591d..85f63e51 100644
--- a/src/testit_api_client/model/link_short_model.py
+++ b/src/testit_api_client/model/link_short_model.py
@@ -78,6 +78,7 @@ def openapi_types():
'id': (str,), # noqa: E501
'title': (str,), # noqa: E501
'url': (str,), # noqa: E501
+ 'type': (str, none_type,), # noqa: E501
}
@cached_property
@@ -89,6 +90,7 @@ def discriminator():
'id': 'id', # noqa: E501
'title': 'title', # noqa: E501
'url': 'url', # noqa: E501
+ 'type': 'type', # noqa: E501
}
read_only_vars = {
@@ -137,6 +139,7 @@ def _from_openapi_data(cls, id, title, url, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ type (str, none_type): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -230,6 +233,7 @@ def __init__(self, id, title, url, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
+ type (str, none_type): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/manual_rerun_select_test_results_api_model.py b/src/testit_api_client/model/manual_rerun_select_test_results_api_model.py
index 21fafd2e..7a94310d 100644
--- a/src/testit_api_client/model/manual_rerun_select_test_results_api_model.py
+++ b/src/testit_api_client/model/manual_rerun_select_test_results_api_model.py
@@ -30,10 +30,10 @@
def lazy_import():
- from testit_api_client.model.manual_rerun_test_result_api_model import ManualRerunTestResultApiModel
- from testit_api_client.model.test_results_filter_api_model import TestResultsFilterApiModel
- globals()['ManualRerunTestResultApiModel'] = ManualRerunTestResultApiModel
- globals()['TestResultsFilterApiModel'] = TestResultsFilterApiModel
+ from testit_api_client.model.manual_rerun_select_test_results_api_model_extraction_model import ManualRerunSelectTestResultsApiModelExtractionModel
+ from testit_api_client.model.manual_rerun_select_test_results_api_model_filter import ManualRerunSelectTestResultsApiModelFilter
+ globals()['ManualRerunSelectTestResultsApiModelExtractionModel'] = ManualRerunSelectTestResultsApiModelExtractionModel
+ globals()['ManualRerunSelectTestResultsApiModelFilter'] = ManualRerunSelectTestResultsApiModelFilter
class ManualRerunSelectTestResultsApiModel(ModelNormal):
@@ -82,8 +82,9 @@ def openapi_types():
"""
lazy_import()
return {
- 'filter': (TestResultsFilterApiModel,), # noqa: E501
- 'extraction_model': (ManualRerunTestResultApiModel,), # noqa: E501
+ 'filter': (ManualRerunSelectTestResultsApiModelFilter,), # noqa: E501
+ 'extraction_model': (ManualRerunSelectTestResultsApiModelExtractionModel,), # noqa: E501
+ 'webhook_ids': ([str], none_type,), # noqa: E501
}
@cached_property
@@ -94,6 +95,7 @@ def discriminator():
attribute_map = {
'filter': 'filter', # noqa: E501
'extraction_model': 'extractionModel', # noqa: E501
+ 'webhook_ids': 'webhookIds', # noqa: E501
}
read_only_vars = {
@@ -137,8 +139,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestResultsFilterApiModel): [optional] # noqa: E501
- extraction_model (ManualRerunTestResultApiModel): [optional] # noqa: E501
+ filter (ManualRerunSelectTestResultsApiModelFilter): [optional] # noqa: E501
+ extraction_model (ManualRerunSelectTestResultsApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -224,8 +227,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestResultsFilterApiModel): [optional] # noqa: E501
- extraction_model (ManualRerunTestResultApiModel): [optional] # noqa: E501
+ filter (ManualRerunSelectTestResultsApiModelFilter): [optional] # noqa: E501
+ extraction_model (ManualRerunSelectTestResultsApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/manual_rerun_select_test_results_api_model_extraction_model.py b/src/testit_api_client/model/manual_rerun_select_test_results_api_model_extraction_model.py
new file mode 100644
index 00000000..acc77c70
--- /dev/null
+++ b/src/testit_api_client/model/manual_rerun_select_test_results_api_model_extraction_model.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.manual_rerun_test_result_api_model import ManualRerunTestResultApiModel
+ from testit_api_client.model.manual_rerun_test_result_api_model_test_result_ids import ManualRerunTestResultApiModelTestResultIds
+ globals()['ManualRerunTestResultApiModel'] = ManualRerunTestResultApiModel
+ globals()['ManualRerunTestResultApiModelTestResultIds'] = ManualRerunTestResultApiModelTestResultIds
+
+
+class ManualRerunSelectTestResultsApiModelExtractionModel(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 = True
+
+ @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 {
+ 'test_result_ids': (ManualRerunTestResultApiModelTestResultIds,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'test_result_ids': 'testResultIds', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ManualRerunSelectTestResultsApiModelExtractionModel - 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,)
+ test_result_ids (ManualRerunTestResultApiModelTestResultIds): [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
+ """ManualRerunSelectTestResultsApiModelExtractionModel - 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,)
+ test_result_ids (ManualRerunTestResultApiModelTestResultIds): [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': [
+ ManualRerunTestResultApiModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/manual_rerun_select_test_results_api_model_filter.py b/src/testit_api_client/model/manual_rerun_select_test_results_api_model_filter.py
new file mode 100644
index 00000000..be4533f7
--- /dev/null
+++ b/src/testit_api_client/model/manual_rerun_select_test_results_api_model_filter.py
@@ -0,0 +1,397 @@
+"""
+ 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_model import FailureCategoryModel
+ from testit_api_client.model.test_result_outcome import TestResultOutcome
+ from testit_api_client.model.test_results_filter_api_model import TestResultsFilterApiModel
+ from testit_api_client.model.test_results_filter_api_model_completed_on import TestResultsFilterApiModelCompletedOn
+ from testit_api_client.model.test_results_filter_api_model_created_date import TestResultsFilterApiModelCreatedDate
+ from testit_api_client.model.test_results_filter_api_model_duration import TestResultsFilterApiModelDuration
+ from testit_api_client.model.test_results_filter_api_model_modified_date import TestResultsFilterApiModelModifiedDate
+ from testit_api_client.model.test_results_filter_api_model_started_on import TestResultsFilterApiModelStartedOn
+ globals()['FailureCategoryModel'] = FailureCategoryModel
+ globals()['TestResultOutcome'] = TestResultOutcome
+ globals()['TestResultsFilterApiModel'] = TestResultsFilterApiModel
+ globals()['TestResultsFilterApiModelCompletedOn'] = TestResultsFilterApiModelCompletedOn
+ globals()['TestResultsFilterApiModelCreatedDate'] = TestResultsFilterApiModelCreatedDate
+ globals()['TestResultsFilterApiModelDuration'] = TestResultsFilterApiModelDuration
+ globals()['TestResultsFilterApiModelModifiedDate'] = TestResultsFilterApiModelModifiedDate
+ globals()['TestResultsFilterApiModelStartedOn'] = TestResultsFilterApiModelStartedOn
+
+
+class ManualRerunSelectTestResultsApiModelFilter(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 = {
+ ('namespace',): {
+ 'max_length': 255,
+ 'min_length': 0,
+ },
+ ('class_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 = True
+
+ @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 {
+ 'configuration_ids': ([str], none_type,), # noqa: E501
+ 'outcomes': ([TestResultOutcome], none_type,), # noqa: E501
+ 'status_codes': ([str], none_type,), # noqa: E501
+ 'failure_categories': ([FailureCategoryModel], none_type,), # noqa: E501
+ 'namespace': (str, none_type,), # noqa: E501
+ 'class_name': (str, none_type,), # noqa: E501
+ 'auto_test_global_ids': ([int], none_type,), # noqa: E501
+ 'name': (str, none_type,), # noqa: E501
+ 'created_date': (TestResultsFilterApiModelCreatedDate,), # noqa: E501
+ 'modified_date': (TestResultsFilterApiModelModifiedDate,), # noqa: E501
+ 'started_on': (TestResultsFilterApiModelStartedOn,), # noqa: E501
+ 'completed_on': (TestResultsFilterApiModelCompletedOn,), # noqa: E501
+ 'duration': (TestResultsFilterApiModelDuration,), # noqa: E501
+ 'result_reasons': ([str], none_type,), # noqa: E501
+ 'test_run_ids': ([str], none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'configuration_ids': 'configurationIds', # noqa: E501
+ 'outcomes': 'outcomes', # noqa: E501
+ 'status_codes': 'statusCodes', # noqa: E501
+ 'failure_categories': 'failureCategories', # noqa: E501
+ 'namespace': 'namespace', # noqa: E501
+ 'class_name': 'className', # noqa: E501
+ 'auto_test_global_ids': 'autoTestGlobalIds', # noqa: E501
+ 'name': 'name', # noqa: E501
+ 'created_date': 'createdDate', # noqa: E501
+ 'modified_date': 'modifiedDate', # noqa: E501
+ 'started_on': 'startedOn', # noqa: E501
+ 'completed_on': 'completedOn', # noqa: E501
+ 'duration': 'duration', # noqa: E501
+ 'result_reasons': 'resultReasons', # noqa: E501
+ 'test_run_ids': 'testRunIds', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """ManualRerunSelectTestResultsApiModelFilter - 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,)
+ configuration_ids ([str], none_type): Specifies a test result configuration IDs to search for. [optional] # noqa: E501
+ outcomes ([TestResultOutcome], none_type): Specifies a test result outcomes to search for. [optional] # noqa: E501
+ status_codes ([str], none_type): Specifies a test result status codes to search for. [optional] # noqa: E501
+ failure_categories ([FailureCategoryModel], none_type): Specifies a test result failure categories to search for. [optional] # noqa: E501
+ namespace (str, none_type): Specifies a test result namespace to search for. [optional] # noqa: E501
+ class_name (str, none_type): Specifies a test result class name to search for. [optional] # noqa: E501
+ auto_test_global_ids ([int], none_type): Specifies an autotest global IDs to search results for. [optional] # noqa: E501
+ name (str, none_type): Specifies an autotest name to search results for. [optional] # noqa: E501
+ created_date (TestResultsFilterApiModelCreatedDate): [optional] # noqa: E501
+ modified_date (TestResultsFilterApiModelModifiedDate): [optional] # noqa: E501
+ started_on (TestResultsFilterApiModelStartedOn): [optional] # noqa: E501
+ completed_on (TestResultsFilterApiModelCompletedOn): [optional] # noqa: E501
+ duration (TestResultsFilterApiModelDuration): [optional] # noqa: E501
+ result_reasons ([str], none_type): Specifies result reasons for searching test results. [optional] # noqa: E501
+ test_run_ids ([str], none_type): Specifies a test result test run IDs to search for. [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
+ """ManualRerunSelectTestResultsApiModelFilter - 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,)
+ configuration_ids ([str], none_type): Specifies a test result configuration IDs to search for. [optional] # noqa: E501
+ outcomes ([TestResultOutcome], none_type): Specifies a test result outcomes to search for. [optional] # noqa: E501
+ status_codes ([str], none_type): Specifies a test result status codes to search for. [optional] # noqa: E501
+ failure_categories ([FailureCategoryModel], none_type): Specifies a test result failure categories to search for. [optional] # noqa: E501
+ namespace (str, none_type): Specifies a test result namespace to search for. [optional] # noqa: E501
+ class_name (str, none_type): Specifies a test result class name to search for. [optional] # noqa: E501
+ auto_test_global_ids ([int], none_type): Specifies an autotest global IDs to search results for. [optional] # noqa: E501
+ name (str, none_type): Specifies an autotest name to search results for. [optional] # noqa: E501
+ created_date (TestResultsFilterApiModelCreatedDate): [optional] # noqa: E501
+ modified_date (TestResultsFilterApiModelModifiedDate): [optional] # noqa: E501
+ started_on (TestResultsFilterApiModelStartedOn): [optional] # noqa: E501
+ completed_on (TestResultsFilterApiModelCompletedOn): [optional] # noqa: E501
+ duration (TestResultsFilterApiModelDuration): [optional] # noqa: E501
+ result_reasons ([str], none_type): Specifies result reasons for searching test results. [optional] # noqa: E501
+ test_run_ids ([str], none_type): Specifies a test result test run IDs to search for. [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': [
+ TestResultsFilterApiModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/request_type.py b/src/testit_api_client/model/request_type.py
new file mode 100644
index 00000000..a437b58b
--- /dev/null
+++ b/src/testit_api_client/model/request_type.py
@@ -0,0 +1,291 @@
+"""
+ 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 RequestType(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',): {
+ 'POST': "Post",
+ 'PUT': "Put",
+ 'DELETE': "Delete",
+ },
+ }
+
+ 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):
+ """RequestType - 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 ["Post", "Put", "Delete", ] # noqa: E501
+
+ Keyword Args:
+ value (str):, must be one of ["Post", "Put", "Delete", ] # 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):
+ """RequestType - 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 ["Post", "Put", "Delete", ] # noqa: E501
+
+ Keyword Args:
+ value (str):, must be one of ["Post", "Put", "Delete", ] # 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/search_external_issues_api_model.py b/src/testit_api_client/model/search_external_issues_api_model.py
new file mode 100644
index 00000000..cf16c8de
--- /dev/null
+++ b/src/testit_api_client/model/search_external_issues_api_model.py
@@ -0,0 +1,266 @@
+"""
+ 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 SearchExternalIssuesApiModel(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 = {
+ ('url',): {
+ 'min_length': 1,
+ },
+ }
+
+ 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 {
+ 'url': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'url': 'url', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, url, *args, **kwargs): # noqa: E501
+ """SearchExternalIssuesApiModel - a model defined in OpenAPI
+
+ Args:
+ url (str): Url of external issue
+
+ 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.url = url
+ 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, url, *args, **kwargs): # noqa: E501
+ """SearchExternalIssuesApiModel - a model defined in OpenAPI
+
+ Args:
+ url (str): Url of external issue
+
+ 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.url = url
+ 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/search_work_items_request.py b/src/testit_api_client/model/search_work_items_request.py
index 6eb08a1d..5a5538df 100644
--- a/src/testit_api_client/model/search_work_items_request.py
+++ b/src/testit_api_client/model/search_work_items_request.py
@@ -34,6 +34,7 @@ def lazy_import():
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_modified_date import TestPlanTestPointsSearchApiModelWorkItemModifiedDate
from testit_api_client.model.test_suite_work_items_search_model import TestSuiteWorkItemsSearchModel
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
+ from testit_api_client.model.test_suite_work_items_search_model_external_metadata import TestSuiteWorkItemsSearchModelExternalMetadata
from testit_api_client.model.test_suite_work_items_search_model_links import TestSuiteWorkItemsSearchModelLinks
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
@@ -44,6 +45,7 @@ def lazy_import():
globals()['TestPlanTestPointsSearchApiModelWorkItemModifiedDate'] = TestPlanTestPointsSearchApiModelWorkItemModifiedDate
globals()['TestSuiteWorkItemsSearchModel'] = TestSuiteWorkItemsSearchModel
globals()['TestSuiteWorkItemsSearchModelDuration'] = TestSuiteWorkItemsSearchModelDuration
+ globals()['TestSuiteWorkItemsSearchModelExternalMetadata'] = TestSuiteWorkItemsSearchModelExternalMetadata
globals()['TestSuiteWorkItemsSearchModelLinks'] = TestSuiteWorkItemsSearchModelLinks
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
@@ -146,6 +148,7 @@ def openapi_types():
'name_or_id': (str, none_type,), # noqa: E501
'include_ids': ([str], none_type,), # noqa: E501
'exclude_ids': ([str], none_type,), # noqa: E501
+ 'external_metadata': (TestSuiteWorkItemsSearchModelExternalMetadata,), # noqa: E501
'project_ids': ([str], none_type,), # noqa: E501
'links': (TestSuiteWorkItemsSearchModelLinks,), # noqa: E501
'name': (str, none_type,), # noqa: E501
@@ -181,6 +184,7 @@ def discriminator():
'name_or_id': 'nameOrId', # noqa: E501
'include_ids': 'includeIds', # noqa: E501
'exclude_ids': 'excludeIds', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
'project_ids': 'projectIds', # noqa: E501
'links': 'links', # noqa: E501
'name': 'name', # noqa: E501
@@ -249,6 +253,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
@@ -379,6 +384,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
diff --git a/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model.py b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model.py
index 43b46e53..a2808395 100644
--- a/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model.py
+++ b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model.py
@@ -30,10 +30,10 @@
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
- globals()['TestPlanTestPointsExtractionApiModel'] = TestPlanTestPointsExtractionApiModel
- globals()['TestPlanTestPointsSearchApiModel'] = TestPlanTestPointsSearchApiModel
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_extraction_model import TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_filter import TestPlanTestPointsAutoTestsRerunApiModelFilter
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelFilter'] = TestPlanTestPointsAutoTestsRerunApiModelFilter
class TestPlanTestPointsAutoTestsRerunApiModel(ModelNormal):
@@ -82,8 +82,9 @@ def openapi_types():
"""
lazy_import()
return {
- 'filter': (TestPlanTestPointsSearchApiModel,), # noqa: E501
- 'extraction_model': (TestPlanTestPointsExtractionApiModel,), # noqa: E501
+ 'filter': (TestPlanTestPointsAutoTestsRerunApiModelFilter,), # noqa: E501
+ 'extraction_model': (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel,), # noqa: E501
+ 'webhook_ids': ([str], none_type,), # noqa: E501
}
@cached_property
@@ -94,6 +95,7 @@ def discriminator():
attribute_map = {
'filter': 'filter', # noqa: E501
'extraction_model': 'extractionModel', # noqa: E501
+ 'webhook_ids': 'webhookIds', # noqa: E501
}
read_only_vars = {
@@ -137,8 +139,9 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
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
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -224,8 +227,9 @@ def __init__(self, *args, **kwargs): # noqa: E501
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
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
+ webhook_ids ([str], none_type): Webhook ids to rerun.. [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_extraction_model.py b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_extraction_model.py
similarity index 98%
rename from src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_extraction_model.py
rename to src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_extraction_model.py
index 089bf5cf..bfa0876e 100644
--- a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_extraction_model.py
+++ b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_extraction_model.py
@@ -36,7 +36,7 @@ def lazy_import():
globals()['TestPlanTestPointsExtractionApiModelIds'] = TestPlanTestPointsExtractionApiModelIds
-class TestPlanTestPointsAutoTestsRunApiModelExtractionModel(ModelComposed):
+class TestPlanTestPointsAutoTestsRerunApiModelExtractionModel(ModelComposed):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
@@ -107,7 +107,7 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
- """TestPlanTestPointsAutoTestsRunApiModelExtractionModel - a model defined in OpenAPI
+ """TestPlanTestPointsAutoTestsRerunApiModelExtractionModel - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -211,7 +211,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
@convert_js_args_to_python_args
def __init__(self, *args, **kwargs): # noqa: E501
- """TestPlanTestPointsAutoTestsRunApiModelExtractionModel - a model defined in OpenAPI
+ """TestPlanTestPointsAutoTestsRerunApiModelExtractionModel - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
diff --git a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_filter.py b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_filter.py
similarity index 98%
rename from src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_filter.py
rename to src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_filter.py
index c7355550..92572bef 100644
--- a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model_filter.py
+++ b/src/testit_api_client/model/test_plan_test_points_auto_tests_rerun_api_model_filter.py
@@ -50,7 +50,7 @@ def lazy_import():
globals()['WorkItemPriorityModel'] = WorkItemPriorityModel
-class TestPlanTestPointsAutoTestsRunApiModelFilter(ModelComposed):
+class TestPlanTestPointsAutoTestsRerunApiModelFilter(ModelComposed):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
@@ -167,7 +167,7 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
- """TestPlanTestPointsAutoTestsRunApiModelFilter - a model defined in OpenAPI
+ """TestPlanTestPointsAutoTestsRerunApiModelFilter - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -292,7 +292,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
@convert_js_args_to_python_args
def __init__(self, *args, **kwargs): # noqa: E501
- """TestPlanTestPointsAutoTestsRunApiModelFilter - a model defined in OpenAPI
+ """TestPlanTestPointsAutoTestsRerunApiModelFilter - a model defined in OpenAPI
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
diff --git a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model.py b/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model.py
index 07c780bd..171ab660 100644
--- a/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model.py
+++ b/src/testit_api_client/model/test_plan_test_points_auto_tests_run_api_model.py
@@ -30,10 +30,10 @@
def lazy_import():
- from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_extraction_model import TestPlanTestPointsAutoTestsRunApiModelExtractionModel
- from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_filter import TestPlanTestPointsAutoTestsRunApiModelFilter
- globals()['TestPlanTestPointsAutoTestsRunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRunApiModelExtractionModel
- globals()['TestPlanTestPointsAutoTestsRunApiModelFilter'] = TestPlanTestPointsAutoTestsRunApiModelFilter
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_extraction_model import TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_filter import TestPlanTestPointsAutoTestsRerunApiModelFilter
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelExtractionModel'] = TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+ globals()['TestPlanTestPointsAutoTestsRerunApiModelFilter'] = TestPlanTestPointsAutoTestsRerunApiModelFilter
class TestPlanTestPointsAutoTestsRunApiModel(ModelNormal):
@@ -84,8 +84,8 @@ def openapi_types():
return {
'webhook_ids': ([str],), # noqa: E501
'reset_not_actual_automated_test_points': (bool,), # noqa: E501
- 'filter': (TestPlanTestPointsAutoTestsRunApiModelFilter,), # noqa: E501
- 'extraction_model': (TestPlanTestPointsAutoTestsRunApiModelExtractionModel,), # noqa: E501
+ 'filter': (TestPlanTestPointsAutoTestsRerunApiModelFilter,), # noqa: E501
+ 'extraction_model': (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel,), # noqa: E501
'build': (str, none_type,), # noqa: E501
}
@@ -147,8 +147,8 @@ def _from_openapi_data(cls, webhook_ids, reset_not_actual_automated_test_points,
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestPlanTestPointsAutoTestsRunApiModelFilter): [optional] # noqa: E501
- extraction_model (TestPlanTestPointsAutoTestsRunApiModelExtractionModel): [optional] # noqa: E501
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
build (str, none_type): Specifies the test run build.. [optional] # noqa: E501
"""
@@ -241,8 +241,8 @@ def __init__(self, webhook_ids, reset_not_actual_automated_test_points, *args, *
Animal class but this time we won't travel
through its discriminator because we passed in
_visited_composed_classes = (Animal,)
- filter (TestPlanTestPointsAutoTestsRunApiModelFilter): [optional] # noqa: E501
- extraction_model (TestPlanTestPointsAutoTestsRunApiModelExtractionModel): [optional] # noqa: E501
+ filter (TestPlanTestPointsAutoTestsRerunApiModelFilter): [optional] # noqa: E501
+ extraction_model (TestPlanTestPointsAutoTestsRerunApiModelExtractionModel): [optional] # noqa: E501
build (str, none_type): Specifies the test run build.. [optional] # noqa: E501
"""
diff --git a/src/testit_api_client/model/test_result_update_v2_request.py b/src/testit_api_client/model/test_result_update_v2_request.py
index 607a1055..23e99a3e 100644
--- a/src/testit_api_client/model/test_result_update_v2_request.py
+++ b/src/testit_api_client/model/test_result_update_v2_request.py
@@ -73,11 +73,11 @@ class TestResultUpdateV2Request(ModelNormal):
validations = {
('duration_in_ms',): {
- 'inclusive_maximum': -9223372036854775616,
+ 'inclusive_maximum': 9223372036854775616,
'inclusive_minimum': 0,
},
('duration',): {
- 'inclusive_maximum': -9223372036854775616,
+ 'inclusive_maximum': 9223372036854775616,
'inclusive_minimum': 0,
},
}
diff --git a/src/testit_api_client/model/test_suite_work_items_search_model.py b/src/testit_api_client/model/test_suite_work_items_search_model.py
index 2271c6a8..aaf263d7 100644
--- a/src/testit_api_client/model/test_suite_work_items_search_model.py
+++ b/src/testit_api_client/model/test_suite_work_items_search_model.py
@@ -33,6 +33,7 @@ def lazy_import():
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_created_date import TestPlanTestPointsSearchApiModelWorkItemCreatedDate
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_modified_date import TestPlanTestPointsSearchApiModelWorkItemModifiedDate
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
+ from testit_api_client.model.test_suite_work_items_search_model_external_metadata import TestSuiteWorkItemsSearchModelExternalMetadata
from testit_api_client.model.test_suite_work_items_search_model_links import TestSuiteWorkItemsSearchModelLinks
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
@@ -42,6 +43,7 @@ def lazy_import():
globals()['TestPlanTestPointsSearchApiModelWorkItemCreatedDate'] = TestPlanTestPointsSearchApiModelWorkItemCreatedDate
globals()['TestPlanTestPointsSearchApiModelWorkItemModifiedDate'] = TestPlanTestPointsSearchApiModelWorkItemModifiedDate
globals()['TestSuiteWorkItemsSearchModelDuration'] = TestSuiteWorkItemsSearchModelDuration
+ globals()['TestSuiteWorkItemsSearchModelExternalMetadata'] = TestSuiteWorkItemsSearchModelExternalMetadata
globals()['TestSuiteWorkItemsSearchModelLinks'] = TestSuiteWorkItemsSearchModelLinks
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
@@ -137,6 +139,7 @@ def openapi_types():
'name_or_id': (str, none_type,), # noqa: E501
'include_ids': ([str], none_type,), # noqa: E501
'exclude_ids': ([str], none_type,), # noqa: E501
+ 'external_metadata': (TestSuiteWorkItemsSearchModelExternalMetadata,), # noqa: E501
'project_ids': ([str], none_type,), # noqa: E501
'links': (TestSuiteWorkItemsSearchModelLinks,), # noqa: E501
'name': (str, none_type,), # noqa: E501
@@ -172,6 +175,7 @@ def discriminator():
'name_or_id': 'nameOrId', # noqa: E501
'include_ids': 'includeIds', # noqa: E501
'exclude_ids': 'excludeIds', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
'project_ids': 'projectIds', # noqa: E501
'links': 'links', # noqa: E501
'name': 'name', # noqa: E501
@@ -242,6 +246,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
@@ -354,6 +359,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
diff --git a/src/testit_api_client/model/test_suite_work_items_search_model_external_metadata.py b/src/testit_api_client/model/test_suite_work_items_search_model_external_metadata.py
new file mode 100644
index 00000000..a2b13cf6
--- /dev/null
+++ b/src/testit_api_client/model/test_suite_work_items_search_model_external_metadata.py
@@ -0,0 +1,337 @@
+"""
+ 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.work_item_external_metadata_field_filter_model import WorkItemExternalMetadataFieldFilterModel
+ from testit_api_client.model.work_item_external_metadata_filter_model import WorkItemExternalMetadataFilterModel
+ globals()['WorkItemExternalMetadataFieldFilterModel'] = WorkItemExternalMetadataFieldFilterModel
+ globals()['WorkItemExternalMetadataFilterModel'] = WorkItemExternalMetadataFilterModel
+
+
+class TestSuiteWorkItemsSearchModelExternalMetadata(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 = True
+
+ @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 {
+ 'ids': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'types': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'priorities': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'statuses': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'assignees': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'ids': 'ids', # noqa: E501
+ 'types': 'types', # noqa: E501
+ 'priorities': 'priorities', # noqa: E501
+ 'statuses': 'statuses', # noqa: E501
+ 'assignees': 'assignees', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """TestSuiteWorkItemsSearchModelExternalMetadata - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterModel], none_type): Assignees of external issues to search for. [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
+ """TestSuiteWorkItemsSearchModelExternalMetadata - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterModel], none_type): Assignees of external issues to search for. [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': [
+ WorkItemExternalMetadataFilterModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/web_hook_log_model.py b/src/testit_api_client/model/webhook_log_api_result.py
similarity index 91%
rename from src/testit_api_client/model/web_hook_log_model.py
rename to src/testit_api_client/model/webhook_log_api_result.py
index 7108094f..26122194 100644
--- a/src/testit_api_client/model/web_hook_log_model.py
+++ b/src/testit_api_client/model/webhook_log_api_result.py
@@ -30,13 +30,13 @@
def lazy_import():
- from testit_api_client.model.request_type_model import RequestTypeModel
- from testit_api_client.model.web_hook_event_type_model import WebHookEventTypeModel
- globals()['RequestTypeModel'] = RequestTypeModel
- globals()['WebHookEventTypeModel'] = WebHookEventTypeModel
+ from testit_api_client.model.request_type import RequestType
+ from testit_api_client.model.web_hook_event_type import WebHookEventType
+ globals()['RequestType'] = RequestType
+ globals()['WebHookEventType'] = WebHookEventType
-class WebHookLogModel(ModelNormal):
+class WebhookLogApiResult(ModelNormal):
"""NOTE: This class is auto generated by OpenAPI Generator.
Ref: https://openapi-generator.tech
@@ -82,16 +82,16 @@ def openapi_types():
"""
lazy_import()
return {
+ 'id': (str,), # noqa: E501
+ 'is_deleted': (bool,), # noqa: E501
'web_hook_name': (str,), # noqa: E501
- 'event_type': (WebHookEventTypeModel,), # noqa: E501
+ 'event_type': (WebHookEventType,), # noqa: E501
'web_hook_id': (str,), # noqa: E501
'response_status_code': (int,), # noqa: E501
'project_id': (str,), # noqa: E501
'url': (str,), # noqa: E501
- 'request_type': (RequestTypeModel,), # noqa: E501
+ 'request_type': (RequestType,), # noqa: E501
'created_by_id': (str,), # noqa: E501
- 'id': (str,), # noqa: E501
- 'is_deleted': (bool,), # noqa: E501
'request_body': (str, none_type,), # noqa: E501
'request_meta': (str, none_type,), # noqa: E501
'response_body': (str, none_type,), # noqa: E501
@@ -107,6 +107,8 @@ def discriminator():
attribute_map = {
+ 'id': 'id', # noqa: E501
+ 'is_deleted': 'isDeleted', # noqa: E501
'web_hook_name': 'webHookName', # noqa: E501
'event_type': 'eventType', # noqa: E501
'web_hook_id': 'webHookId', # noqa: E501
@@ -115,8 +117,6 @@ def discriminator():
'url': 'url', # noqa: E501
'request_type': 'requestType', # noqa: E501
'created_by_id': 'createdById', # noqa: E501
- 'id': 'id', # noqa: E501
- 'is_deleted': 'isDeleted', # noqa: E501
'request_body': 'requestBody', # noqa: E501
'request_meta': 'requestMeta', # noqa: E501
'response_body': 'responseBody', # noqa: E501
@@ -133,20 +133,20 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, web_hook_name, event_type, web_hook_id, response_status_code, project_id, url, request_type, created_by_id, id, is_deleted, *args, **kwargs): # noqa: E501
- """WebHookLogModel - a model defined in OpenAPI
+ def _from_openapi_data(cls, id, is_deleted, web_hook_name, event_type, web_hook_id, response_status_code, project_id, url, request_type, created_by_id, *args, **kwargs): # noqa: E501
+ """WebhookLogApiResult - a model defined in OpenAPI
Args:
+ id (str):
+ is_deleted (bool):
web_hook_name (str):
- event_type (WebHookEventTypeModel):
+ event_type (WebHookEventType):
web_hook_id (str):
response_status_code (int):
project_id (str):
url (str):
- request_type (RequestTypeModel):
+ request_type (RequestType):
created_by_id (str):
- id (str): Unique ID of the entity
- is_deleted (bool): Indicates if the entity is deleted
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -217,6 +217,8 @@ def _from_openapi_data(cls, web_hook_name, event_type, web_hook_id, response_sta
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+ self.id = id
+ self.is_deleted = is_deleted
self.web_hook_name = web_hook_name
self.event_type = event_type
self.web_hook_id = web_hook_id
@@ -225,8 +227,6 @@ def _from_openapi_data(cls, web_hook_name, event_type, web_hook_id, response_sta
self.url = url
self.request_type = request_type
self.created_by_id = created_by_id
- self.id = id
- self.is_deleted = is_deleted
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -247,20 +247,20 @@ def _from_openapi_data(cls, web_hook_name, event_type, web_hook_id, response_sta
])
@convert_js_args_to_python_args
- def __init__(self, web_hook_name, event_type, web_hook_id, response_status_code, project_id, url, request_type, created_by_id, id, is_deleted, *args, **kwargs): # noqa: E501
- """WebHookLogModel - a model defined in OpenAPI
+ def __init__(self, id, is_deleted, web_hook_name, event_type, web_hook_id, response_status_code, project_id, url, request_type, created_by_id, *args, **kwargs): # noqa: E501
+ """WebhookLogApiResult - a model defined in OpenAPI
Args:
+ id (str):
+ is_deleted (bool):
web_hook_name (str):
- event_type (WebHookEventTypeModel):
+ event_type (WebHookEventType):
web_hook_id (str):
response_status_code (int):
project_id (str):
url (str):
- request_type (RequestTypeModel):
+ request_type (RequestType):
created_by_id (str):
- id (str): Unique ID of the entity
- is_deleted (bool): Indicates if the entity is deleted
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -329,6 +329,8 @@ def __init__(self, web_hook_name, event_type, web_hook_id, response_status_code,
self._configuration = _configuration
self._visited_composed_classes = _visited_composed_classes + (self.__class__,)
+ self.id = id
+ self.is_deleted = is_deleted
self.web_hook_name = web_hook_name
self.event_type = event_type
self.web_hook_id = web_hook_id
@@ -337,8 +339,6 @@ def __init__(self, web_hook_name, event_type, web_hook_id, response_status_code,
self.url = url
self.request_type = request_type
self.created_by_id = created_by_id
- self.id = id
- self.is_deleted = is_deleted
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/work_item_api_result.py b/src/testit_api_client/model/work_item_api_result.py
index dae84a27..4de6a621 100644
--- a/src/testit_api_client/model/work_item_api_result.py
+++ b/src/testit_api_client/model/work_item_api_result.py
@@ -32,6 +32,7 @@
def lazy_import():
from testit_api_client.model.attachment_model import AttachmentModel
from testit_api_client.model.auto_test_model import AutoTestModel
+ from testit_api_client.model.external_issue_api_result import ExternalIssueApiResult
from testit_api_client.model.iteration_model import IterationModel
from testit_api_client.model.link_model import LinkModel
from testit_api_client.model.step_model import StepModel
@@ -42,6 +43,7 @@ def lazy_import():
from testit_api_client.model.work_item_state_api_model import WorkItemStateApiModel
globals()['AttachmentModel'] = AttachmentModel
globals()['AutoTestModel'] = AutoTestModel
+ globals()['ExternalIssueApiResult'] = ExternalIssueApiResult
globals()['IterationModel'] = IterationModel
globals()['LinkModel'] = LinkModel
globals()['StepModel'] = StepModel
@@ -123,6 +125,7 @@ def openapi_types():
'auto_tests': ([AutoTestModel],), # noqa: E501
'attachments': ([AttachmentModel],), # noqa: E501
'links': ([LinkModel],), # noqa: E501
+ 'external_issues': ([ExternalIssueApiResult],), # noqa: E501
'created_date': (datetime,), # noqa: E501
'created_by_id': (str,), # noqa: E501
'is_deleted': (bool,), # noqa: E501
@@ -162,6 +165,7 @@ def discriminator():
'auto_tests': 'autoTests', # noqa: E501
'attachments': 'attachments', # noqa: E501
'links': 'links', # noqa: E501
+ 'external_issues': 'externalIssues', # noqa: E501
'created_date': 'createdDate', # noqa: E501
'created_by_id': 'createdById', # noqa: E501
'is_deleted': 'isDeleted', # noqa: E501
@@ -177,7 +181,7 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, id, global_id, version_id, version_number, project_id, section_id, name, source_type, entity_type_name, duration, median_duration, state, priority, is_automated, attributes, tags, section_precondition_steps, section_postcondition_steps, precondition_steps, steps, postcondition_steps, iterations, auto_tests, attachments, links, created_date, created_by_id, is_deleted, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, id, global_id, version_id, version_number, project_id, section_id, name, source_type, entity_type_name, duration, median_duration, state, priority, is_automated, attributes, tags, section_precondition_steps, section_postcondition_steps, precondition_steps, steps, postcondition_steps, iterations, auto_tests, attachments, links, external_issues, created_date, created_by_id, is_deleted, *args, **kwargs): # noqa: E501
"""WorkItemApiResult - a model defined in OpenAPI
Args:
@@ -206,6 +210,7 @@ def _from_openapi_data(cls, id, global_id, version_id, version_number, project_i
auto_tests ([AutoTestModel]): Automated tests associated with the work item
attachments ([AttachmentModel]): Files attached to the work item
links ([LinkModel]): Set of links related to the work item
+ external_issues ([ExternalIssueApiResult]): Set of external issues related to the work item
created_date (datetime): Creation date of the work item
created_by_id (str): Unique identifier of the work item creator
is_deleted (bool): Indicates whether the work item is marked as deleted
@@ -300,6 +305,7 @@ def _from_openapi_data(cls, id, global_id, version_id, version_number, project_i
self.auto_tests = auto_tests
self.attachments = attachments
self.links = links
+ self.external_issues = external_issues
self.created_date = created_date
self.created_by_id = created_by_id
self.is_deleted = is_deleted
@@ -323,7 +329,7 @@ def _from_openapi_data(cls, id, global_id, version_id, version_number, project_i
])
@convert_js_args_to_python_args
- def __init__(self, id, global_id, version_id, version_number, project_id, section_id, name, source_type, entity_type_name, duration, median_duration, state, priority, is_automated, attributes, tags, section_precondition_steps, section_postcondition_steps, precondition_steps, steps, postcondition_steps, iterations, auto_tests, attachments, links, created_date, created_by_id, is_deleted, *args, **kwargs): # noqa: E501
+ def __init__(self, id, global_id, version_id, version_number, project_id, section_id, name, source_type, entity_type_name, duration, median_duration, state, priority, is_automated, attributes, tags, section_precondition_steps, section_postcondition_steps, precondition_steps, steps, postcondition_steps, iterations, auto_tests, attachments, links, external_issues, created_date, created_by_id, is_deleted, *args, **kwargs): # noqa: E501
"""WorkItemApiResult - a model defined in OpenAPI
Args:
@@ -352,6 +358,7 @@ def __init__(self, id, global_id, version_id, version_number, project_id, sectio
auto_tests ([AutoTestModel]): Automated tests associated with the work item
attachments ([AttachmentModel]): Files attached to the work item
links ([LinkModel]): Set of links related to the work item
+ external_issues ([ExternalIssueApiResult]): Set of external issues related to the work item
created_date (datetime): Creation date of the work item
created_by_id (str): Unique identifier of the work item creator
is_deleted (bool): Indicates whether the work item is marked as deleted
@@ -444,6 +451,7 @@ def __init__(self, id, global_id, version_id, version_number, project_id, sectio
self.auto_tests = auto_tests
self.attachments = attachments
self.links = links
+ self.external_issues = external_issues
self.created_date = created_date
self.created_by_id = created_by_id
self.is_deleted = is_deleted
diff --git a/src/testit_api_client/model/work_item_external_metadata_field_filter_api_model.py b/src/testit_api_client/model/work_item_external_metadata_field_filter_api_model.py
new file mode 100644
index 00000000..5ca91cb2
--- /dev/null
+++ b/src/testit_api_client/model/work_item_external_metadata_field_filter_api_model.py
@@ -0,0 +1,269 @@
+"""
+ 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 WorkItemExternalMetadataFieldFilterApiModel(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 {
+ 'value': (str,), # noqa: E501
+ 'external_service_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'value': 'value', # noqa: E501
+ 'external_service_id': 'externalServiceId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, value, external_service_id, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFieldFilterApiModel - a model defined in OpenAPI
+
+ Args:
+ value (str): Value of the field
+ external_service_id (str): Identifier of external service which is source of this value
+
+ 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.value = value
+ self.external_service_id = external_service_id
+ 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, value, external_service_id, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFieldFilterApiModel - a model defined in OpenAPI
+
+ Args:
+ value (str): Value of the field
+ external_service_id (str): Identifier of external service which is source of this value
+
+ 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.value = value
+ self.external_service_id = external_service_id
+ 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/work_item_external_metadata_field_filter_model.py b/src/testit_api_client/model/work_item_external_metadata_field_filter_model.py
new file mode 100644
index 00000000..e257041c
--- /dev/null
+++ b/src/testit_api_client/model/work_item_external_metadata_field_filter_model.py
@@ -0,0 +1,269 @@
+"""
+ 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 WorkItemExternalMetadataFieldFilterModel(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 {
+ 'value': (str,), # noqa: E501
+ 'external_service_id': (str,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'value': 'value', # noqa: E501
+ 'external_service_id': 'externalServiceId', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, value, external_service_id, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFieldFilterModel - a model defined in OpenAPI
+
+ Args:
+ value (str): Value of the field
+ external_service_id (str): Identifier of external service which is source of this value
+
+ 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.value = value
+ self.external_service_id = external_service_id
+ 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, value, external_service_id, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFieldFilterModel - a model defined in OpenAPI
+
+ Args:
+ value (str): Value of the field
+ external_service_id (str): Identifier of external service which is source of this value
+
+ 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.value = value
+ self.external_service_id = external_service_id
+ 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/work_item_external_metadata_filter_api_model.py b/src/testit_api_client/model/work_item_external_metadata_filter_api_model.py
new file mode 100644
index 00000000..deef119b
--- /dev/null
+++ b/src/testit_api_client/model/work_item_external_metadata_filter_api_model.py
@@ -0,0 +1,278 @@
+"""
+ 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.work_item_external_metadata_field_filter_api_model import WorkItemExternalMetadataFieldFilterApiModel
+ globals()['WorkItemExternalMetadataFieldFilterApiModel'] = WorkItemExternalMetadataFieldFilterApiModel
+
+
+class WorkItemExternalMetadataFilterApiModel(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.
+ """
+ lazy_import()
+ return {
+ 'ids': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'types': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'priorities': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'statuses': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'assignees': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'ids': 'ids', # noqa: E501
+ 'types': 'types', # noqa: E501
+ 'priorities': 'priorities', # noqa: E501
+ 'statuses': 'statuses', # noqa: E501
+ 'assignees': 'assignees', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFilterApiModel - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Assignees of external issues to search for. [optional] # noqa: E501
+ """
+
+ _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__,)
+
+ 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, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFilterApiModel - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Assignees of external issues to search for. [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__,)
+
+ 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/work_item_external_metadata_filter_model.py b/src/testit_api_client/model/work_item_external_metadata_filter_model.py
new file mode 100644
index 00000000..20941c5b
--- /dev/null
+++ b/src/testit_api_client/model/work_item_external_metadata_filter_model.py
@@ -0,0 +1,278 @@
+"""
+ 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.work_item_external_metadata_field_filter_model import WorkItemExternalMetadataFieldFilterModel
+ globals()['WorkItemExternalMetadataFieldFilterModel'] = WorkItemExternalMetadataFieldFilterModel
+
+
+class WorkItemExternalMetadataFilterModel(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.
+ """
+ lazy_import()
+ return {
+ 'ids': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'types': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'priorities': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'statuses': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ 'assignees': ([WorkItemExternalMetadataFieldFilterModel], none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'ids': 'ids', # noqa: E501
+ 'types': 'types', # noqa: E501
+ 'priorities': 'priorities', # noqa: E501
+ 'statuses': 'statuses', # noqa: E501
+ 'assignees': 'assignees', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFilterModel - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterModel], none_type): Assignees of external issues to search for. [optional] # noqa: E501
+ """
+
+ _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__,)
+
+ 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, *args, **kwargs): # noqa: E501
+ """WorkItemExternalMetadataFilterModel - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterModel], none_type): Assignees of external issues to search for. [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__,)
+
+ 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/work_item_filter_api_model.py b/src/testit_api_client/model/work_item_filter_api_model.py
index 6bb251d4..9b57da78 100644
--- a/src/testit_api_client/model/work_item_filter_api_model.py
+++ b/src/testit_api_client/model/work_item_filter_api_model.py
@@ -35,6 +35,7 @@ def lazy_import():
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
+ from testit_api_client.model.work_item_filter_api_model_external_metadata import WorkItemFilterApiModelExternalMetadata
from testit_api_client.model.work_item_filter_api_model_links import WorkItemFilterApiModelLinks
from testit_api_client.model.work_item_priority_model import WorkItemPriorityModel
from testit_api_client.model.work_item_source_type_model import WorkItemSourceTypeModel
@@ -44,6 +45,7 @@ def lazy_import():
globals()['TestSuiteWorkItemsSearchModelDuration'] = TestSuiteWorkItemsSearchModelDuration
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
+ globals()['WorkItemFilterApiModelExternalMetadata'] = WorkItemFilterApiModelExternalMetadata
globals()['WorkItemFilterApiModelLinks'] = WorkItemFilterApiModelLinks
globals()['WorkItemPriorityModel'] = WorkItemPriorityModel
globals()['WorkItemSourceTypeModel'] = WorkItemSourceTypeModel
@@ -153,6 +155,7 @@ def openapi_types():
'auto_test_ids': ([str], none_type,), # noqa: E501
'work_item_version_ids': ([str], none_type,), # noqa: E501
'links': (WorkItemFilterApiModelLinks,), # noqa: E501
+ 'external_metadata': (WorkItemFilterApiModelExternalMetadata,), # noqa: E501
}
@cached_property
@@ -186,6 +189,7 @@ def discriminator():
'auto_test_ids': 'autoTestIds', # noqa: E501
'work_item_version_ids': 'workItemVersionIds', # noqa: E501
'links': 'links', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
}
read_only_vars = {
@@ -254,6 +258,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
auto_test_ids ([str], none_type): Collection of identifiers of linked autotests. [optional] # noqa: E501
work_item_version_ids ([str], none_type): Collection of identifiers work items versions.. [optional] # noqa: E501
links (WorkItemFilterApiModelLinks): [optional] # noqa: E501
+ external_metadata (WorkItemFilterApiModelExternalMetadata): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -364,6 +369,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
auto_test_ids ([str], none_type): Collection of identifiers of linked autotests. [optional] # noqa: E501
work_item_version_ids ([str], none_type): Collection of identifiers work items versions.. [optional] # noqa: E501
links (WorkItemFilterApiModelLinks): [optional] # noqa: E501
+ external_metadata (WorkItemFilterApiModelExternalMetadata): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/work_item_filter_api_model_external_metadata.py b/src/testit_api_client/model/work_item_filter_api_model_external_metadata.py
new file mode 100644
index 00000000..dc6576c8
--- /dev/null
+++ b/src/testit_api_client/model/work_item_filter_api_model_external_metadata.py
@@ -0,0 +1,337 @@
+"""
+ 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.work_item_external_metadata_field_filter_api_model import WorkItemExternalMetadataFieldFilterApiModel
+ from testit_api_client.model.work_item_external_metadata_filter_api_model import WorkItemExternalMetadataFilterApiModel
+ globals()['WorkItemExternalMetadataFieldFilterApiModel'] = WorkItemExternalMetadataFieldFilterApiModel
+ globals()['WorkItemExternalMetadataFilterApiModel'] = WorkItemExternalMetadataFilterApiModel
+
+
+class WorkItemFilterApiModelExternalMetadata(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 = True
+
+ @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 {
+ 'ids': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'types': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'priorities': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'statuses': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ 'assignees': ([WorkItemExternalMetadataFieldFilterApiModel], none_type,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'ids': 'ids', # noqa: E501
+ 'types': 'types', # noqa: E501
+ 'priorities': 'priorities', # noqa: E501
+ 'statuses': 'statuses', # noqa: E501
+ 'assignees': 'assignees', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
+ """WorkItemFilterApiModelExternalMetadata - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Assignees of external issues to search for. [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
+ """WorkItemFilterApiModelExternalMetadata - 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,)
+ ids ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Identifiers of external issues to search for. [optional] # noqa: E501
+ types ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Types of external issues to search for. [optional] # noqa: E501
+ priorities ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Priorities of external issues to search for. [optional] # noqa: E501
+ statuses ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Statuses of external issues to search for. [optional] # noqa: E501
+ assignees ([WorkItemExternalMetadataFieldFilterApiModel], none_type): Assignees of external issues to search for. [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': [
+ WorkItemExternalMetadataFilterApiModel,
+ ],
+ 'oneOf': [
+ ],
+ }
diff --git a/src/testit_api_client/model/work_item_filter_model.py b/src/testit_api_client/model/work_item_filter_model.py
index 56a14429..901edbd7 100644
--- a/src/testit_api_client/model/work_item_filter_model.py
+++ b/src/testit_api_client/model/work_item_filter_model.py
@@ -33,6 +33,7 @@ def lazy_import():
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_created_date import TestPlanTestPointsSearchApiModelWorkItemCreatedDate
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_modified_date import TestPlanTestPointsSearchApiModelWorkItemModifiedDate
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
+ from testit_api_client.model.test_suite_work_items_search_model_external_metadata import TestSuiteWorkItemsSearchModelExternalMetadata
from testit_api_client.model.test_suite_work_items_search_model_links import TestSuiteWorkItemsSearchModelLinks
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
@@ -42,6 +43,7 @@ def lazy_import():
globals()['TestPlanTestPointsSearchApiModelWorkItemCreatedDate'] = TestPlanTestPointsSearchApiModelWorkItemCreatedDate
globals()['TestPlanTestPointsSearchApiModelWorkItemModifiedDate'] = TestPlanTestPointsSearchApiModelWorkItemModifiedDate
globals()['TestSuiteWorkItemsSearchModelDuration'] = TestSuiteWorkItemsSearchModelDuration
+ globals()['TestSuiteWorkItemsSearchModelExternalMetadata'] = TestSuiteWorkItemsSearchModelExternalMetadata
globals()['TestSuiteWorkItemsSearchModelLinks'] = TestSuiteWorkItemsSearchModelLinks
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
@@ -131,6 +133,7 @@ def openapi_types():
'name_or_id': (str, none_type,), # noqa: E501
'include_ids': ([str], none_type,), # noqa: E501
'exclude_ids': ([str], none_type,), # noqa: E501
+ 'external_metadata': (TestSuiteWorkItemsSearchModelExternalMetadata,), # noqa: E501
'project_ids': ([str], none_type,), # noqa: E501
'links': (TestSuiteWorkItemsSearchModelLinks,), # noqa: E501
'name': (str, none_type,), # noqa: E501
@@ -164,6 +167,7 @@ def discriminator():
'name_or_id': 'nameOrId', # noqa: E501
'include_ids': 'includeIds', # noqa: E501
'exclude_ids': 'excludeIds', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
'project_ids': 'projectIds', # noqa: E501
'links': 'links', # noqa: E501
'name': 'name', # noqa: E501
@@ -232,6 +236,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
@@ -342,6 +347,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
diff --git a/src/testit_api_client/model/work_item_index_api_result.py b/src/testit_api_client/model/work_item_index_api_result.py
new file mode 100644
index 00000000..eda2fdc6
--- /dev/null
+++ b/src/testit_api_client/model/work_item_index_api_result.py
@@ -0,0 +1,269 @@
+"""
+ 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 WorkItemIndexApiResult(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 {
+ 'current_index': (int,), # noqa: E501
+ 'total_count': (int,), # noqa: E501
+ }
+
+ @cached_property
+ def discriminator():
+ return None
+
+
+ attribute_map = {
+ 'current_index': 'currentIndex', # noqa: E501
+ 'total_count': 'totalCount', # noqa: E501
+ }
+
+ read_only_vars = {
+ }
+
+ _composed_schemas = {}
+
+ @classmethod
+ @convert_js_args_to_python_args
+ def _from_openapi_data(cls, current_index, total_count, *args, **kwargs): # noqa: E501
+ """WorkItemIndexApiResult - a model defined in OpenAPI
+
+ Args:
+ current_index (int): Current index (position) of the element in a collection
+ total_count (int): Total count of elements in a collection
+
+ 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.current_index = current_index
+ 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, current_index, total_count, *args, **kwargs): # noqa: E501
+ """WorkItemIndexApiResult - a model defined in OpenAPI
+
+ Args:
+ current_index (int): Current index (position) of the element in a collection
+ total_count (int): Total count of elements in a collection
+
+ 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.current_index = current_index
+ 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/work_item_model.py b/src/testit_api_client/model/work_item_model.py
index d4db767b..4503419a 100644
--- a/src/testit_api_client/model/work_item_model.py
+++ b/src/testit_api_client/model/work_item_model.py
@@ -32,6 +32,7 @@
def lazy_import():
from testit_api_client.model.attachment_model import AttachmentModel
from testit_api_client.model.auto_test_model import AutoTestModel
+ from testit_api_client.model.external_issue_model import ExternalIssueModel
from testit_api_client.model.iteration_model import IterationModel
from testit_api_client.model.link_model import LinkModel
from testit_api_client.model.step_model import StepModel
@@ -42,6 +43,7 @@ def lazy_import():
from testit_api_client.model.work_item_states import WorkItemStates
globals()['AttachmentModel'] = AttachmentModel
globals()['AutoTestModel'] = AutoTestModel
+ globals()['ExternalIssueModel'] = ExternalIssueModel
globals()['IterationModel'] = IterationModel
globals()['LinkModel'] = LinkModel
globals()['StepModel'] = StepModel
@@ -115,6 +117,7 @@ def openapi_types():
'created_date': (datetime,), # noqa: E501
'created_by_id': (str,), # noqa: E501
'global_id': (int,), # noqa: E501
+ 'external_issues': ([ExternalIssueModel],), # noqa: E501
'id': (str,), # noqa: E501
'section_id': (str,), # noqa: E501
'state': (WorkItemStates,), # noqa: E501
@@ -154,6 +157,7 @@ def discriminator():
'created_date': 'createdDate', # noqa: E501
'created_by_id': 'createdById', # noqa: E501
'global_id': 'globalId', # noqa: E501
+ 'external_issues': 'externalIssues', # noqa: E501
'id': 'id', # noqa: E501
'section_id': 'sectionId', # noqa: E501
'state': 'state', # noqa: E501
@@ -184,7 +188,7 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, version_id, median_duration, is_deleted, project_id, entity_type_name, is_automated, version_number, created_date, created_by_id, global_id, id, section_id, state, priority, source_type, steps, precondition_steps, postcondition_steps, duration, attributes, tags, links, name, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, version_id, median_duration, is_deleted, project_id, entity_type_name, is_automated, version_number, created_date, created_by_id, global_id, external_issues, id, section_id, state, priority, source_type, steps, precondition_steps, postcondition_steps, duration, attributes, tags, links, name, *args, **kwargs): # noqa: E501
"""WorkItemModel - a model defined in OpenAPI
Args:
@@ -198,6 +202,7 @@ def _from_openapi_data(cls, version_id, median_duration, is_deleted, project_id,
created_date (datetime):
created_by_id (str):
global_id (int):
+ external_issues ([ExternalIssueModel]):
id (str):
section_id (str):
state (WorkItemStates):
@@ -292,6 +297,7 @@ def _from_openapi_data(cls, version_id, median_duration, is_deleted, project_id,
self.created_date = created_date
self.created_by_id = created_by_id
self.global_id = global_id
+ self.external_issues = external_issues
self.id = id
self.section_id = section_id
self.state = state
@@ -325,7 +331,7 @@ def _from_openapi_data(cls, version_id, median_duration, is_deleted, project_id,
])
@convert_js_args_to_python_args
- def __init__(self, version_id, median_duration, is_deleted, project_id, entity_type_name, is_automated, version_number, created_date, created_by_id, global_id, id, section_id, state, priority, source_type, steps, precondition_steps, postcondition_steps, duration, attributes, tags, links, name, *args, **kwargs): # noqa: E501
+ def __init__(self, version_id, median_duration, is_deleted, project_id, entity_type_name, is_automated, version_number, created_date, created_by_id, global_id, external_issues, id, section_id, state, priority, source_type, steps, precondition_steps, postcondition_steps, duration, attributes, tags, links, name, *args, **kwargs): # noqa: E501
"""WorkItemModel - a model defined in OpenAPI
Args:
@@ -339,6 +345,7 @@ def __init__(self, version_id, median_duration, is_deleted, project_id, entity_t
created_date (datetime):
created_by_id (str):
global_id (int):
+ external_issues ([ExternalIssueModel]):
id (str):
section_id (str):
state (WorkItemStates):
@@ -431,6 +438,7 @@ def __init__(self, version_id, median_duration, is_deleted, project_id, entity_t
self.created_date = created_date
self.created_by_id = created_by_id
self.global_id = global_id
+ self.external_issues = external_issues
self.id = id
self.section_id = section_id
self.state = state
diff --git a/src/testit_api_client/model/work_item_preview_api_model.py b/src/testit_api_client/model/work_item_preview_api_model.py
index 43a4ab54..ad6df296 100644
--- a/src/testit_api_client/model/work_item_preview_api_model.py
+++ b/src/testit_api_client/model/work_item_preview_api_model.py
@@ -89,8 +89,6 @@ def openapi_types():
'name': (str,), # noqa: E501
'description': (str,), # noqa: E501
'steps': ([WorkItemPreviewStepApiModel],), # noqa: E501
- 'action': (str,), # noqa: E501
- 'expected': (str,), # noqa: E501
}
@cached_property
@@ -102,8 +100,6 @@ def discriminator():
'name': 'name', # noqa: E501
'description': 'description', # noqa: E501
'steps': 'steps', # noqa: E501
- 'action': 'action', # noqa: E501
- 'expected': 'expected', # noqa: E501
}
read_only_vars = {
@@ -113,15 +109,13 @@ def discriminator():
@classmethod
@convert_js_args_to_python_args
- def _from_openapi_data(cls, name, description, steps, action, expected, *args, **kwargs): # noqa: E501
+ def _from_openapi_data(cls, name, description, steps, *args, **kwargs): # noqa: E501
"""WorkItemPreviewApiModel - a model defined in OpenAPI
Args:
name (str):
description (str):
steps ([WorkItemPreviewStepApiModel]):
- action (str):
- expected (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -188,8 +182,6 @@ def _from_openapi_data(cls, name, description, steps, action, expected, *args, *
self.name = name
self.description = description
self.steps = steps
- self.action = action
- self.expected = expected
for var_name, var_value in kwargs.items():
if var_name not in self.attribute_map and \
self._configuration is not None and \
@@ -210,15 +202,13 @@ def _from_openapi_data(cls, name, description, steps, action, expected, *args, *
])
@convert_js_args_to_python_args
- def __init__(self, name, description, steps, action, expected, *args, **kwargs): # noqa: E501
+ def __init__(self, name, description, steps, *args, **kwargs): # noqa: E501
"""WorkItemPreviewApiModel - a model defined in OpenAPI
Args:
name (str):
description (str):
steps ([WorkItemPreviewStepApiModel]):
- action (str):
- expected (str):
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -283,8 +273,6 @@ def __init__(self, name, description, steps, action, expected, *args, **kwargs):
self.name = name
self.description = description
self.steps = steps
- self.action = action
- self.expected = expected
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/work_item_select_api_model_filter.py b/src/testit_api_client/model/work_item_select_api_model_filter.py
index 30eb91eb..dcf24786 100644
--- a/src/testit_api_client/model/work_item_select_api_model_filter.py
+++ b/src/testit_api_client/model/work_item_select_api_model_filter.py
@@ -36,6 +36,7 @@ def lazy_import():
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
from testit_api_client.model.work_item_filter_api_model import WorkItemFilterApiModel
+ from testit_api_client.model.work_item_filter_api_model_external_metadata import WorkItemFilterApiModelExternalMetadata
from testit_api_client.model.work_item_filter_api_model_links import WorkItemFilterApiModelLinks
from testit_api_client.model.work_item_priority_model import WorkItemPriorityModel
from testit_api_client.model.work_item_source_type_model import WorkItemSourceTypeModel
@@ -46,6 +47,7 @@ def lazy_import():
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
globals()['WorkItemFilterApiModel'] = WorkItemFilterApiModel
+ globals()['WorkItemFilterApiModelExternalMetadata'] = WorkItemFilterApiModelExternalMetadata
globals()['WorkItemFilterApiModelLinks'] = WorkItemFilterApiModelLinks
globals()['WorkItemPriorityModel'] = WorkItemPriorityModel
globals()['WorkItemSourceTypeModel'] = WorkItemSourceTypeModel
@@ -162,6 +164,7 @@ def openapi_types():
'auto_test_ids': ([str], none_type,), # noqa: E501
'work_item_version_ids': ([str], none_type,), # noqa: E501
'links': (WorkItemFilterApiModelLinks,), # noqa: E501
+ 'external_metadata': (WorkItemFilterApiModelExternalMetadata,), # noqa: E501
}
@cached_property
@@ -195,6 +198,7 @@ def discriminator():
'auto_test_ids': 'autoTestIds', # noqa: E501
'work_item_version_ids': 'workItemVersionIds', # noqa: E501
'links': 'links', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
}
read_only_vars = {
@@ -261,6 +265,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
auto_test_ids ([str], none_type): Collection of identifiers of linked autotests. [optional] # noqa: E501
work_item_version_ids ([str], none_type): Collection of identifiers work items versions.. [optional] # noqa: E501
links (WorkItemFilterApiModelLinks): [optional] # noqa: E501
+ external_metadata (WorkItemFilterApiModelExternalMetadata): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
@@ -389,6 +394,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
auto_test_ids ([str], none_type): Collection of identifiers of linked autotests. [optional] # noqa: E501
work_item_version_ids ([str], none_type): Collection of identifiers work items versions.. [optional] # noqa: E501
links (WorkItemFilterApiModelLinks): [optional] # noqa: E501
+ external_metadata (WorkItemFilterApiModelExternalMetadata): [optional] # noqa: E501
"""
_check_type = kwargs.pop('_check_type', True)
diff --git a/src/testit_api_client/model/work_item_select_model_filter.py b/src/testit_api_client/model/work_item_select_model_filter.py
index aaa1b9bd..6c769fe6 100644
--- a/src/testit_api_client/model/work_item_select_model_filter.py
+++ b/src/testit_api_client/model/work_item_select_model_filter.py
@@ -33,6 +33,7 @@ def lazy_import():
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_created_date import TestPlanTestPointsSearchApiModelWorkItemCreatedDate
from testit_api_client.model.test_plan_test_points_search_api_model_work_item_modified_date import TestPlanTestPointsSearchApiModelWorkItemModifiedDate
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
+ from testit_api_client.model.test_suite_work_items_search_model_external_metadata import TestSuiteWorkItemsSearchModelExternalMetadata
from testit_api_client.model.test_suite_work_items_search_model_links import TestSuiteWorkItemsSearchModelLinks
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
@@ -43,6 +44,7 @@ def lazy_import():
globals()['TestPlanTestPointsSearchApiModelWorkItemCreatedDate'] = TestPlanTestPointsSearchApiModelWorkItemCreatedDate
globals()['TestPlanTestPointsSearchApiModelWorkItemModifiedDate'] = TestPlanTestPointsSearchApiModelWorkItemModifiedDate
globals()['TestSuiteWorkItemsSearchModelDuration'] = TestSuiteWorkItemsSearchModelDuration
+ globals()['TestSuiteWorkItemsSearchModelExternalMetadata'] = TestSuiteWorkItemsSearchModelExternalMetadata
globals()['TestSuiteWorkItemsSearchModelLinks'] = TestSuiteWorkItemsSearchModelLinks
globals()['TestSuiteWorkItemsSearchModelMedianDuration'] = TestSuiteWorkItemsSearchModelMedianDuration
globals()['WorkItemEntityTypes'] = WorkItemEntityTypes
@@ -140,6 +142,7 @@ def openapi_types():
'name_or_id': (str, none_type,), # noqa: E501
'include_ids': ([str], none_type,), # noqa: E501
'exclude_ids': ([str], none_type,), # noqa: E501
+ 'external_metadata': (TestSuiteWorkItemsSearchModelExternalMetadata,), # noqa: E501
'project_ids': ([str], none_type,), # noqa: E501
'links': (TestSuiteWorkItemsSearchModelLinks,), # noqa: E501
'name': (str, none_type,), # noqa: E501
@@ -173,6 +176,7 @@ def discriminator():
'name_or_id': 'nameOrId', # noqa: E501
'include_ids': 'includeIds', # noqa: E501
'exclude_ids': 'excludeIds', # noqa: E501
+ 'external_metadata': 'externalMetadata', # noqa: E501
'project_ids': 'projectIds', # noqa: E501
'links': 'links', # noqa: E501
'name': 'name', # noqa: E501
@@ -239,6 +243,7 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
@@ -367,6 +372,7 @@ def __init__(self, *args, **kwargs): # noqa: E501
name_or_id (str, none_type): Name or identifier (UUID) of work item. [optional] # noqa: E501
include_ids ([str], none_type): Collection of identifiers of work items which need to be included in result regardless of filtering. [optional] # noqa: E501
exclude_ids ([str], none_type): Collection of identifiers of work items which need to be excluded from result regardless of filtering. [optional] # noqa: E501
+ external_metadata (TestSuiteWorkItemsSearchModelExternalMetadata): [optional] # noqa: E501
project_ids ([str], none_type): Collection of project identifiers. [optional] # noqa: E501
links (TestSuiteWorkItemsSearchModelLinks): [optional] # noqa: E501
name (str, none_type): Name of work item. [optional] # noqa: E501
diff --git a/src/testit_api_client/model/workflow_project_api_result_api_collection_preview.py b/src/testit_api_client/model/workflow_project_api_result_api_collection_preview.py
index f4a7c168..094cca0a 100644
--- a/src/testit_api_client/model/workflow_project_api_result_api_collection_preview.py
+++ b/src/testit_api_client/model/workflow_project_api_result_api_collection_preview.py
@@ -105,8 +105,8 @@ def _from_openapi_data(cls, data, total_count, *args, **kwargs): # noqa: E501
"""WorkflowProjectApiResultApiCollectionPreview - a model defined in OpenAPI
Args:
- data ([WorkflowProjectApiResult]):
- total_count (int):
+ data ([WorkflowProjectApiResult]): Preview items
+ total_count (int): Total count
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
@@ -196,8 +196,8 @@ def __init__(self, data, total_count, *args, **kwargs): # noqa: E501
"""WorkflowProjectApiResultApiCollectionPreview - a model defined in OpenAPI
Args:
- data ([WorkflowProjectApiResult]):
- total_count (int):
+ data ([WorkflowProjectApiResult]): Preview items
+ total_count (int): Total count
Keyword Args:
_check_type (bool): if True, values for parameters in openapi_types
diff --git a/src/testit_api_client/model/workflow_short_api_result_projects.py b/src/testit_api_client/model/workflow_short_api_result_projects.py
index 44a51e43..44bfc31f 100644
--- a/src/testit_api_client/model/workflow_short_api_result_projects.py
+++ b/src/testit_api_client/model/workflow_short_api_result_projects.py
@@ -112,8 +112,8 @@ def _from_openapi_data(cls, *args, **kwargs): # noqa: E501
"""WorkflowShortApiResultProjects - a model defined in OpenAPI
Keyword Args:
- data ([WorkflowProjectApiResult]):
- total_count (int):
+ data ([WorkflowProjectApiResult]): Preview items
+ total_count (int): Total count
_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.
@@ -217,8 +217,8 @@ def __init__(self, *args, **kwargs): # noqa: E501
"""WorkflowShortApiResultProjects - a model defined in OpenAPI
Keyword Args:
- data ([WorkflowProjectApiResult]):
- total_count (int):
+ data ([WorkflowProjectApiResult]): Preview items
+ total_count (int): Total count
_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/models/__init__.py b/src/testit_api_client/models/__init__.py
index 13cdd5b9..04728fd0 100644
--- a/src/testit_api_client/models/__init__.py
+++ b/src/testit_api_client/models/__init__.py
@@ -27,6 +27,7 @@
from testit_api_client.model.api_v2_custom_attributes_templates_post_request import ApiV2CustomAttributesTemplatesPostRequest
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_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
@@ -235,7 +236,21 @@
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_external_service import ExternalIssueApiFieldSuggestionExternalService
from testit_api_client.model.external_issue_api_field_suggestion_reply import ExternalIssueApiFieldSuggestionReply
+from testit_api_client.model.external_issue_api_metadata import ExternalIssueApiMetadata
+from testit_api_client.model.external_issue_api_metadata_priority import ExternalIssueApiMetadataPriority
+from testit_api_client.model.external_issue_api_metadata_type import ExternalIssueApiMetadataType
+from testit_api_client.model.external_issue_api_priority import ExternalIssueApiPriority
+from testit_api_client.model.external_issue_api_result import ExternalIssueApiResult
+from testit_api_client.model.external_issue_api_result_metadata import ExternalIssueApiResultMetadata
+from testit_api_client.model.external_issue_api_type import ExternalIssueApiType
+from testit_api_client.model.external_issue_external_service_api_result import ExternalIssueExternalServiceApiResult
+from testit_api_client.model.external_issue_metadata_model import ExternalIssueMetadataModel
+from testit_api_client.model.external_issue_model import ExternalIssueModel
+from testit_api_client.model.external_issue_model_metadata import ExternalIssueModelMetadata
+from testit_api_client.model.external_issue_priority_model import ExternalIssuePriorityModel
+from testit_api_client.model.external_issue_type_model import ExternalIssueTypeModel
from testit_api_client.model.external_link_model import ExternalLinkModel
from testit_api_client.model.external_service_category_api_result import ExternalServiceCategoryApiResult
from testit_api_client.model.external_service_metadata_api_result import ExternalServiceMetadataApiResult
@@ -250,6 +265,7 @@
from testit_api_client.model.get_external_form_api_result import GetExternalFormApiResult
from testit_api_client.model.get_external_form_api_result_form import GetExternalFormApiResultForm
from testit_api_client.model.get_external_issue_suggestions_api_model import GetExternalIssueSuggestionsApiModel
+from testit_api_client.model.get_external_issue_suggestions_api_model_inquiry import GetExternalIssueSuggestionsApiModelInquiry
from testit_api_client.model.get_short_projects_api_model import GetShortProjectsApiModel
from testit_api_client.model.get_xlsx_test_points_by_test_plan_model import GetXlsxTestPointsByTestPlanModel
from testit_api_client.model.global_custom_attribute_post_model import GlobalCustomAttributePostModel
@@ -287,6 +303,8 @@
from testit_api_client.model.logical_operator import LogicalOperator
from testit_api_client.model.manual_rerun_api_result import ManualRerunApiResult
from testit_api_client.model.manual_rerun_select_test_results_api_model import ManualRerunSelectTestResultsApiModel
+from testit_api_client.model.manual_rerun_select_test_results_api_model_extraction_model import ManualRerunSelectTestResultsApiModelExtractionModel
+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.move_request import MoveRequest
@@ -342,6 +360,7 @@
from testit_api_client.model.public_test_run_model_status_model import PublicTestRunModelStatusModel
from testit_api_client.model.rename_request import RenameRequest
from testit_api_client.model.replace_project_external_service_api_model import ReplaceProjectExternalServiceApiModel
+from testit_api_client.model.request_type import RequestType
from testit_api_client.model.request_type_api_model import RequestTypeApiModel
from testit_api_client.model.request_type_model import RequestTypeModel
from testit_api_client.model.rerun_test_result_api_result import RerunTestResultApiResult
@@ -349,6 +368,7 @@
from testit_api_client.model.reruns_model import RerunsModel
from testit_api_client.model.search_attributes_in_project_request import SearchAttributesInProjectRequest
from testit_api_client.model.search_custom_attribute_template_get_model import SearchCustomAttributeTemplateGetModel
+from testit_api_client.model.search_external_issues_api_model import SearchExternalIssuesApiModel
from testit_api_client.model.search_test_runs_api_model import SearchTestRunsApiModel
from testit_api_client.model.search_test_statuses_api_model import SearchTestStatusesApiModel
from testit_api_client.model.search_webhooks_query_model import SearchWebhooksQueryModel
@@ -417,9 +437,9 @@
from testit_api_client.model.test_plan_test_points_analytics_api_result import TestPlanTestPointsAnalyticsApiResult
from testit_api_client.model.test_plan_test_points_api_model import TestPlanTestPointsApiModel
from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model import TestPlanTestPointsAutoTestsRerunApiModel
+from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_extraction_model import TestPlanTestPointsAutoTestsRerunApiModelExtractionModel
+from testit_api_client.model.test_plan_test_points_auto_tests_rerun_api_model_filter import TestPlanTestPointsAutoTestsRerunApiModelFilter
from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model import TestPlanTestPointsAutoTestsRunApiModel
-from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_extraction_model import TestPlanTestPointsAutoTestsRunApiModelExtractionModel
-from testit_api_client.model.test_plan_test_points_auto_tests_run_api_model_filter import TestPlanTestPointsAutoTestsRunApiModelFilter
from testit_api_client.model.test_plan_test_points_extraction_api_model import TestPlanTestPointsExtractionApiModel
from testit_api_client.model.test_plan_test_points_extraction_api_model_ids import TestPlanTestPointsExtractionApiModelIds
from testit_api_client.model.test_plan_test_points_group_api_model import TestPlanTestPointsGroupApiModel
@@ -555,6 +575,7 @@
from testit_api_client.model.test_suite_with_children_model import TestSuiteWithChildrenModel
from testit_api_client.model.test_suite_work_items_search_model import TestSuiteWorkItemsSearchModel
from testit_api_client.model.test_suite_work_items_search_model_duration import TestSuiteWorkItemsSearchModelDuration
+from testit_api_client.model.test_suite_work_items_search_model_external_metadata import TestSuiteWorkItemsSearchModelExternalMetadata
from testit_api_client.model.test_suite_work_items_search_model_links import TestSuiteWorkItemsSearchModelLinks
from testit_api_client.model.test_suite_work_items_search_model_median_duration import TestSuiteWorkItemsSearchModelMedianDuration
from testit_api_client.model.update_auto_test_request import UpdateAutoTestRequest
@@ -594,11 +615,11 @@
from testit_api_client.model.web_hook_event_type import WebHookEventType
from testit_api_client.model.web_hook_event_type_model import WebHookEventTypeModel
from testit_api_client.model.web_hook_event_type_request import WebHookEventTypeRequest
-from testit_api_client.model.web_hook_log_model import WebHookLogModel
from testit_api_client.model.web_hook_model import WebHookModel
from testit_api_client.model.web_hook_post_model import WebHookPostModel
from testit_api_client.model.web_hook_test_model import WebHookTestModel
from testit_api_client.model.webhook_bulk_update_api_model import WebhookBulkUpdateApiModel
+from testit_api_client.model.webhook_log_api_result import WebhookLogApiResult
from testit_api_client.model.webhook_response import WebhookResponse
from testit_api_client.model.webhook_variables_type import WebhookVariablesType
from testit_api_client.model.webhooks_delete_api_model import WebhooksDeleteApiModel
@@ -632,11 +653,16 @@
from testit_api_client.model.work_item_comment_put_model import WorkItemCommentPutModel
from testit_api_client.model.work_item_entity_type_api_model import WorkItemEntityTypeApiModel
from testit_api_client.model.work_item_entity_types import WorkItemEntityTypes
+from testit_api_client.model.work_item_external_metadata_field_filter_api_model import WorkItemExternalMetadataFieldFilterApiModel
+from testit_api_client.model.work_item_external_metadata_field_filter_model import WorkItemExternalMetadataFieldFilterModel
+from testit_api_client.model.work_item_external_metadata_filter_api_model import WorkItemExternalMetadataFilterApiModel
+from testit_api_client.model.work_item_external_metadata_filter_model import WorkItemExternalMetadataFilterModel
from testit_api_client.model.work_item_extraction_api_model import WorkItemExtractionApiModel
from testit_api_client.model.work_item_extraction_api_model_ids import WorkItemExtractionApiModelIds
from testit_api_client.model.work_item_extraction_api_model_section_ids import WorkItemExtractionApiModelSectionIds
from testit_api_client.model.work_item_extraction_model import WorkItemExtractionModel
from testit_api_client.model.work_item_filter_api_model import WorkItemFilterApiModel
+from testit_api_client.model.work_item_filter_api_model_external_metadata import WorkItemFilterApiModelExternalMetadata
from testit_api_client.model.work_item_filter_api_model_links import WorkItemFilterApiModelLinks
from testit_api_client.model.work_item_filter_model import WorkItemFilterModel
from testit_api_client.model.work_item_group_get_model import WorkItemGroupGetModel
@@ -645,6 +671,7 @@
from testit_api_client.model.work_item_group_type import WorkItemGroupType
from testit_api_client.model.work_item_id_model import WorkItemIdModel
from testit_api_client.model.work_item_identifier_model import WorkItemIdentifierModel
+from testit_api_client.model.work_item_index_api_result import WorkItemIndexApiResult
from testit_api_client.model.work_item_like_model import WorkItemLikeModel
from testit_api_client.model.work_item_link_change_view_model import WorkItemLinkChangeViewModel
from testit_api_client.model.work_item_link_change_view_model_array_changed_field_view_model import WorkItemLinkChangeViewModelArrayChangedFieldViewModel