From dabb4b3a5d479298511522274b52aa31525d9fa2 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 19 Jan 2026 11:19:18 +0000 Subject: [PATCH] Regenerate client from commit c5903d9 of spec repo --- .generator/schemas/v2/openapi.yaml | 460 ++++++++++++++++++ docs/datadog_api_client.v2.api.rst | 7 + docs/datadog_api_client.v2.model.rst | 133 +++++ .../CreateJiraIssueTemplate.py | 39 ++ .../v2/jira-integration/DeleteJiraAccount.py | 15 + .../DeleteJiraIssueTemplate.py | 15 + .../jira-integration/GetJiraIssueTemplate.py | 17 + .../v2/jira-integration/ListJiraAccounts.py | 14 + .../ListJiraIssueTemplates.py | 14 + .../UpdateJiraIssueTemplate.py | 33 ++ src/datadog_api_client/configuration.py | 7 + .../v2/api/jira_integration_api.py | 287 +++++++++++ src/datadog_api_client/v2/apis/__init__.py | 2 + .../v2/model/jira_account_attributes.py | 56 +++ .../v2/model/jira_account_data.py | 54 ++ .../v2/model/jira_account_relationship.py | 40 ++ .../v2/model/jira_account_type.py | 35 ++ .../v2/model/jira_accounts_meta.py | 36 ++ .../v2/model/jira_accounts_response.py | 51 ++ .../jira_issue_template_create_request.py | 44 ++ ...ssue_template_create_request_attributes.py | 101 ++++ ..._create_request_attributes_jira_account.py | 34 ++ ...jira_issue_template_create_request_data.py | 60 +++ .../v2/model/jira_issue_template_data.py | 75 +++ .../jira_issue_template_data_attributes.py | 71 +++ .../jira_issue_template_data_relationships.py | 40 ++ .../v2/model/jira_issue_template_response.py | 53 ++ .../v2/model/jira_issue_template_type.py | 35 ++ .../jira_issue_template_update_request.py | 42 ++ ...ssue_template_update_request_attributes.py | 64 +++ ...jira_issue_template_update_request_data.py | 52 ++ .../v2/model/jira_issue_templates_response.py | 53 ++ src/datadog_api_client/v2/models/__init__.py | 44 ++ tests/v2/features/jira_integration.feature | 105 ++++ tests/v2/features/undo.json | 49 ++ 35 files changed, 2237 insertions(+) create mode 100644 examples/v2/jira-integration/CreateJiraIssueTemplate.py create mode 100644 examples/v2/jira-integration/DeleteJiraAccount.py create mode 100644 examples/v2/jira-integration/DeleteJiraIssueTemplate.py create mode 100644 examples/v2/jira-integration/GetJiraIssueTemplate.py create mode 100644 examples/v2/jira-integration/ListJiraAccounts.py create mode 100644 examples/v2/jira-integration/ListJiraIssueTemplates.py create mode 100644 examples/v2/jira-integration/UpdateJiraIssueTemplate.py create mode 100644 src/datadog_api_client/v2/api/jira_integration_api.py create mode 100644 src/datadog_api_client/v2/model/jira_account_attributes.py create mode 100644 src/datadog_api_client/v2/model/jira_account_data.py create mode 100644 src/datadog_api_client/v2/model/jira_account_relationship.py create mode 100644 src/datadog_api_client/v2/model/jira_account_type.py create mode 100644 src/datadog_api_client/v2/model/jira_accounts_meta.py create mode 100644 src/datadog_api_client/v2/model/jira_accounts_response.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_create_request.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes_jira_account.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_create_request_data.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_data.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_data_attributes.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_data_relationships.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_response.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_type.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_update_request.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_update_request_attributes.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_template_update_request_data.py create mode 100644 src/datadog_api_client/v2/model/jira_issue_templates_response.py create mode 100644 tests/v2/features/jira_integration.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 3abfaf3ebf..3e7aab25b5 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -29738,6 +29738,81 @@ components: required: - errors type: object + JiraAccountAttributes: + description: Attributes of a Jira account + properties: + consumer_key: + description: The consumer key for the Jira account + example: consumer-key-1 + type: string + instance_url: + description: The URL of the Jira instance + example: https://example.atlassian.net + type: string + last_webhook_timestamp: + description: Timestamp of the last webhook received + example: '2024-01-15T10:30:00Z' + format: date-time + type: string + required: + - consumer_key + - instance_url + type: object + JiraAccountData: + description: Data object for a Jira account + properties: + attributes: + $ref: '#/components/schemas/JiraAccountAttributes' + id: + description: Unique identifier for the Jira account + example: account-1 + type: string + type: + $ref: '#/components/schemas/JiraAccountType' + required: + - id + - type + - attributes + type: object + JiraAccountRelationship: + description: Relationship to a Jira account + properties: + data: + $ref: '#/components/schemas/JiraAccountData' + required: + - data + type: object + JiraAccountType: + description: Type identifier for Jira account resources + enum: + - jira-account + example: jira-account + type: string + x-enum-varnames: + - JIRA_ACCOUNT + JiraAccountsData: + description: Array of Jira account data objects + items: + $ref: '#/components/schemas/JiraAccountData' + type: array + JiraAccountsMeta: + description: Metadata for Jira accounts response + properties: + public_key: + description: Public key for the Jira integration + example: c29tZSBkYXRhIHdpdGggACBhbmQg77u/ + type: string + type: object + JiraAccountsResponse: + description: Response containing Jira accounts + properties: + data: + $ref: '#/components/schemas/JiraAccountsData' + meta: + $ref: '#/components/schemas/JiraAccountsMeta' + required: + - data + type: object JiraIntegrationMetadata: description: Incident integration metadata for the Jira integration. properties: @@ -29803,6 +29878,181 @@ components: description: Jira project key type: string type: object + JiraIssueTemplateCreateRequest: + description: Request to create a Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestData' + type: object + JiraIssueTemplateCreateRequestAttributes: + description: Attributes for creating a Jira issue template + properties: + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Test + type: json + type: object + issue_type_id: + description: The ID of the Jira issue type + example: '12730' + type: string + jira-account: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestAttributesJiraAccount' + name: + description: The name of the issue template + example: test-template + type: string + project_id: + description: The ID of the Jira project + example: '10772' + type: string + type: object + JiraIssueTemplateCreateRequestAttributesJiraAccount: + description: Reference to the Jira account + properties: + id: + description: The ID of the Jira account + example: 80f16d40-1fba-486e-b1fc-983e6ca19bec + format: uuid + type: string + required: + - id + type: object + JiraIssueTemplateCreateRequestData: + description: Data object for creating a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequestAttributes' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + type: object + JiraIssueTemplateData: + description: Data object for a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateDataAttributes' + id: + description: Unique identifier for the Jira issue template + example: 65b3341b-0680-47f9-a6d4-134db45c603e + format: uuid + type: string + relationships: + $ref: '#/components/schemas/JiraIssueTemplateDataRelationships' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + required: + - id + - type + - attributes + type: object + JiraIssueTemplateDataAttributes: + description: Attributes of a Jira issue template + properties: + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Test Description + type: json + type: object + issue_type_id: + description: The ID of the Jira issue type + example: '456' + type: string + name: + description: The name of the issue template + example: Test Template + type: string + project_id: + description: The ID of the Jira project + example: '123' + type: string + required: + - name + - project_id + - issue_type_id + - fields + type: object + JiraIssueTemplateDataRelationships: + description: Relationships of a Jira issue template + properties: + jira-account: + $ref: '#/components/schemas/JiraAccountRelationship' + required: + - jira-account + type: object + JiraIssueTemplateResponse: + description: Response containing a single Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateData' + included: + $ref: '#/components/schemas/JiraAccountsData' + required: + - data + type: object + JiraIssueTemplateType: + description: Type identifier for Jira issue template resources + enum: + - jira-issue-template + example: jira-issue-template + type: string + x-enum-varnames: + - JIRA_ISSUE_TEMPLATE + JiraIssueTemplateUpdateRequest: + description: Request to update a Jira issue template + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequestData' + required: + - data + type: object + JiraIssueTemplateUpdateRequestAttributes: + description: Attributes for updating a Jira issue template + properties: + fields: + additionalProperties: {} + description: Custom fields for the Jira issue template + example: + description: + payload: Updated Description + type: json + type: object + name: + description: The name of the issue template + example: test_template_updated + type: string + type: object + JiraIssueTemplateUpdateRequestData: + description: Data object for updating a Jira issue template + properties: + attributes: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequestAttributes' + type: + $ref: '#/components/schemas/JiraIssueTemplateType' + required: + - type + - attributes + type: object + JiraIssueTemplatesData: + description: Array of Jira issue template data objects + items: + $ref: '#/components/schemas/JiraIssueTemplateData' + type: array + JiraIssueTemplatesResponse: + description: Response containing Jira issue templates + properties: + data: + $ref: '#/components/schemas/JiraIssueTemplatesData' + included: + $ref: '#/components/schemas/JiraAccountsData' + required: + - data + type: object JiraIssuesDataType: default: jira_issues description: Jira issues resource type. @@ -72916,6 +73166,213 @@ paths: operator: OR permissions: - gcp_configuration_edit + /api/v2/integration/jira/accounts: + get: + description: Get all Jira accounts for the organization. + operationId: ListJiraAccounts + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/JiraAccountsResponse' + description: OK + '404': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Not Found + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Jira accounts + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/integration/jira/accounts/{account_id}: + delete: + description: Delete a Jira account by ID. + operationId: DeleteJiraAccount + parameters: + - description: The ID of the Jira account to delete + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: account_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Jira account + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/integration/jira/issue-templates: + get: + description: Get all Jira issue templates for the organization. + operationId: ListJiraIssueTemplates + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplatesResponse' + description: OK + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: List Jira issue templates + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + post: + description: Create a new Jira issue template. + operationId: CreateJiraIssueTemplate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplateCreateRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: Created + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Create Jira issue template + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + /api/v2/integration/jira/issue-templates/{issue_template_id}: + delete: + description: Delete a Jira issue template by ID. + operationId: DeleteJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to delete + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + responses: + '204': + description: No Content + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Delete Jira issue template + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + get: + description: Get a Jira issue template by ID. + operationId: GetJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to retrieve + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Get Jira issue template + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' + patch: + description: Update a Jira issue template by ID. + operationId: UpdateJiraIssueTemplate + parameters: + - description: The ID of the Jira issue template to update + example: 65b3341b-0680-47f9-a6d4-134db45c603e + in: path + name: issue_template_id + required: true + schema: + format: uuid + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplateUpdateRequest' + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/JiraIssueTemplateResponse' + description: OK + '400': + content: + application/json: + schema: + $ref: '#/components/schemas/JSONAPIErrorResponse' + description: Bad Request + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + summary: Update Jira issue template + tags: + - Jira Integration + x-unstable: '**Note**: This endpoint is in public beta and it''s subject to + change. + + If you have any feedback, contact [Datadog support](https://docs.datadoghq.com/help/).' /api/v2/integration/ms-teams/configuration/channel/{tenant_name}/{team_name}/{channel_name}: get: description: Get the tenant, team, and channel ID of a channel in the Datadog @@ -92567,6 +93024,9 @@ tags: and todos. See the [Incident Management page](https://docs.datadoghq.com/service_management/incident_management/) for more information. name: Incidents +- description: Manage your Jira Integration. Atlassian Jira is a project management + and issue tracking tool for teams to coordinate work and handle tasks efficiently. + name: Jira Integration - description: 'Manage your Datadog API and application keys. You need an API key and an diff --git a/docs/datadog_api_client.v2.api.rst b/docs/datadog_api_client.v2.api.rst index ef7c7e17c8..ab4a9b67d1 100644 --- a/docs/datadog_api_client.v2.api.rst +++ b/docs/datadog_api_client.v2.api.rst @@ -298,6 +298,13 @@ datadog\_api\_client.v2.api.ip\_allowlist\_api module :members: :show-inheritance: +datadog\_api\_client.v2.api.jira\_integration\_api module +--------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.api.jira_integration_api + :members: + :show-inheritance: + datadog\_api\_client.v2.api.key\_management\_api module ------------------------------------------------------- diff --git a/docs/datadog_api_client.v2.model.rst b/docs/datadog_api_client.v2.model.rst index c237bd315d..56e65659ad 100644 --- a/docs/datadog_api_client.v2.model.rst +++ b/docs/datadog_api_client.v2.model.rst @@ -12653,6 +12653,48 @@ datadog\_api\_client.v2.model.item\_api\_payload\_meta\_schema\_field module :members: :show-inheritance: +datadog\_api\_client.v2.model.jira\_account\_attributes module +-------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_account_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_account\_data module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_account_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_account\_relationship module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_account_relationship + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_account\_type module +-------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_account_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_accounts\_meta module +--------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_accounts_meta + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_accounts\_response module +------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_accounts_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.jira\_integration\_metadata module ---------------------------------------------------------------- @@ -12681,6 +12723,97 @@ datadog\_api\_client.v2.model.jira\_issue\_result module :members: :show-inheritance: +datadog\_api\_client.v2.model.jira\_issue\_template\_create\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_create_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_create\_request\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_create_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_create\_request\_attributes\_jira\_account module +------------------------------------------------------------------------------------------------------ + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_create_request_attributes_jira_account + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_create\_request\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_create_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_data module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_data\_attributes module +---------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_data_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_data\_relationships module +------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_data_relationships + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_response module +-------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_response + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_type module +---------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_type + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_update\_request module +--------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_update_request + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_update\_request\_attributes module +--------------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_update_request_attributes + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_template\_update\_request\_data module +--------------------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_template_update_request_data + :members: + :show-inheritance: + +datadog\_api\_client.v2.model.jira\_issue\_templates\_response module +--------------------------------------------------------------------- + +.. automodule:: datadog_api_client.v2.model.jira_issue_templates_response + :members: + :show-inheritance: + datadog\_api\_client.v2.model.jira\_issues\_data\_type module ------------------------------------------------------------- diff --git a/examples/v2/jira-integration/CreateJiraIssueTemplate.py b/examples/v2/jira-integration/CreateJiraIssueTemplate.py new file mode 100644 index 0000000000..5965a6a55c --- /dev/null +++ b/examples/v2/jira-integration/CreateJiraIssueTemplate.py @@ -0,0 +1,39 @@ +""" +Create Jira issue template returns "Created" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi +from datadog_api_client.v2.model.jira_issue_template_create_request import JiraIssueTemplateCreateRequest +from datadog_api_client.v2.model.jira_issue_template_create_request_attributes import ( + JiraIssueTemplateCreateRequestAttributes, +) +from datadog_api_client.v2.model.jira_issue_template_create_request_attributes_jira_account import ( + JiraIssueTemplateCreateRequestAttributesJiraAccount, +) +from datadog_api_client.v2.model.jira_issue_template_create_request_data import JiraIssueTemplateCreateRequestData +from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType +from uuid import UUID + +body = JiraIssueTemplateCreateRequest( + data=JiraIssueTemplateCreateRequestData( + attributes=JiraIssueTemplateCreateRequestAttributes( + fields=dict([("description", "{'payload': 'Test', 'type': 'json'}")]), + issue_type_id="12730", + jira_account=JiraIssueTemplateCreateRequestAttributesJiraAccount( + id=UUID("80f16d40-1fba-486e-b1fc-983e6ca19bec"), + ), + name="test-template", + project_id="10772", + ), + type=JiraIssueTemplateType.JIRA_ISSUE_TEMPLATE, + ), +) + +configuration = Configuration() +configuration.unstable_operations["create_jira_issue_template"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + response = api_instance.create_jira_issue_template(body=body) + + print(response) diff --git a/examples/v2/jira-integration/DeleteJiraAccount.py b/examples/v2/jira-integration/DeleteJiraAccount.py new file mode 100644 index 0000000000..b7faae8496 --- /dev/null +++ b/examples/v2/jira-integration/DeleteJiraAccount.py @@ -0,0 +1,15 @@ +""" +Delete Jira account returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_jira_account"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + api_instance.delete_jira_account( + account_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/jira-integration/DeleteJiraIssueTemplate.py b/examples/v2/jira-integration/DeleteJiraIssueTemplate.py new file mode 100644 index 0000000000..12c7927fc3 --- /dev/null +++ b/examples/v2/jira-integration/DeleteJiraIssueTemplate.py @@ -0,0 +1,15 @@ +""" +Delete Jira issue template returns "No Content" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["delete_jira_issue_template"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + api_instance.delete_jira_issue_template( + issue_template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) diff --git a/examples/v2/jira-integration/GetJiraIssueTemplate.py b/examples/v2/jira-integration/GetJiraIssueTemplate.py new file mode 100644 index 0000000000..1df6c5552a --- /dev/null +++ b/examples/v2/jira-integration/GetJiraIssueTemplate.py @@ -0,0 +1,17 @@ +""" +Get Jira issue template returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi +from uuid import UUID + +configuration = Configuration() +configuration.unstable_operations["get_jira_issue_template"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + response = api_instance.get_jira_issue_template( + issue_template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), + ) + + print(response) diff --git a/examples/v2/jira-integration/ListJiraAccounts.py b/examples/v2/jira-integration/ListJiraAccounts.py new file mode 100644 index 0000000000..8c27f7a827 --- /dev/null +++ b/examples/v2/jira-integration/ListJiraAccounts.py @@ -0,0 +1,14 @@ +""" +List Jira accounts returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi + +configuration = Configuration() +configuration.unstable_operations["list_jira_accounts"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + response = api_instance.list_jira_accounts() + + print(response) diff --git a/examples/v2/jira-integration/ListJiraIssueTemplates.py b/examples/v2/jira-integration/ListJiraIssueTemplates.py new file mode 100644 index 0000000000..be287fab3d --- /dev/null +++ b/examples/v2/jira-integration/ListJiraIssueTemplates.py @@ -0,0 +1,14 @@ +""" +List Jira issue templates returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi + +configuration = Configuration() +configuration.unstable_operations["list_jira_issue_templates"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + response = api_instance.list_jira_issue_templates() + + print(response) diff --git a/examples/v2/jira-integration/UpdateJiraIssueTemplate.py b/examples/v2/jira-integration/UpdateJiraIssueTemplate.py new file mode 100644 index 0000000000..abb0bbb170 --- /dev/null +++ b/examples/v2/jira-integration/UpdateJiraIssueTemplate.py @@ -0,0 +1,33 @@ +""" +Update Jira issue template returns "OK" response +""" + +from datadog_api_client import ApiClient, Configuration +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi +from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType +from datadog_api_client.v2.model.jira_issue_template_update_request import JiraIssueTemplateUpdateRequest +from datadog_api_client.v2.model.jira_issue_template_update_request_attributes import ( + JiraIssueTemplateUpdateRequestAttributes, +) +from datadog_api_client.v2.model.jira_issue_template_update_request_data import JiraIssueTemplateUpdateRequestData +from uuid import UUID + +body = JiraIssueTemplateUpdateRequest( + data=JiraIssueTemplateUpdateRequestData( + attributes=JiraIssueTemplateUpdateRequestAttributes( + fields=dict([("description", "{'payload': 'Updated Description', 'type': 'json'}")]), + name="test_template_updated", + ), + type=JiraIssueTemplateType.JIRA_ISSUE_TEMPLATE, + ), +) + +configuration = Configuration() +configuration.unstable_operations["update_jira_issue_template"] = True +with ApiClient(configuration) as api_client: + api_instance = JiraIntegrationApi(api_client) + response = api_instance.update_jira_issue_template( + issue_template_id=UUID("9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d"), body=body + ) + + print(response) diff --git a/src/datadog_api_client/configuration.py b/src/datadog_api_client/configuration.py index 9a2d8a4da3..a770bf8c63 100644 --- a/src/datadog_api_client/configuration.py +++ b/src/datadog_api_client/configuration.py @@ -342,6 +342,13 @@ def __init__( "v2.update_incident_notification_template": False, "v2.update_incident_todo": False, "v2.update_incident_type": False, + "v2.create_jira_issue_template": False, + "v2.delete_jira_account": False, + "v2.delete_jira_issue_template": False, + "v2.get_jira_issue_template": False, + "v2.list_jira_accounts": False, + "v2.list_jira_issue_templates": False, + "v2.update_jira_issue_template": False, "v2.add_role_to_restriction_query": False, "v2.create_restriction_query": False, "v2.delete_restriction_query": False, diff --git a/src/datadog_api_client/v2/api/jira_integration_api.py b/src/datadog_api_client/v2/api/jira_integration_api.py new file mode 100644 index 0000000000..61992bb03f --- /dev/null +++ b/src/datadog_api_client/v2/api/jira_integration_api.py @@ -0,0 +1,287 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.api_client import ApiClient, Endpoint as _Endpoint +from datadog_api_client.configuration import Configuration +from datadog_api_client.model_utils import ( + UUID, +) +from datadog_api_client.v2.model.jira_accounts_response import JiraAccountsResponse +from datadog_api_client.v2.model.jira_issue_templates_response import JiraIssueTemplatesResponse +from datadog_api_client.v2.model.jira_issue_template_response import JiraIssueTemplateResponse +from datadog_api_client.v2.model.jira_issue_template_create_request import JiraIssueTemplateCreateRequest +from datadog_api_client.v2.model.jira_issue_template_update_request import JiraIssueTemplateUpdateRequest + + +class JiraIntegrationApi: + """ + Manage your Jira Integration. Atlassian Jira is a project management and issue tracking tool for teams to coordinate work and handle tasks efficiently. + """ + + def __init__(self, api_client=None): + if api_client is None: + api_client = ApiClient(Configuration()) + self.api_client = api_client + + self._create_jira_issue_template_endpoint = _Endpoint( + settings={ + "response_type": (JiraIssueTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/issue-templates", + "operation_id": "create_jira_issue_template", + "http_method": "POST", + "version": "v2", + }, + params_map={ + "body": { + "required": True, + "openapi_types": (JiraIssueTemplateCreateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + self._delete_jira_account_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/accounts/{account_id}", + "operation_id": "delete_jira_account", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "account_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "account_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._delete_jira_issue_template_endpoint = _Endpoint( + settings={ + "response_type": None, + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/issue-templates/{issue_template_id}", + "operation_id": "delete_jira_issue_template", + "http_method": "DELETE", + "version": "v2", + }, + params_map={ + "issue_template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "issue_template_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["*/*"], + }, + api_client=api_client, + ) + + self._get_jira_issue_template_endpoint = _Endpoint( + settings={ + "response_type": (JiraIssueTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/issue-templates/{issue_template_id}", + "operation_id": "get_jira_issue_template", + "http_method": "GET", + "version": "v2", + }, + params_map={ + "issue_template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "issue_template_id", + "location": "path", + }, + }, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_jira_accounts_endpoint = _Endpoint( + settings={ + "response_type": (JiraAccountsResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/accounts", + "operation_id": "list_jira_accounts", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._list_jira_issue_templates_endpoint = _Endpoint( + settings={ + "response_type": (JiraIssueTemplatesResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/issue-templates", + "operation_id": "list_jira_issue_templates", + "http_method": "GET", + "version": "v2", + }, + params_map={}, + headers_map={ + "accept": ["application/json"], + }, + api_client=api_client, + ) + + self._update_jira_issue_template_endpoint = _Endpoint( + settings={ + "response_type": (JiraIssueTemplateResponse,), + "auth": ["apiKeyAuth", "appKeyAuth"], + "endpoint_path": "/api/v2/integration/jira/issue-templates/{issue_template_id}", + "operation_id": "update_jira_issue_template", + "http_method": "PATCH", + "version": "v2", + }, + params_map={ + "issue_template_id": { + "required": True, + "openapi_types": (UUID,), + "attribute": "issue_template_id", + "location": "path", + }, + "body": { + "required": True, + "openapi_types": (JiraIssueTemplateUpdateRequest,), + "location": "body", + }, + }, + headers_map={"accept": ["application/json"], "content_type": ["application/json"]}, + api_client=api_client, + ) + + def create_jira_issue_template( + self, + body: JiraIssueTemplateCreateRequest, + ) -> JiraIssueTemplateResponse: + """Create Jira issue template. + + Create a new Jira issue template. + + :type body: JiraIssueTemplateCreateRequest + :rtype: JiraIssueTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["body"] = body + + return self._create_jira_issue_template_endpoint.call_with_http_info(**kwargs) + + def delete_jira_account( + self, + account_id: UUID, + ) -> None: + """Delete Jira account. + + Delete a Jira account by ID. + + :param account_id: The ID of the Jira account to delete + :type account_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["account_id"] = account_id + + return self._delete_jira_account_endpoint.call_with_http_info(**kwargs) + + def delete_jira_issue_template( + self, + issue_template_id: UUID, + ) -> None: + """Delete Jira issue template. + + Delete a Jira issue template by ID. + + :param issue_template_id: The ID of the Jira issue template to delete + :type issue_template_id: UUID + :rtype: None + """ + kwargs: Dict[str, Any] = {} + kwargs["issue_template_id"] = issue_template_id + + return self._delete_jira_issue_template_endpoint.call_with_http_info(**kwargs) + + def get_jira_issue_template( + self, + issue_template_id: UUID, + ) -> JiraIssueTemplateResponse: + """Get Jira issue template. + + Get a Jira issue template by ID. + + :param issue_template_id: The ID of the Jira issue template to retrieve + :type issue_template_id: UUID + :rtype: JiraIssueTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["issue_template_id"] = issue_template_id + + return self._get_jira_issue_template_endpoint.call_with_http_info(**kwargs) + + def list_jira_accounts( + self, + ) -> JiraAccountsResponse: + """List Jira accounts. + + Get all Jira accounts for the organization. + + :rtype: JiraAccountsResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_jira_accounts_endpoint.call_with_http_info(**kwargs) + + def list_jira_issue_templates( + self, + ) -> JiraIssueTemplatesResponse: + """List Jira issue templates. + + Get all Jira issue templates for the organization. + + :rtype: JiraIssueTemplatesResponse + """ + kwargs: Dict[str, Any] = {} + return self._list_jira_issue_templates_endpoint.call_with_http_info(**kwargs) + + def update_jira_issue_template( + self, + issue_template_id: UUID, + body: JiraIssueTemplateUpdateRequest, + ) -> JiraIssueTemplateResponse: + """Update Jira issue template. + + Update a Jira issue template by ID. + + :param issue_template_id: The ID of the Jira issue template to update + :type issue_template_id: UUID + :type body: JiraIssueTemplateUpdateRequest + :rtype: JiraIssueTemplateResponse + """ + kwargs: Dict[str, Any] = {} + kwargs["issue_template_id"] = issue_template_id + + kwargs["body"] = body + + return self._update_jira_issue_template_endpoint.call_with_http_info(**kwargs) diff --git a/src/datadog_api_client/v2/apis/__init__.py b/src/datadog_api_client/v2/apis/__init__.py index 35ab810c4a..fcd2b05446 100644 --- a/src/datadog_api_client/v2/apis/__init__.py +++ b/src/datadog_api_client/v2/apis/__init__.py @@ -40,6 +40,7 @@ from datadog_api_client.v2.api.incident_services_api import IncidentServicesApi from datadog_api_client.v2.api.incident_teams_api import IncidentTeamsApi from datadog_api_client.v2.api.incidents_api import IncidentsApi +from datadog_api_client.v2.api.jira_integration_api import JiraIntegrationApi from datadog_api_client.v2.api.key_management_api import KeyManagementApi from datadog_api_client.v2.api.logs_api import LogsApi from datadog_api_client.v2.api.logs_archives_api import LogsArchivesApi @@ -129,6 +130,7 @@ "IncidentServicesApi", "IncidentTeamsApi", "IncidentsApi", + "JiraIntegrationApi", "KeyManagementApi", "LogsApi", "LogsArchivesApi", diff --git a/src/datadog_api_client/v2/model/jira_account_attributes.py b/src/datadog_api_client/v2/model/jira_account_attributes.py new file mode 100644 index 0000000000..882e8f2b69 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_account_attributes.py @@ -0,0 +1,56 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + datetime, + unset, + UnsetType, +) + + +class JiraAccountAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "consumer_key": (str,), + "instance_url": (str,), + "last_webhook_timestamp": (datetime,), + } + + attribute_map = { + "consumer_key": "consumer_key", + "instance_url": "instance_url", + "last_webhook_timestamp": "last_webhook_timestamp", + } + + def __init__( + self_, + consumer_key: str, + instance_url: str, + last_webhook_timestamp: Union[datetime, UnsetType] = unset, + **kwargs, + ): + """ + Attributes of a Jira account + + :param consumer_key: The consumer key for the Jira account + :type consumer_key: str + + :param instance_url: The URL of the Jira instance + :type instance_url: str + + :param last_webhook_timestamp: Timestamp of the last webhook received + :type last_webhook_timestamp: datetime, optional + """ + if last_webhook_timestamp is not unset: + kwargs["last_webhook_timestamp"] = last_webhook_timestamp + super().__init__(kwargs) + + self_.consumer_key = consumer_key + self_.instance_url = instance_url diff --git a/src/datadog_api_client/v2/model/jira_account_data.py b/src/datadog_api_client/v2/model/jira_account_data.py new file mode 100644 index 0000000000..7c4020070d --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_account_data.py @@ -0,0 +1,54 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_account_attributes import JiraAccountAttributes + from datadog_api_client.v2.model.jira_account_type import JiraAccountType + + +class JiraAccountData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_account_attributes import JiraAccountAttributes + from datadog_api_client.v2.model.jira_account_type import JiraAccountType + + return { + "attributes": (JiraAccountAttributes,), + "id": (str,), + "type": (JiraAccountType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "type": "type", + } + + def __init__(self_, attributes: JiraAccountAttributes, id: str, type: JiraAccountType, **kwargs): + """ + Data object for a Jira account + + :param attributes: Attributes of a Jira account + :type attributes: JiraAccountAttributes + + :param id: Unique identifier for the Jira account + :type id: str + + :param type: Type identifier for Jira account resources + :type type: JiraAccountType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/jira_account_relationship.py b/src/datadog_api_client/v2/model/jira_account_relationship.py new file mode 100644 index 0000000000..4ee023d880 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_account_relationship.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + +class JiraAccountRelationship(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + return { + "data": (JiraAccountData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: JiraAccountData, **kwargs): + """ + Relationship to a Jira account + + :param data: Data object for a Jira account + :type data: JiraAccountData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/jira_account_type.py b/src/datadog_api_client/v2/model/jira_account_type.py new file mode 100644 index 0000000000..1c4415103a --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_account_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class JiraAccountType(ModelSimple): + """ + Type identifier for Jira account resources + + :param value: If omitted defaults to "jira-account". Must be one of ["jira-account"]. + :type value: str + """ + + allowed_values = { + "jira-account", + } + JIRA_ACCOUNT: ClassVar["JiraAccountType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +JiraAccountType.JIRA_ACCOUNT = JiraAccountType("jira-account") diff --git a/src/datadog_api_client/v2/model/jira_accounts_meta.py b/src/datadog_api_client/v2/model/jira_accounts_meta.py new file mode 100644 index 0000000000..a526ac6f33 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_accounts_meta.py @@ -0,0 +1,36 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +class JiraAccountsMeta(ModelNormal): + @cached_property + def openapi_types(_): + return { + "public_key": (str,), + } + + attribute_map = { + "public_key": "public_key", + } + + def __init__(self_, public_key: Union[str, UnsetType] = unset, **kwargs): + """ + Metadata for Jira accounts response + + :param public_key: Public key for the Jira integration + :type public_key: str, optional + """ + if public_key is not unset: + kwargs["public_key"] = public_key + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/jira_accounts_response.py b/src/datadog_api_client/v2/model/jira_accounts_response.py new file mode 100644 index 0000000000..8c78eb6735 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_accounts_response.py @@ -0,0 +1,51 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + from datadog_api_client.v2.model.jira_accounts_meta import JiraAccountsMeta + + +class JiraAccountsResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + from datadog_api_client.v2.model.jira_accounts_meta import JiraAccountsMeta + + return { + "data": ([JiraAccountData],), + "meta": (JiraAccountsMeta,), + } + + attribute_map = { + "data": "data", + "meta": "meta", + } + + def __init__(self_, data: List[JiraAccountData], meta: Union[JiraAccountsMeta, UnsetType] = unset, **kwargs): + """ + Response containing Jira accounts + + :param data: Array of Jira account data objects + :type data: [JiraAccountData] + + :param meta: Metadata for Jira accounts response + :type meta: JiraAccountsMeta, optional + """ + if meta is not unset: + kwargs["meta"] = meta + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/jira_issue_template_create_request.py b/src/datadog_api_client/v2/model/jira_issue_template_create_request.py new file mode 100644 index 0000000000..c5ebb84d44 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_create_request.py @@ -0,0 +1,44 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_create_request_data import JiraIssueTemplateCreateRequestData + + +class JiraIssueTemplateCreateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_create_request_data import ( + JiraIssueTemplateCreateRequestData, + ) + + return { + "data": (JiraIssueTemplateCreateRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: Union[JiraIssueTemplateCreateRequestData, UnsetType] = unset, **kwargs): + """ + Request to create a Jira issue template + + :param data: Data object for creating a Jira issue template + :type data: JiraIssueTemplateCreateRequestData, optional + """ + if data is not unset: + kwargs["data"] = data + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes.py b/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes.py new file mode 100644 index 0000000000..54db0c191c --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes.py @@ -0,0 +1,101 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_create_request_attributes_jira_account import ( + JiraIssueTemplateCreateRequestAttributesJiraAccount, + ) + + +class JiraIssueTemplateCreateRequestAttributes(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_create_request_attributes_jira_account import ( + JiraIssueTemplateCreateRequestAttributesJiraAccount, + ) + + return { + "fields": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "issue_type_id": (str,), + "jira_account": (JiraIssueTemplateCreateRequestAttributesJiraAccount,), + "name": (str,), + "project_id": (str,), + } + + attribute_map = { + "fields": "fields", + "issue_type_id": "issue_type_id", + "jira_account": "jira-account", + "name": "name", + "project_id": "project_id", + } + + def __init__( + self_, + fields: Union[Dict[str, Any], UnsetType] = unset, + issue_type_id: Union[str, UnsetType] = unset, + jira_account: Union[JiraIssueTemplateCreateRequestAttributesJiraAccount, UnsetType] = unset, + name: Union[str, UnsetType] = unset, + project_id: Union[str, UnsetType] = unset, + **kwargs, + ): + """ + Attributes for creating a Jira issue template + + :param fields: Custom fields for the Jira issue template + :type fields: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param issue_type_id: The ID of the Jira issue type + :type issue_type_id: str, optional + + :param jira_account: Reference to the Jira account + :type jira_account: JiraIssueTemplateCreateRequestAttributesJiraAccount, optional + + :param name: The name of the issue template + :type name: str, optional + + :param project_id: The ID of the Jira project + :type project_id: str, optional + """ + if fields is not unset: + kwargs["fields"] = fields + if issue_type_id is not unset: + kwargs["issue_type_id"] = issue_type_id + if jira_account is not unset: + kwargs["jira_account"] = jira_account + if name is not unset: + kwargs["name"] = name + if project_id is not unset: + kwargs["project_id"] = project_id + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes_jira_account.py b/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes_jira_account.py new file mode 100644 index 0000000000..63b5c75c91 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_create_request_attributes_jira_account.py @@ -0,0 +1,34 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + UUID, +) + + +class JiraIssueTemplateCreateRequestAttributesJiraAccount(ModelNormal): + @cached_property + def openapi_types(_): + return { + "id": (UUID,), + } + + attribute_map = { + "id": "id", + } + + def __init__(self_, id: UUID, **kwargs): + """ + Reference to the Jira account + + :param id: The ID of the Jira account + :type id: UUID + """ + super().__init__(kwargs) + + self_.id = id diff --git a/src/datadog_api_client/v2/model/jira_issue_template_create_request_data.py b/src/datadog_api_client/v2/model/jira_issue_template_create_request_data.py new file mode 100644 index 0000000000..c162152a2a --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_create_request_data.py @@ -0,0 +1,60 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_create_request_attributes import ( + JiraIssueTemplateCreateRequestAttributes, + ) + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + +class JiraIssueTemplateCreateRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_create_request_attributes import ( + JiraIssueTemplateCreateRequestAttributes, + ) + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + return { + "attributes": (JiraIssueTemplateCreateRequestAttributes,), + "type": (JiraIssueTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__( + self_, + attributes: Union[JiraIssueTemplateCreateRequestAttributes, UnsetType] = unset, + type: Union[JiraIssueTemplateType, UnsetType] = unset, + **kwargs, + ): + """ + Data object for creating a Jira issue template + + :param attributes: Attributes for creating a Jira issue template + :type attributes: JiraIssueTemplateCreateRequestAttributes, optional + + :param type: Type identifier for Jira issue template resources + :type type: JiraIssueTemplateType, optional + """ + if attributes is not unset: + kwargs["attributes"] = attributes + if type is not unset: + kwargs["type"] = type + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/jira_issue_template_data.py b/src/datadog_api_client/v2/model/jira_issue_template_data.py new file mode 100644 index 0000000000..9ef0c7a576 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_data.py @@ -0,0 +1,75 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, + UUID, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_data_attributes import JiraIssueTemplateDataAttributes + from datadog_api_client.v2.model.jira_issue_template_data_relationships import JiraIssueTemplateDataRelationships + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + +class JiraIssueTemplateData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_data_attributes import JiraIssueTemplateDataAttributes + from datadog_api_client.v2.model.jira_issue_template_data_relationships import ( + JiraIssueTemplateDataRelationships, + ) + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + return { + "attributes": (JiraIssueTemplateDataAttributes,), + "id": (UUID,), + "relationships": (JiraIssueTemplateDataRelationships,), + "type": (JiraIssueTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "id": "id", + "relationships": "relationships", + "type": "type", + } + + def __init__( + self_, + attributes: JiraIssueTemplateDataAttributes, + id: UUID, + type: JiraIssueTemplateType, + relationships: Union[JiraIssueTemplateDataRelationships, UnsetType] = unset, + **kwargs, + ): + """ + Data object for a Jira issue template + + :param attributes: Attributes of a Jira issue template + :type attributes: JiraIssueTemplateDataAttributes + + :param id: Unique identifier for the Jira issue template + :type id: UUID + + :param relationships: Relationships of a Jira issue template + :type relationships: JiraIssueTemplateDataRelationships, optional + + :param type: Type identifier for Jira issue template resources + :type type: JiraIssueTemplateType + """ + if relationships is not unset: + kwargs["relationships"] = relationships + super().__init__(kwargs) + + self_.attributes = attributes + self_.id = id + self_.type = type diff --git a/src/datadog_api_client/v2/model/jira_issue_template_data_attributes.py b/src/datadog_api_client/v2/model/jira_issue_template_data_attributes.py new file mode 100644 index 0000000000..44729b953c --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_data_attributes.py @@ -0,0 +1,71 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + UUID, +) + + +class JiraIssueTemplateDataAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "fields": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "issue_type_id": (str,), + "name": (str,), + "project_id": (str,), + } + + attribute_map = { + "fields": "fields", + "issue_type_id": "issue_type_id", + "name": "name", + "project_id": "project_id", + } + + def __init__(self_, fields: Dict[str, Any], issue_type_id: str, name: str, project_id: str, **kwargs): + """ + Attributes of a Jira issue template + + :param fields: Custom fields for the Jira issue template + :type fields: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)} + + :param issue_type_id: The ID of the Jira issue type + :type issue_type_id: str + + :param name: The name of the issue template + :type name: str + + :param project_id: The ID of the Jira project + :type project_id: str + """ + super().__init__(kwargs) + + self_.fields = fields + self_.issue_type_id = issue_type_id + self_.name = name + self_.project_id = project_id diff --git a/src/datadog_api_client/v2/model/jira_issue_template_data_relationships.py b/src/datadog_api_client/v2/model/jira_issue_template_data_relationships.py new file mode 100644 index 0000000000..36211cf102 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_data_relationships.py @@ -0,0 +1,40 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_account_relationship import JiraAccountRelationship + + +class JiraIssueTemplateDataRelationships(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_account_relationship import JiraAccountRelationship + + return { + "jira_account": (JiraAccountRelationship,), + } + + attribute_map = { + "jira_account": "jira-account", + } + + def __init__(self_, jira_account: JiraAccountRelationship, **kwargs): + """ + Relationships of a Jira issue template + + :param jira_account: Relationship to a Jira account + :type jira_account: JiraAccountRelationship + """ + super().__init__(kwargs) + + self_.jira_account = jira_account diff --git a/src/datadog_api_client/v2/model/jira_issue_template_response.py b/src/datadog_api_client/v2/model/jira_issue_template_response.py new file mode 100644 index 0000000000..a46bc339b6 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_response.py @@ -0,0 +1,53 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_data import JiraIssueTemplateData + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + +class JiraIssueTemplateResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_data import JiraIssueTemplateData + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + return { + "data": (JiraIssueTemplateData,), + "included": ([JiraAccountData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, data: JiraIssueTemplateData, included: Union[List[JiraAccountData], UnsetType] = unset, **kwargs + ): + """ + Response containing a single Jira issue template + + :param data: Data object for a Jira issue template + :type data: JiraIssueTemplateData + + :param included: Array of Jira account data objects + :type included: [JiraAccountData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/jira_issue_template_type.py b/src/datadog_api_client/v2/model/jira_issue_template_type.py new file mode 100644 index 0000000000..f9f82e1584 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_type.py @@ -0,0 +1,35 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + + +from datadog_api_client.model_utils import ( + ModelSimple, + cached_property, +) + +from typing import ClassVar + + +class JiraIssueTemplateType(ModelSimple): + """ + Type identifier for Jira issue template resources + + :param value: If omitted defaults to "jira-issue-template". Must be one of ["jira-issue-template"]. + :type value: str + """ + + allowed_values = { + "jira-issue-template", + } + JIRA_ISSUE_TEMPLATE: ClassVar["JiraIssueTemplateType"] + + @cached_property + def openapi_types(_): + return { + "value": (str,), + } + + +JiraIssueTemplateType.JIRA_ISSUE_TEMPLATE = JiraIssueTemplateType("jira-issue-template") diff --git a/src/datadog_api_client/v2/model/jira_issue_template_update_request.py b/src/datadog_api_client/v2/model/jira_issue_template_update_request.py new file mode 100644 index 0000000000..6c7d9992ec --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_update_request.py @@ -0,0 +1,42 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_update_request_data import JiraIssueTemplateUpdateRequestData + + +class JiraIssueTemplateUpdateRequest(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_update_request_data import ( + JiraIssueTemplateUpdateRequestData, + ) + + return { + "data": (JiraIssueTemplateUpdateRequestData,), + } + + attribute_map = { + "data": "data", + } + + def __init__(self_, data: JiraIssueTemplateUpdateRequestData, **kwargs): + """ + Request to update a Jira issue template + + :param data: Data object for updating a Jira issue template + :type data: JiraIssueTemplateUpdateRequestData + """ + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/model/jira_issue_template_update_request_attributes.py b/src/datadog_api_client/v2/model/jira_issue_template_update_request_attributes.py new file mode 100644 index 0000000000..e07eb11595 --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_update_request_attributes.py @@ -0,0 +1,64 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import Any, Dict, Union + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + date, + datetime, + none_type, + unset, + UnsetType, + UUID, +) + + +class JiraIssueTemplateUpdateRequestAttributes(ModelNormal): + @cached_property + def openapi_types(_): + return { + "fields": ( + { + str: ( + bool, + date, + datetime, + dict, + float, + int, + list, + str, + UUID, + none_type, + ) + }, + ), + "name": (str,), + } + + attribute_map = { + "fields": "fields", + "name": "name", + } + + def __init__( + self_, fields: Union[Dict[str, Any], UnsetType] = unset, name: Union[str, UnsetType] = unset, **kwargs + ): + """ + Attributes for updating a Jira issue template + + :param fields: Custom fields for the Jira issue template + :type fields: {str: (bool, date, datetime, dict, float, int, list, str, UUID, none_type,)}, optional + + :param name: The name of the issue template + :type name: str, optional + """ + if fields is not unset: + kwargs["fields"] = fields + if name is not unset: + kwargs["name"] = name + super().__init__(kwargs) diff --git a/src/datadog_api_client/v2/model/jira_issue_template_update_request_data.py b/src/datadog_api_client/v2/model/jira_issue_template_update_request_data.py new file mode 100644 index 0000000000..dd21c3239f --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_template_update_request_data.py @@ -0,0 +1,52 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_update_request_attributes import ( + JiraIssueTemplateUpdateRequestAttributes, + ) + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + +class JiraIssueTemplateUpdateRequestData(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_update_request_attributes import ( + JiraIssueTemplateUpdateRequestAttributes, + ) + from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType + + return { + "attributes": (JiraIssueTemplateUpdateRequestAttributes,), + "type": (JiraIssueTemplateType,), + } + + attribute_map = { + "attributes": "attributes", + "type": "type", + } + + def __init__(self_, attributes: JiraIssueTemplateUpdateRequestAttributes, type: JiraIssueTemplateType, **kwargs): + """ + Data object for updating a Jira issue template + + :param attributes: Attributes for updating a Jira issue template + :type attributes: JiraIssueTemplateUpdateRequestAttributes + + :param type: Type identifier for Jira issue template resources + :type type: JiraIssueTemplateType + """ + super().__init__(kwargs) + + self_.attributes = attributes + self_.type = type diff --git a/src/datadog_api_client/v2/model/jira_issue_templates_response.py b/src/datadog_api_client/v2/model/jira_issue_templates_response.py new file mode 100644 index 0000000000..671f9f8c0e --- /dev/null +++ b/src/datadog_api_client/v2/model/jira_issue_templates_response.py @@ -0,0 +1,53 @@ +# Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. +# This product includes software developed at Datadog (https://www.datadoghq.com/). +# Copyright 2019-Present Datadog, Inc. +from __future__ import annotations + +from typing import List, Union, TYPE_CHECKING + +from datadog_api_client.model_utils import ( + ModelNormal, + cached_property, + unset, + UnsetType, +) + + +if TYPE_CHECKING: + from datadog_api_client.v2.model.jira_issue_template_data import JiraIssueTemplateData + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + +class JiraIssueTemplatesResponse(ModelNormal): + @cached_property + def openapi_types(_): + from datadog_api_client.v2.model.jira_issue_template_data import JiraIssueTemplateData + from datadog_api_client.v2.model.jira_account_data import JiraAccountData + + return { + "data": ([JiraIssueTemplateData],), + "included": ([JiraAccountData],), + } + + attribute_map = { + "data": "data", + "included": "included", + } + + def __init__( + self_, data: List[JiraIssueTemplateData], included: Union[List[JiraAccountData], UnsetType] = unset, **kwargs + ): + """ + Response containing Jira issue templates + + :param data: Array of Jira issue template data objects + :type data: [JiraIssueTemplateData] + + :param included: Array of Jira account data objects + :type included: [JiraAccountData], optional + """ + if included is not unset: + kwargs["included"] = included + super().__init__(kwargs) + + self_.data = data diff --git a/src/datadog_api_client/v2/models/__init__.py b/src/datadog_api_client/v2/models/__init__.py index f0255dfa30..796596dae9 100644 --- a/src/datadog_api_client/v2/models/__init__.py +++ b/src/datadog_api_client/v2/models/__init__.py @@ -2391,10 +2391,35 @@ from datadog_api_client.v2.model.jsonapi_error_item import JSONAPIErrorItem from datadog_api_client.v2.model.jsonapi_error_item_source import JSONAPIErrorItemSource from datadog_api_client.v2.model.jsonapi_error_response import JSONAPIErrorResponse +from datadog_api_client.v2.model.jira_account_attributes import JiraAccountAttributes +from datadog_api_client.v2.model.jira_account_data import JiraAccountData +from datadog_api_client.v2.model.jira_account_relationship import JiraAccountRelationship +from datadog_api_client.v2.model.jira_account_type import JiraAccountType +from datadog_api_client.v2.model.jira_accounts_meta import JiraAccountsMeta +from datadog_api_client.v2.model.jira_accounts_response import JiraAccountsResponse from datadog_api_client.v2.model.jira_integration_metadata import JiraIntegrationMetadata from datadog_api_client.v2.model.jira_integration_metadata_issues_item import JiraIntegrationMetadataIssuesItem from datadog_api_client.v2.model.jira_issue import JiraIssue from datadog_api_client.v2.model.jira_issue_result import JiraIssueResult +from datadog_api_client.v2.model.jira_issue_template_create_request import JiraIssueTemplateCreateRequest +from datadog_api_client.v2.model.jira_issue_template_create_request_attributes import ( + JiraIssueTemplateCreateRequestAttributes, +) +from datadog_api_client.v2.model.jira_issue_template_create_request_attributes_jira_account import ( + JiraIssueTemplateCreateRequestAttributesJiraAccount, +) +from datadog_api_client.v2.model.jira_issue_template_create_request_data import JiraIssueTemplateCreateRequestData +from datadog_api_client.v2.model.jira_issue_template_data import JiraIssueTemplateData +from datadog_api_client.v2.model.jira_issue_template_data_attributes import JiraIssueTemplateDataAttributes +from datadog_api_client.v2.model.jira_issue_template_data_relationships import JiraIssueTemplateDataRelationships +from datadog_api_client.v2.model.jira_issue_template_response import JiraIssueTemplateResponse +from datadog_api_client.v2.model.jira_issue_template_type import JiraIssueTemplateType +from datadog_api_client.v2.model.jira_issue_template_update_request import JiraIssueTemplateUpdateRequest +from datadog_api_client.v2.model.jira_issue_template_update_request_attributes import ( + JiraIssueTemplateUpdateRequestAttributes, +) +from datadog_api_client.v2.model.jira_issue_template_update_request_data import JiraIssueTemplateUpdateRequestData +from datadog_api_client.v2.model.jira_issue_templates_response import JiraIssueTemplatesResponse from datadog_api_client.v2.model.jira_issues_data_type import JiraIssuesDataType from datadog_api_client.v2.model.job_create_response import JobCreateResponse from datadog_api_client.v2.model.job_create_response_data import JobCreateResponseData @@ -7179,10 +7204,29 @@ "JSONAPIErrorItem", "JSONAPIErrorItemSource", "JSONAPIErrorResponse", + "JiraAccountAttributes", + "JiraAccountData", + "JiraAccountRelationship", + "JiraAccountType", + "JiraAccountsMeta", + "JiraAccountsResponse", "JiraIntegrationMetadata", "JiraIntegrationMetadataIssuesItem", "JiraIssue", "JiraIssueResult", + "JiraIssueTemplateCreateRequest", + "JiraIssueTemplateCreateRequestAttributes", + "JiraIssueTemplateCreateRequestAttributesJiraAccount", + "JiraIssueTemplateCreateRequestData", + "JiraIssueTemplateData", + "JiraIssueTemplateDataAttributes", + "JiraIssueTemplateDataRelationships", + "JiraIssueTemplateResponse", + "JiraIssueTemplateType", + "JiraIssueTemplateUpdateRequest", + "JiraIssueTemplateUpdateRequestAttributes", + "JiraIssueTemplateUpdateRequestData", + "JiraIssueTemplatesResponse", "JiraIssuesDataType", "JobCreateResponse", "JobCreateResponseData", diff --git a/tests/v2/features/jira_integration.feature b/tests/v2/features/jira_integration.feature new file mode 100644 index 0000000000..528a78b7b3 --- /dev/null +++ b/tests/v2/features/jira_integration.feature @@ -0,0 +1,105 @@ +@endpoint(jira-integration) @endpoint(jira-integration-v2) +Feature: Jira Integration + Manage your Jira Integration. Atlassian Jira is a project management and + issue tracking tool for teams to coordinate work and handle tasks + efficiently. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "JiraIntegration" API + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Create Jira issue template returns "Bad Request" response + Given operation "CreateJiraIssueTemplate" enabled + And new "CreateJiraIssueTemplate" request + And body with value {"data": {"attributes": {"fields": {"description": {"payload": "Test", "type": "json"}}, "issue_type_id": "12730", "jira-account": {"id": "80f16d40-1fba-486e-b1fc-983e6ca19bec"}, "name": "test-template", "project_id": "10772"}, "type": "jira-issue-template"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Create Jira issue template returns "Created" response + Given operation "CreateJiraIssueTemplate" enabled + And new "CreateJiraIssueTemplate" request + And body with value {"data": {"attributes": {"fields": {"description": {"payload": "Test", "type": "json"}}, "issue_type_id": "12730", "jira-account": {"id": "80f16d40-1fba-486e-b1fc-983e6ca19bec"}, "name": "test-template", "project_id": "10772"}, "type": "jira-issue-template"}} + When the request is sent + Then the response status is 201 Created + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Delete Jira account returns "Bad Request" response + Given operation "DeleteJiraAccount" enabled + And new "DeleteJiraAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Delete Jira account returns "No Content" response + Given operation "DeleteJiraAccount" enabled + And new "DeleteJiraAccount" request + And request contains "account_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Delete Jira issue template returns "No Content" response + Given operation "DeleteJiraIssueTemplate" enabled + And new "DeleteJiraIssueTemplate" request + And request contains "issue_template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 204 No Content + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Get Jira issue template returns "Bad Request" response + Given operation "GetJiraIssueTemplate" enabled + And new "GetJiraIssueTemplate" request + And request contains "issue_template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Get Jira issue template returns "OK" response + Given operation "GetJiraIssueTemplate" enabled + And new "GetJiraIssueTemplate" request + And request contains "issue_template_id" parameter from "REPLACE.ME" + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: List Jira accounts returns "Not Found" response + Given operation "ListJiraAccounts" enabled + And new "ListJiraAccounts" request + When the request is sent + Then the response status is 404 Not Found + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: List Jira accounts returns "OK" response + Given operation "ListJiraAccounts" enabled + And new "ListJiraAccounts" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: List Jira issue templates returns "OK" response + Given operation "ListJiraIssueTemplates" enabled + And new "ListJiraIssueTemplates" request + When the request is sent + Then the response status is 200 OK + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Update Jira issue template returns "Bad Request" response + Given operation "UpdateJiraIssueTemplate" enabled + And new "UpdateJiraIssueTemplate" request + And request contains "issue_template_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"fields": {"description": {"payload": "Updated Description", "type": "json"}}, "name": "test_template_updated"}, "type": "jira-issue-template"}} + When the request is sent + Then the response status is 400 Bad Request + + @generated @skip @team:Datadog/collaboration-integrations + Scenario: Update Jira issue template returns "OK" response + Given operation "UpdateJiraIssueTemplate" enabled + And new "UpdateJiraIssueTemplate" request + And request contains "issue_template_id" parameter from "REPLACE.ME" + And body with value {"data": {"attributes": {"fields": {"description": {"payload": "Updated Description", "type": "json"}}, "name": "test_template_updated"}, "type": "jira-issue-template"}} + When the request is sent + Then the response status is 200 OK diff --git a/tests/v2/features/undo.json b/tests/v2/features/undo.json index 59046d30f0..1cd2195bba 100644 --- a/tests/v2/features/undo.json +++ b/tests/v2/features/undo.json @@ -2001,6 +2001,55 @@ "type": "idempotent" } }, + "ListJiraAccounts": { + "tag": "Jira Integration", + "undo": { + "type": "safe" + } + }, + "DeleteJiraAccount": { + "tag": "Jira Integration", + "undo": { + "type": "idempotent" + } + }, + "ListJiraIssueTemplates": { + "tag": "Jira Integration", + "undo": { + "type": "safe" + } + }, + "CreateJiraIssueTemplate": { + "tag": "Jira Integration", + "undo": { + "operationId": "DeleteJiraIssueTemplate", + "parameters": [ + { + "name": "issue_template_id", + "source": "" + } + ], + "type": "unsafe" + } + }, + "DeleteJiraIssueTemplate": { + "tag": "Jira Integration", + "undo": { + "type": "idempotent" + } + }, + "GetJiraIssueTemplate": { + "tag": "Jira Integration", + "undo": { + "type": "safe" + } + }, + "UpdateJiraIssueTemplate": { + "tag": "Jira Integration", + "undo": { + "type": "idempotent" + } + }, "GetChannelByName": { "tag": "Microsoft Teams Integration", "undo": {