From eb481aa3d48ef80dea7434a3aafd56cfd784dbf6 Mon Sep 17 00:00:00 2001 From: "ci.datadog-api-spec" Date: Mon, 19 Jan 2026 11:20:43 +0000 Subject: [PATCH] Regenerate client from commit c5903d9 of spec repo --- .generator/schemas/v2/openapi.yaml | 460 +++++++ .../CreateJiraIssueTemplate.java | 50 + .../jira-integration/DeleteJiraAccount.java | 24 + .../DeleteJiraIssueTemplate.java | 24 + .../GetJiraIssueTemplate.java | 27 + .../v2/jira-integration/ListJiraAccounts.java | 25 + .../ListJiraIssueTemplates.java | 25 + .../UpdateJiraIssueTemplate.java | 47 + .../com/datadog/api/client/ApiClient.java | 7 + .../api/client/v2/api/JiraIntegrationApi.java | 1095 +++++++++++++++++ .../v2/model/JiraAccountAttributes.java | 203 +++ .../api/client/v2/model/JiraAccountData.java | 209 ++++ .../v2/model/JiraAccountRelationship.java | 145 +++ .../api/client/v2/model/JiraAccountType.java | 54 + .../api/client/v2/model/JiraAccountsMeta.java | 135 ++ .../client/v2/model/JiraAccountsResponse.java | 184 +++ .../model/JiraIssueTemplateCreateRequest.java | 138 +++ ...aIssueTemplateCreateRequestAttributes.java | 258 ++++ ...ateCreateRequestAttributesJiraAccount.java | 151 +++ .../JiraIssueTemplateCreateRequestData.java | 172 +++ .../v2/model/JiraIssueTemplateData.java | 238 ++++ .../JiraIssueTemplateDataAttributes.java | 236 ++++ .../JiraIssueTemplateDataRelationships.java | 148 +++ .../v2/model/JiraIssueTemplateResponse.java | 189 +++ .../v2/model/JiraIssueTemplateType.java | 56 + .../model/JiraIssueTemplateUpdateRequest.java | 148 +++ ...aIssueTemplateUpdateRequestAttributes.java | 175 +++ .../JiraIssueTemplateUpdateRequestData.java | 184 +++ .../v2/model/JiraIssueTemplatesResponse.java | 196 +++ .../client/v2/api/jira_integration.feature | 105 ++ .../com/datadog/api/client/v2/api/undo.json | 49 + 31 files changed, 5157 insertions(+) create mode 100644 examples/v2/jira-integration/CreateJiraIssueTemplate.java create mode 100644 examples/v2/jira-integration/DeleteJiraAccount.java create mode 100644 examples/v2/jira-integration/DeleteJiraIssueTemplate.java create mode 100644 examples/v2/jira-integration/GetJiraIssueTemplate.java create mode 100644 examples/v2/jira-integration/ListJiraAccounts.java create mode 100644 examples/v2/jira-integration/ListJiraIssueTemplates.java create mode 100644 examples/v2/jira-integration/UpdateJiraIssueTemplate.java create mode 100644 src/main/java/com/datadog/api/client/v2/api/JiraIntegrationApi.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountRelationship.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountsMeta.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraAccountsResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributesJiraAccount.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataRelationships.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateResponse.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateType.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequest.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestAttributes.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestData.java create mode 100644 src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplatesResponse.java create mode 100644 src/test/resources/com/datadog/api/client/v2/api/jira_integration.feature diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index 3abfaf3ebf6..3e7aab25b5c 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/examples/v2/jira-integration/CreateJiraIssueTemplate.java b/examples/v2/jira-integration/CreateJiraIssueTemplate.java new file mode 100644 index 00000000000..75bf7e5b9c1 --- /dev/null +++ b/examples/v2/jira-integration/CreateJiraIssueTemplate.java @@ -0,0 +1,50 @@ +// Create Jira issue template returns "Created" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import com.datadog.api.client.v2.model.JiraIssueTemplateCreateRequest; +import com.datadog.api.client.v2.model.JiraIssueTemplateCreateRequestAttributes; +import com.datadog.api.client.v2.model.JiraIssueTemplateCreateRequestAttributesJiraAccount; +import com.datadog.api.client.v2.model.JiraIssueTemplateCreateRequestData; +import com.datadog.api.client.v2.model.JiraIssueTemplateResponse; +import com.datadog.api.client.v2.model.JiraIssueTemplateType; +import java.util.Map; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.createJiraIssueTemplate", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + JiraIssueTemplateCreateRequest body = + new JiraIssueTemplateCreateRequest() + .data( + new JiraIssueTemplateCreateRequestData() + .attributes( + new JiraIssueTemplateCreateRequestAttributes() + .fields( + Map.ofEntries( + Map.entry( + "description", "{'payload': 'Test', 'type': 'json'}"))) + .issueTypeId("12730") + .jiraAccount( + new JiraIssueTemplateCreateRequestAttributesJiraAccount() + .id(UUID.fromString("80f16d40-1fba-486e-b1fc-983e6ca19bec"))) + .name("test-template") + .projectId("10772")) + .type(JiraIssueTemplateType.JIRA_ISSUE_TEMPLATE)); + + try { + JiraIssueTemplateResponse result = apiInstance.createJiraIssueTemplate(body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#createJiraIssueTemplate"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/DeleteJiraAccount.java b/examples/v2/jira-integration/DeleteJiraAccount.java new file mode 100644 index 00000000000..ec97ffe0cbf --- /dev/null +++ b/examples/v2/jira-integration/DeleteJiraAccount.java @@ -0,0 +1,24 @@ +// Delete Jira account returns "No Content" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.deleteJiraAccount", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + try { + apiInstance.deleteJiraAccount(UUID.fromString("65b3341b-0680-47f9-a6d4-134db45c603e")); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#deleteJiraAccount"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/DeleteJiraIssueTemplate.java b/examples/v2/jira-integration/DeleteJiraIssueTemplate.java new file mode 100644 index 00000000000..a272f038aa3 --- /dev/null +++ b/examples/v2/jira-integration/DeleteJiraIssueTemplate.java @@ -0,0 +1,24 @@ +// Delete Jira issue template returns "No Content" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.deleteJiraIssueTemplate", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + try { + apiInstance.deleteJiraIssueTemplate(UUID.fromString("65b3341b-0680-47f9-a6d4-134db45c603e")); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#deleteJiraIssueTemplate"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/GetJiraIssueTemplate.java b/examples/v2/jira-integration/GetJiraIssueTemplate.java new file mode 100644 index 00000000000..0bdf26b8b08 --- /dev/null +++ b/examples/v2/jira-integration/GetJiraIssueTemplate.java @@ -0,0 +1,27 @@ +// Get Jira issue template returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import com.datadog.api.client.v2.model.JiraIssueTemplateResponse; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.getJiraIssueTemplate", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + try { + JiraIssueTemplateResponse result = + apiInstance.getJiraIssueTemplate(UUID.fromString("65b3341b-0680-47f9-a6d4-134db45c603e")); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#getJiraIssueTemplate"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/ListJiraAccounts.java b/examples/v2/jira-integration/ListJiraAccounts.java new file mode 100644 index 00000000000..313141b7f5a --- /dev/null +++ b/examples/v2/jira-integration/ListJiraAccounts.java @@ -0,0 +1,25 @@ +// List Jira accounts returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import com.datadog.api.client.v2.model.JiraAccountsResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.listJiraAccounts", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + try { + JiraAccountsResponse result = apiInstance.listJiraAccounts(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#listJiraAccounts"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/ListJiraIssueTemplates.java b/examples/v2/jira-integration/ListJiraIssueTemplates.java new file mode 100644 index 00000000000..d82c4699b1a --- /dev/null +++ b/examples/v2/jira-integration/ListJiraIssueTemplates.java @@ -0,0 +1,25 @@ +// List Jira issue templates returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import com.datadog.api.client.v2.model.JiraIssueTemplatesResponse; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.listJiraIssueTemplates", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + try { + JiraIssueTemplatesResponse result = apiInstance.listJiraIssueTemplates(); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#listJiraIssueTemplates"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/examples/v2/jira-integration/UpdateJiraIssueTemplate.java b/examples/v2/jira-integration/UpdateJiraIssueTemplate.java new file mode 100644 index 00000000000..128ff85a4d3 --- /dev/null +++ b/examples/v2/jira-integration/UpdateJiraIssueTemplate.java @@ -0,0 +1,47 @@ +// Update Jira issue template returns "OK" response + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.v2.api.JiraIntegrationApi; +import com.datadog.api.client.v2.model.JiraIssueTemplateResponse; +import com.datadog.api.client.v2.model.JiraIssueTemplateType; +import com.datadog.api.client.v2.model.JiraIssueTemplateUpdateRequest; +import com.datadog.api.client.v2.model.JiraIssueTemplateUpdateRequestAttributes; +import com.datadog.api.client.v2.model.JiraIssueTemplateUpdateRequestData; +import java.util.Map; +import java.util.UUID; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = ApiClient.getDefaultApiClient(); + defaultClient.setUnstableOperationEnabled("v2.updateJiraIssueTemplate", true); + JiraIntegrationApi apiInstance = new JiraIntegrationApi(defaultClient); + + JiraIssueTemplateUpdateRequest body = + new JiraIssueTemplateUpdateRequest() + .data( + new JiraIssueTemplateUpdateRequestData() + .attributes( + new JiraIssueTemplateUpdateRequestAttributes() + .fields( + Map.ofEntries( + Map.entry( + "description", + "{'payload': 'Updated Description', 'type': 'json'}"))) + .name("test_template_updated")) + .type(JiraIssueTemplateType.JIRA_ISSUE_TEMPLATE)); + + try { + JiraIssueTemplateResponse result = + apiInstance.updateJiraIssueTemplate( + UUID.fromString("65b3341b-0680-47f9-a6d4-134db45c603e"), body); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling JiraIntegrationApi#updateJiraIssueTemplate"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} diff --git a/src/main/java/com/datadog/api/client/ApiClient.java b/src/main/java/com/datadog/api/client/ApiClient.java index fef72371100..80129e2535b 100644 --- a/src/main/java/com/datadog/api/client/ApiClient.java +++ b/src/main/java/com/datadog/api/client/ApiClient.java @@ -851,6 +851,13 @@ public class ApiClient { put("v2.updateIncidentNotificationTemplate", false); put("v2.updateIncidentTodo", false); put("v2.updateIncidentType", false); + put("v2.createJiraIssueTemplate", false); + put("v2.deleteJiraAccount", false); + put("v2.deleteJiraIssueTemplate", false); + put("v2.getJiraIssueTemplate", false); + put("v2.listJiraAccounts", false); + put("v2.listJiraIssueTemplates", false); + put("v2.updateJiraIssueTemplate", false); put("v2.addRoleToRestrictionQuery", false); put("v2.createRestrictionQuery", false); put("v2.deleteRestrictionQuery", false); diff --git a/src/main/java/com/datadog/api/client/v2/api/JiraIntegrationApi.java b/src/main/java/com/datadog/api/client/v2/api/JiraIntegrationApi.java new file mode 100644 index 00000000000..2a2bf19ab4f --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/api/JiraIntegrationApi.java @@ -0,0 +1,1095 @@ +package com.datadog.api.client.v2.api; + +import com.datadog.api.client.ApiClient; +import com.datadog.api.client.ApiException; +import com.datadog.api.client.ApiResponse; +import com.datadog.api.client.Pair; +import com.datadog.api.client.v2.model.JiraAccountsResponse; +import com.datadog.api.client.v2.model.JiraIssueTemplateCreateRequest; +import com.datadog.api.client.v2.model.JiraIssueTemplateResponse; +import com.datadog.api.client.v2.model.JiraIssueTemplateUpdateRequest; +import com.datadog.api.client.v2.model.JiraIssueTemplatesResponse; +import jakarta.ws.rs.client.Invocation; +import jakarta.ws.rs.core.GenericType; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Map; +import java.util.UUID; +import java.util.concurrent.CompletableFuture; + +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIntegrationApi { + private ApiClient apiClient; + + public JiraIntegrationApi() { + this(ApiClient.getDefaultApiClient()); + } + + public JiraIntegrationApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Get the API client. + * + * @return API client + */ + public ApiClient getApiClient() { + return apiClient; + } + + /** + * Set the API client. + * + * @param apiClient an instance of API client + */ + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create Jira issue template. + * + *

See {@link #createJiraIssueTemplateWithHttpInfo}. + * + * @param body (required) + * @return JiraIssueTemplateResponse + * @throws ApiException if fails to make API call + */ + public JiraIssueTemplateResponse createJiraIssueTemplate(JiraIssueTemplateCreateRequest body) + throws ApiException { + return createJiraIssueTemplateWithHttpInfo(body).getData(); + } + + /** + * Create Jira issue template. + * + *

See {@link #createJiraIssueTemplateWithHttpInfoAsync}. + * + * @param body (required) + * @return CompletableFuture<JiraIssueTemplateResponse> + */ + public CompletableFuture createJiraIssueTemplateAsync( + JiraIssueTemplateCreateRequest body) { + return createJiraIssueTemplateWithHttpInfoAsync(body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Create a new Jira issue template. + * + * @param body (required) + * @return ApiResponse<JiraIssueTemplateResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
201 Created -
400 Bad Request -
429 Too many requests -
+ */ + public ApiResponse createJiraIssueTemplateWithHttpInfo( + JiraIssueTemplateCreateRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "createJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling createJiraIssueTemplate"); + } + // create path and map variables + String localVarPath = "/api/v2/integration/jira/issue-templates"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.createJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Create Jira issue template. + * + *

See {@link #createJiraIssueTemplateWithHttpInfo}. + * + * @param body (required) + * @return CompletableFuture<ApiResponse<JiraIssueTemplateResponse>> + */ + public CompletableFuture> + createJiraIssueTemplateWithHttpInfoAsync(JiraIssueTemplateCreateRequest body) { + // Check if unstable operation is enabled + String operationId = "createJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling createJiraIssueTemplate")); + return result; + } + // create path and map variables + String localVarPath = "/api/v2/integration/jira/issue-templates"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.createJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "POST", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Delete Jira account. + * + *

See {@link #deleteJiraAccountWithHttpInfo}. + * + * @param accountId The ID of the Jira account to delete (required) + * @throws ApiException if fails to make API call + */ + public void deleteJiraAccount(UUID accountId) throws ApiException { + deleteJiraAccountWithHttpInfo(accountId); + } + + /** + * Delete Jira account. + * + *

See {@link #deleteJiraAccountWithHttpInfoAsync}. + * + * @param accountId The ID of the Jira account to delete (required) + * @return CompletableFuture + */ + public CompletableFuture deleteJiraAccountAsync(UUID accountId) { + return deleteJiraAccountWithHttpInfoAsync(accountId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Delete a Jira account by ID. + * + * @param accountId The ID of the Jira account to delete (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
400 Bad Request -
429 Too many requests -
+ */ + public ApiResponse deleteJiraAccountWithHttpInfo(UUID accountId) throws ApiException { + // Check if unstable operation is enabled + String operationId = "deleteJiraAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + throw new ApiException( + 400, "Missing the required parameter 'accountId' when calling deleteJiraAccount"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.deleteJiraAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete Jira account. + * + *

See {@link #deleteJiraAccountWithHttpInfo}. + * + * @param accountId The ID of the Jira account to delete (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> deleteJiraAccountWithHttpInfoAsync(UUID accountId) { + // Check if unstable operation is enabled + String operationId = "deleteJiraAccount"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'accountId' is set + if (accountId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'accountId' when calling deleteJiraAccount")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/accounts/{account_id}" + .replaceAll("\\{" + "account_id" + "\\}", apiClient.escapeString(accountId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.deleteJiraAccount", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete Jira issue template. + * + *

See {@link #deleteJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to delete (required) + * @throws ApiException if fails to make API call + */ + public void deleteJiraIssueTemplate(UUID issueTemplateId) throws ApiException { + deleteJiraIssueTemplateWithHttpInfo(issueTemplateId); + } + + /** + * Delete Jira issue template. + * + *

See {@link #deleteJiraIssueTemplateWithHttpInfoAsync}. + * + * @param issueTemplateId The ID of the Jira issue template to delete (required) + * @return CompletableFuture + */ + public CompletableFuture deleteJiraIssueTemplateAsync(UUID issueTemplateId) { + return deleteJiraIssueTemplateWithHttpInfoAsync(issueTemplateId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Delete a Jira issue template by ID. + * + * @param issueTemplateId The ID of the Jira issue template to delete (required) + * @return ApiResponse<Void> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
204 No Content -
429 Too many requests -
+ */ + public ApiResponse deleteJiraIssueTemplateWithHttpInfo(UUID issueTemplateId) + throws ApiException { + // Check if unstable operation is enabled + String operationId = "deleteJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling deleteJiraIssueTemplate"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.deleteJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Delete Jira issue template. + * + *

See {@link #deleteJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to delete (required) + * @return CompletableFuture<ApiResponse<Void>> + */ + public CompletableFuture> deleteJiraIssueTemplateWithHttpInfoAsync( + UUID issueTemplateId) { + // Check if unstable operation is enabled + String operationId = "deleteJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling" + + " deleteJiraIssueTemplate")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.deleteJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"*/*"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "DELETE", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + null); + } + + /** + * Get Jira issue template. + * + *

See {@link #getJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to retrieve (required) + * @return JiraIssueTemplateResponse + * @throws ApiException if fails to make API call + */ + public JiraIssueTemplateResponse getJiraIssueTemplate(UUID issueTemplateId) throws ApiException { + return getJiraIssueTemplateWithHttpInfo(issueTemplateId).getData(); + } + + /** + * Get Jira issue template. + * + *

See {@link #getJiraIssueTemplateWithHttpInfoAsync}. + * + * @param issueTemplateId The ID of the Jira issue template to retrieve (required) + * @return CompletableFuture<JiraIssueTemplateResponse> + */ + public CompletableFuture getJiraIssueTemplateAsync( + UUID issueTemplateId) { + return getJiraIssueTemplateWithHttpInfoAsync(issueTemplateId) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get a Jira issue template by ID. + * + * @param issueTemplateId The ID of the Jira issue template to retrieve (required) + * @return ApiResponse<JiraIssueTemplateResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
429 Too many requests -
+ */ + public ApiResponse getJiraIssueTemplateWithHttpInfo( + UUID issueTemplateId) throws ApiException { + // Check if unstable operation is enabled + String operationId = "getJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling getJiraIssueTemplate"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.getJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Get Jira issue template. + * + *

See {@link #getJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to retrieve (required) + * @return CompletableFuture<ApiResponse<JiraIssueTemplateResponse>> + */ + public CompletableFuture> + getJiraIssueTemplateWithHttpInfoAsync(UUID issueTemplateId) { + // Check if unstable operation is enabled + String operationId = "getJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling" + + " getJiraIssueTemplate")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.getJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Jira accounts. + * + *

See {@link #listJiraAccountsWithHttpInfo}. + * + * @return JiraAccountsResponse + * @throws ApiException if fails to make API call + */ + public JiraAccountsResponse listJiraAccounts() throws ApiException { + return listJiraAccountsWithHttpInfo().getData(); + } + + /** + * List Jira accounts. + * + *

See {@link #listJiraAccountsWithHttpInfoAsync}. + * + * @return CompletableFuture<JiraAccountsResponse> + */ + public CompletableFuture listJiraAccountsAsync() { + return listJiraAccountsWithHttpInfoAsync() + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get all Jira accounts for the organization. + * + * @return ApiResponse<JiraAccountsResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
404 Not Found -
429 Too many requests -
+ */ + public ApiResponse listJiraAccountsWithHttpInfo() throws ApiException { + // Check if unstable operation is enabled + String operationId = "listJiraAccounts"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration/jira/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.listJiraAccounts", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Jira accounts. + * + *

See {@link #listJiraAccountsWithHttpInfo}. + * + * @return CompletableFuture<ApiResponse<JiraAccountsResponse>> + */ + public CompletableFuture> listJiraAccountsWithHttpInfoAsync() { + // Check if unstable operation is enabled + String operationId = "listJiraAccounts"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration/jira/accounts"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.listJiraAccounts", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Jira issue templates. + * + *

See {@link #listJiraIssueTemplatesWithHttpInfo}. + * + * @return JiraIssueTemplatesResponse + * @throws ApiException if fails to make API call + */ + public JiraIssueTemplatesResponse listJiraIssueTemplates() throws ApiException { + return listJiraIssueTemplatesWithHttpInfo().getData(); + } + + /** + * List Jira issue templates. + * + *

See {@link #listJiraIssueTemplatesWithHttpInfoAsync}. + * + * @return CompletableFuture<JiraIssueTemplatesResponse> + */ + public CompletableFuture listJiraIssueTemplatesAsync() { + return listJiraIssueTemplatesWithHttpInfoAsync() + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Get all Jira issue templates for the organization. + * + * @return ApiResponse<JiraIssueTemplatesResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
429 Too many requests -
+ */ + public ApiResponse listJiraIssueTemplatesWithHttpInfo() + throws ApiException { + // Check if unstable operation is enabled + String operationId = "listJiraIssueTemplates"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration/jira/issue-templates"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.listJiraIssueTemplates", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * List Jira issue templates. + * + *

See {@link #listJiraIssueTemplatesWithHttpInfo}. + * + * @return CompletableFuture<ApiResponse<JiraIssueTemplatesResponse>> + */ + public CompletableFuture> + listJiraIssueTemplatesWithHttpInfoAsync() { + // Check if unstable operation is enabled + String operationId = "listJiraIssueTemplates"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = null; + // create path and map variables + String localVarPath = "/api/v2/integration/jira/issue-templates"; + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.listJiraIssueTemplates", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "GET", + builder, + localVarHeaderParams, + new String[] {}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Update Jira issue template. + * + *

See {@link #updateJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to update (required) + * @param body (required) + * @return JiraIssueTemplateResponse + * @throws ApiException if fails to make API call + */ + public JiraIssueTemplateResponse updateJiraIssueTemplate( + UUID issueTemplateId, JiraIssueTemplateUpdateRequest body) throws ApiException { + return updateJiraIssueTemplateWithHttpInfo(issueTemplateId, body).getData(); + } + + /** + * Update Jira issue template. + * + *

See {@link #updateJiraIssueTemplateWithHttpInfoAsync}. + * + * @param issueTemplateId The ID of the Jira issue template to update (required) + * @param body (required) + * @return CompletableFuture<JiraIssueTemplateResponse> + */ + public CompletableFuture updateJiraIssueTemplateAsync( + UUID issueTemplateId, JiraIssueTemplateUpdateRequest body) { + return updateJiraIssueTemplateWithHttpInfoAsync(issueTemplateId, body) + .thenApply( + response -> { + return response.getData(); + }); + } + + /** + * Update a Jira issue template by ID. + * + * @param issueTemplateId The ID of the Jira issue template to update (required) + * @param body (required) + * @return ApiResponse<JiraIssueTemplateResponse> + * @throws ApiException if fails to make API call + * @http.response.details + * + * + * + * + * + * + *
Response details
Status Code Description Response Headers
200 OK -
400 Bad Request -
429 Too many requests -
+ */ + public ApiResponse updateJiraIssueTemplateWithHttpInfo( + UUID issueTemplateId, JiraIssueTemplateUpdateRequest body) throws ApiException { + // Check if unstable operation is enabled + String operationId = "updateJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + throw new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId)); + } + Object localVarPostBody = body; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + throw new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling updateJiraIssueTemplate"); + } + + // verify the required parameter 'body' is set + if (body == null) { + throw new ApiException( + 400, "Missing the required parameter 'body' when calling updateJiraIssueTemplate"); + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.updateJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + return apiClient.invokeAPI( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } + + /** + * Update Jira issue template. + * + *

See {@link #updateJiraIssueTemplateWithHttpInfo}. + * + * @param issueTemplateId The ID of the Jira issue template to update (required) + * @param body (required) + * @return CompletableFuture<ApiResponse<JiraIssueTemplateResponse>> + */ + public CompletableFuture> + updateJiraIssueTemplateWithHttpInfoAsync( + UUID issueTemplateId, JiraIssueTemplateUpdateRequest body) { + // Check if unstable operation is enabled + String operationId = "updateJiraIssueTemplate"; + if (apiClient.isUnstableOperationEnabled("v2." + operationId)) { + apiClient.getLogger().warning(String.format("Using unstable operation '%s'", operationId)); + } else { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException(0, String.format("Unstable operation '%s' is disabled", operationId))); + return result; + } + Object localVarPostBody = body; + + // verify the required parameter 'issueTemplateId' is set + if (issueTemplateId == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, + "Missing the required parameter 'issueTemplateId' when calling" + + " updateJiraIssueTemplate")); + return result; + } + + // verify the required parameter 'body' is set + if (body == null) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally( + new ApiException( + 400, "Missing the required parameter 'body' when calling updateJiraIssueTemplate")); + return result; + } + // create path and map variables + String localVarPath = + "/api/v2/integration/jira/issue-templates/{issue_template_id}" + .replaceAll( + "\\{" + "issue_template_id" + "\\}", + apiClient.escapeString(issueTemplateId.toString())); + + Map localVarHeaderParams = new HashMap(); + + Invocation.Builder builder; + try { + builder = + apiClient.createBuilder( + "v2.JiraIntegrationApi.updateJiraIssueTemplate", + localVarPath, + new ArrayList(), + localVarHeaderParams, + new HashMap(), + new String[] {"application/json"}, + new String[] {"apiKeyAuth", "appKeyAuth"}); + } catch (ApiException ex) { + CompletableFuture> result = new CompletableFuture<>(); + result.completeExceptionally(ex); + return result; + } + return apiClient.invokeAPIAsync( + "PATCH", + builder, + localVarHeaderParams, + new String[] {"application/json"}, + localVarPostBody, + new HashMap(), + false, + new GenericType() {}); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountAttributes.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountAttributes.java new file mode 100644 index 00000000000..977f7e2fd5a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountAttributes.java @@ -0,0 +1,203 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes of a Jira account */ +@JsonPropertyOrder({ + JiraAccountAttributes.JSON_PROPERTY_CONSUMER_KEY, + JiraAccountAttributes.JSON_PROPERTY_INSTANCE_URL, + JiraAccountAttributes.JSON_PROPERTY_LAST_WEBHOOK_TIMESTAMP +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraAccountAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_CONSUMER_KEY = "consumer_key"; + private String consumerKey; + + public static final String JSON_PROPERTY_INSTANCE_URL = "instance_url"; + private String instanceUrl; + + public static final String JSON_PROPERTY_LAST_WEBHOOK_TIMESTAMP = "last_webhook_timestamp"; + private OffsetDateTime lastWebhookTimestamp; + + public JiraAccountAttributes() {} + + @JsonCreator + public JiraAccountAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_CONSUMER_KEY) String consumerKey, + @JsonProperty(required = true, value = JSON_PROPERTY_INSTANCE_URL) String instanceUrl) { + this.consumerKey = consumerKey; + this.instanceUrl = instanceUrl; + } + + public JiraAccountAttributes consumerKey(String consumerKey) { + this.consumerKey = consumerKey; + return this; + } + + /** + * The consumer key for the Jira account + * + * @return consumerKey + */ + @JsonProperty(JSON_PROPERTY_CONSUMER_KEY) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getConsumerKey() { + return consumerKey; + } + + public void setConsumerKey(String consumerKey) { + this.consumerKey = consumerKey; + } + + public JiraAccountAttributes instanceUrl(String instanceUrl) { + this.instanceUrl = instanceUrl; + return this; + } + + /** + * The URL of the Jira instance + * + * @return instanceUrl + */ + @JsonProperty(JSON_PROPERTY_INSTANCE_URL) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getInstanceUrl() { + return instanceUrl; + } + + public void setInstanceUrl(String instanceUrl) { + this.instanceUrl = instanceUrl; + } + + public JiraAccountAttributes lastWebhookTimestamp(OffsetDateTime lastWebhookTimestamp) { + this.lastWebhookTimestamp = lastWebhookTimestamp; + return this; + } + + /** + * Timestamp of the last webhook received + * + * @return lastWebhookTimestamp + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_LAST_WEBHOOK_TIMESTAMP) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public OffsetDateTime getLastWebhookTimestamp() { + return lastWebhookTimestamp; + } + + public void setLastWebhookTimestamp(OffsetDateTime lastWebhookTimestamp) { + this.lastWebhookTimestamp = lastWebhookTimestamp; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraAccountAttributes + */ + @JsonAnySetter + public JiraAccountAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraAccountAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraAccountAttributes jiraAccountAttributes = (JiraAccountAttributes) o; + return Objects.equals(this.consumerKey, jiraAccountAttributes.consumerKey) + && Objects.equals(this.instanceUrl, jiraAccountAttributes.instanceUrl) + && Objects.equals(this.lastWebhookTimestamp, jiraAccountAttributes.lastWebhookTimestamp) + && Objects.equals(this.additionalProperties, jiraAccountAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(consumerKey, instanceUrl, lastWebhookTimestamp, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraAccountAttributes {\n"); + sb.append(" consumerKey: ").append(toIndentedString(consumerKey)).append("\n"); + sb.append(" instanceUrl: ").append(toIndentedString(instanceUrl)).append("\n"); + sb.append(" lastWebhookTimestamp: ") + .append(toIndentedString(lastWebhookTimestamp)) + .append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountData.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountData.java new file mode 100644 index 00000000000..73bc7becda2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountData.java @@ -0,0 +1,209 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data object for a Jira account */ +@JsonPropertyOrder({ + JiraAccountData.JSON_PROPERTY_ATTRIBUTES, + JiraAccountData.JSON_PROPERTY_ID, + JiraAccountData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraAccountData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private JiraAccountAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private String id; + + public static final String JSON_PROPERTY_TYPE = "type"; + private JiraAccountType type; + + public JiraAccountData() {} + + @JsonCreator + public JiraAccountData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + JiraAccountAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) String id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) JiraAccountType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public JiraAccountData attributes(JiraAccountAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of a Jira account + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraAccountAttributes getAttributes() { + return attributes; + } + + public void setAttributes(JiraAccountAttributes attributes) { + this.attributes = attributes; + } + + public JiraAccountData id(String id) { + this.id = id; + return this; + } + + /** + * Unique identifier for the Jira account + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public JiraAccountData type(JiraAccountType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type identifier for Jira account resources + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraAccountType getType() { + return type; + } + + public void setType(JiraAccountType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraAccountData + */ + @JsonAnySetter + public JiraAccountData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraAccountData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraAccountData jiraAccountData = (JiraAccountData) o; + return Objects.equals(this.attributes, jiraAccountData.attributes) + && Objects.equals(this.id, jiraAccountData.id) + && Objects.equals(this.type, jiraAccountData.type) + && Objects.equals(this.additionalProperties, jiraAccountData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraAccountData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountRelationship.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountRelationship.java new file mode 100644 index 00000000000..2b7a2135cf4 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountRelationship.java @@ -0,0 +1,145 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Relationship to a Jira account */ +@JsonPropertyOrder({JiraAccountRelationship.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraAccountRelationship { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private JiraAccountData data; + + public JiraAccountRelationship() {} + + @JsonCreator + public JiraAccountRelationship( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) JiraAccountData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public JiraAccountRelationship data(JiraAccountData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data object for a Jira account + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraAccountData getData() { + return data; + } + + public void setData(JiraAccountData data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraAccountRelationship + */ + @JsonAnySetter + public JiraAccountRelationship putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraAccountRelationship object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraAccountRelationship jiraAccountRelationship = (JiraAccountRelationship) o; + return Objects.equals(this.data, jiraAccountRelationship.data) + && Objects.equals(this.additionalProperties, jiraAccountRelationship.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraAccountRelationship {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountType.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountType.java new file mode 100644 index 00000000000..932435f0ff3 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountType.java @@ -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. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Type identifier for Jira account resources */ +@JsonSerialize(using = JiraAccountType.JiraAccountTypeSerializer.class) +public class JiraAccountType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("jira-account")); + + public static final JiraAccountType JIRA_ACCOUNT = new JiraAccountType("jira-account"); + + JiraAccountType(String value) { + super(value, allowedValues); + } + + public static class JiraAccountTypeSerializer extends StdSerializer { + public JiraAccountTypeSerializer(Class t) { + super(t); + } + + public JiraAccountTypeSerializer() { + this(null); + } + + @Override + public void serialize(JiraAccountType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JiraAccountType fromValue(String value) { + return new JiraAccountType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountsMeta.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountsMeta.java new file mode 100644 index 00000000000..c6b31b84b3c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountsMeta.java @@ -0,0 +1,135 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Metadata for Jira accounts response */ +@JsonPropertyOrder({JiraAccountsMeta.JSON_PROPERTY_PUBLIC_KEY}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraAccountsMeta { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_PUBLIC_KEY = "public_key"; + private String publicKey; + + public JiraAccountsMeta publicKey(String publicKey) { + this.publicKey = publicKey; + return this; + } + + /** + * Public key for the Jira integration + * + * @return publicKey + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PUBLIC_KEY) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getPublicKey() { + return publicKey; + } + + public void setPublicKey(String publicKey) { + this.publicKey = publicKey; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraAccountsMeta + */ + @JsonAnySetter + public JiraAccountsMeta putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraAccountsMeta object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraAccountsMeta jiraAccountsMeta = (JiraAccountsMeta) o; + return Objects.equals(this.publicKey, jiraAccountsMeta.publicKey) + && Objects.equals(this.additionalProperties, jiraAccountsMeta.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(publicKey, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraAccountsMeta {\n"); + sb.append(" publicKey: ").append(toIndentedString(publicKey)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraAccountsResponse.java b/src/main/java/com/datadog/api/client/v2/model/JiraAccountsResponse.java new file mode 100644 index 00000000000..d808bfc037a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraAccountsResponse.java @@ -0,0 +1,184 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing Jira accounts */ +@JsonPropertyOrder({ + JiraAccountsResponse.JSON_PROPERTY_DATA, + JiraAccountsResponse.JSON_PROPERTY_META +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraAccountsResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_META = "meta"; + private JiraAccountsMeta meta; + + public JiraAccountsResponse() {} + + @JsonCreator + public JiraAccountsResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { + this.data = data; + } + + public JiraAccountsResponse data(List data) { + this.data = data; + for (JiraAccountData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public JiraAccountsResponse addDataItem(JiraAccountData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Array of Jira account data objects + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public JiraAccountsResponse meta(JiraAccountsMeta meta) { + this.meta = meta; + this.unparsed |= meta.unparsed; + return this; + } + + /** + * Metadata for Jira accounts response + * + * @return meta + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_META) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraAccountsMeta getMeta() { + return meta; + } + + public void setMeta(JiraAccountsMeta meta) { + this.meta = meta; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraAccountsResponse + */ + @JsonAnySetter + public JiraAccountsResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraAccountsResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraAccountsResponse jiraAccountsResponse = (JiraAccountsResponse) o; + return Objects.equals(this.data, jiraAccountsResponse.data) + && Objects.equals(this.meta, jiraAccountsResponse.meta) + && Objects.equals(this.additionalProperties, jiraAccountsResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, meta, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraAccountsResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" meta: ").append(toIndentedString(meta)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequest.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequest.java new file mode 100644 index 00000000000..098cda304fd --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequest.java @@ -0,0 +1,138 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request to create a Jira issue template */ +@JsonPropertyOrder({JiraIssueTemplateCreateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateCreateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private JiraIssueTemplateCreateRequestData data; + + public JiraIssueTemplateCreateRequest data(JiraIssueTemplateCreateRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data object for creating a Jira issue template + * + * @return data + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraIssueTemplateCreateRequestData getData() { + return data; + } + + public void setData(JiraIssueTemplateCreateRequestData data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateCreateRequest + */ + @JsonAnySetter + public JiraIssueTemplateCreateRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateCreateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateCreateRequest jiraIssueTemplateCreateRequest = + (JiraIssueTemplateCreateRequest) o; + return Objects.equals(this.data, jiraIssueTemplateCreateRequest.data) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateCreateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateCreateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributes.java new file mode 100644 index 00000000000..b7b8e4dfd3c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributes.java @@ -0,0 +1,258 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes for creating a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateCreateRequestAttributes.JSON_PROPERTY_FIELDS, + JiraIssueTemplateCreateRequestAttributes.JSON_PROPERTY_ISSUE_TYPE_ID, + JiraIssueTemplateCreateRequestAttributes.JSON_PROPERTY_JIRA_ACCOUNT, + JiraIssueTemplateCreateRequestAttributes.JSON_PROPERTY_NAME, + JiraIssueTemplateCreateRequestAttributes.JSON_PROPERTY_PROJECT_ID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateCreateRequestAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FIELDS = "fields"; + private Map fields = null; + + public static final String JSON_PROPERTY_ISSUE_TYPE_ID = "issue_type_id"; + private String issueTypeId; + + public static final String JSON_PROPERTY_JIRA_ACCOUNT = "jira-account"; + private JiraIssueTemplateCreateRequestAttributesJiraAccount jiraAccount; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_PROJECT_ID = "project_id"; + private String projectId; + + public JiraIssueTemplateCreateRequestAttributes fields(Map fields) { + this.fields = fields; + return this; + } + + public JiraIssueTemplateCreateRequestAttributes putFieldsItem(String key, Object fieldsItem) { + if (this.fields == null) { + this.fields = new HashMap<>(); + } + this.fields.put(key, fieldsItem); + return this; + } + + /** + * Custom fields for the Jira issue template + * + * @return fields + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getFields() { + return fields; + } + + public void setFields(Map fields) { + this.fields = fields; + } + + public JiraIssueTemplateCreateRequestAttributes issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the Jira issue type + * + * @return issueTypeId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ISSUE_TYPE_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public JiraIssueTemplateCreateRequestAttributes jiraAccount( + JiraIssueTemplateCreateRequestAttributesJiraAccount jiraAccount) { + this.jiraAccount = jiraAccount; + this.unparsed |= jiraAccount.unparsed; + return this; + } + + /** + * Reference to the Jira account + * + * @return jiraAccount + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_JIRA_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraIssueTemplateCreateRequestAttributesJiraAccount getJiraAccount() { + return jiraAccount; + } + + public void setJiraAccount(JiraIssueTemplateCreateRequestAttributesJiraAccount jiraAccount) { + this.jiraAccount = jiraAccount; + } + + public JiraIssueTemplateCreateRequestAttributes name(String name) { + this.name = name; + return this; + } + + /** + * The name of the issue template + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public JiraIssueTemplateCreateRequestAttributes projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the Jira project + * + * @return projectId + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_PROJECT_ID) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateCreateRequestAttributes + */ + @JsonAnySetter + public JiraIssueTemplateCreateRequestAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateCreateRequestAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateCreateRequestAttributes jiraIssueTemplateCreateRequestAttributes = + (JiraIssueTemplateCreateRequestAttributes) o; + return Objects.equals(this.fields, jiraIssueTemplateCreateRequestAttributes.fields) + && Objects.equals(this.issueTypeId, jiraIssueTemplateCreateRequestAttributes.issueTypeId) + && Objects.equals(this.jiraAccount, jiraIssueTemplateCreateRequestAttributes.jiraAccount) + && Objects.equals(this.name, jiraIssueTemplateCreateRequestAttributes.name) + && Objects.equals(this.projectId, jiraIssueTemplateCreateRequestAttributes.projectId) + && Objects.equals( + this.additionalProperties, + jiraIssueTemplateCreateRequestAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(fields, issueTypeId, jiraAccount, name, projectId, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateCreateRequestAttributes {\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" jiraAccount: ").append(toIndentedString(jiraAccount)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributesJiraAccount.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributesJiraAccount.java new file mode 100644 index 00000000000..564f13ffed8 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestAttributesJiraAccount.java @@ -0,0 +1,151 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** Reference to the Jira account */ +@JsonPropertyOrder({JiraIssueTemplateCreateRequestAttributesJiraAccount.JSON_PROPERTY_ID}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateCreateRequestAttributesJiraAccount { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public JiraIssueTemplateCreateRequestAttributesJiraAccount() {} + + @JsonCreator + public JiraIssueTemplateCreateRequestAttributesJiraAccount( + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id) { + this.id = id; + } + + public JiraIssueTemplateCreateRequestAttributesJiraAccount id(UUID id) { + this.id = id; + return this; + } + + /** + * The ID of the Jira account + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateCreateRequestAttributesJiraAccount + */ + @JsonAnySetter + public JiraIssueTemplateCreateRequestAttributesJiraAccount putAdditionalProperty( + String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** + * Return true if this JiraIssueTemplateCreateRequestAttributesJiraAccount object is equal to o. + */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateCreateRequestAttributesJiraAccount + jiraIssueTemplateCreateRequestAttributesJiraAccount = + (JiraIssueTemplateCreateRequestAttributesJiraAccount) o; + return Objects.equals(this.id, jiraIssueTemplateCreateRequestAttributesJiraAccount.id) + && Objects.equals( + this.additionalProperties, + jiraIssueTemplateCreateRequestAttributesJiraAccount.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(id, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateCreateRequestAttributesJiraAccount {\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestData.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestData.java new file mode 100644 index 00000000000..cd6a22f1ff9 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateCreateRequestData.java @@ -0,0 +1,172 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data object for creating a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateCreateRequestData.JSON_PROPERTY_ATTRIBUTES, + JiraIssueTemplateCreateRequestData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateCreateRequestData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private JiraIssueTemplateCreateRequestAttributes attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private JiraIssueTemplateType type; + + public JiraIssueTemplateCreateRequestData attributes( + JiraIssueTemplateCreateRequestAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for creating a Jira issue template + * + * @return attributes + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraIssueTemplateCreateRequestAttributes getAttributes() { + return attributes; + } + + public void setAttributes(JiraIssueTemplateCreateRequestAttributes attributes) { + this.attributes = attributes; + } + + public JiraIssueTemplateCreateRequestData type(JiraIssueTemplateType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type identifier for Jira issue template resources + * + * @return type + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraIssueTemplateType getType() { + return type; + } + + public void setType(JiraIssueTemplateType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateCreateRequestData + */ + @JsonAnySetter + public JiraIssueTemplateCreateRequestData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateCreateRequestData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateCreateRequestData jiraIssueTemplateCreateRequestData = + (JiraIssueTemplateCreateRequestData) o; + return Objects.equals(this.attributes, jiraIssueTemplateCreateRequestData.attributes) + && Objects.equals(this.type, jiraIssueTemplateCreateRequestData.type) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateCreateRequestData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateCreateRequestData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateData.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateData.java new file mode 100644 index 00000000000..3f4681f9b4c --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateData.java @@ -0,0 +1,238 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; +import java.util.UUID; + +/** Data object for a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateData.JSON_PROPERTY_ATTRIBUTES, + JiraIssueTemplateData.JSON_PROPERTY_ID, + JiraIssueTemplateData.JSON_PROPERTY_RELATIONSHIPS, + JiraIssueTemplateData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private JiraIssueTemplateDataAttributes attributes; + + public static final String JSON_PROPERTY_ID = "id"; + private UUID id; + + public static final String JSON_PROPERTY_RELATIONSHIPS = "relationships"; + private JiraIssueTemplateDataRelationships relationships; + + public static final String JSON_PROPERTY_TYPE = "type"; + private JiraIssueTemplateType type; + + public JiraIssueTemplateData() {} + + @JsonCreator + public JiraIssueTemplateData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + JiraIssueTemplateDataAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_ID) UUID id, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) JiraIssueTemplateType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.id = id; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public JiraIssueTemplateData attributes(JiraIssueTemplateDataAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes of a Jira issue template + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateDataAttributes getAttributes() { + return attributes; + } + + public void setAttributes(JiraIssueTemplateDataAttributes attributes) { + this.attributes = attributes; + } + + public JiraIssueTemplateData id(UUID id) { + this.id = id; + return this; + } + + /** + * Unique identifier for the Jira issue template + * + * @return id + */ + @JsonProperty(JSON_PROPERTY_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public UUID getId() { + return id; + } + + public void setId(UUID id) { + this.id = id; + } + + public JiraIssueTemplateData relationships(JiraIssueTemplateDataRelationships relationships) { + this.relationships = relationships; + this.unparsed |= relationships.unparsed; + return this; + } + + /** + * Relationships of a Jira issue template + * + * @return relationships + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_RELATIONSHIPS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public JiraIssueTemplateDataRelationships getRelationships() { + return relationships; + } + + public void setRelationships(JiraIssueTemplateDataRelationships relationships) { + this.relationships = relationships; + } + + public JiraIssueTemplateData type(JiraIssueTemplateType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type identifier for Jira issue template resources + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateType getType() { + return type; + } + + public void setType(JiraIssueTemplateType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateData + */ + @JsonAnySetter + public JiraIssueTemplateData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateData jiraIssueTemplateData = (JiraIssueTemplateData) o; + return Objects.equals(this.attributes, jiraIssueTemplateData.attributes) + && Objects.equals(this.id, jiraIssueTemplateData.id) + && Objects.equals(this.relationships, jiraIssueTemplateData.relationships) + && Objects.equals(this.type, jiraIssueTemplateData.type) + && Objects.equals(this.additionalProperties, jiraIssueTemplateData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, id, relationships, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" id: ").append(toIndentedString(id)).append("\n"); + sb.append(" relationships: ").append(toIndentedString(relationships)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataAttributes.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataAttributes.java new file mode 100644 index 00000000000..038936ae066 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataAttributes.java @@ -0,0 +1,236 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes of a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateDataAttributes.JSON_PROPERTY_FIELDS, + JiraIssueTemplateDataAttributes.JSON_PROPERTY_ISSUE_TYPE_ID, + JiraIssueTemplateDataAttributes.JSON_PROPERTY_NAME, + JiraIssueTemplateDataAttributes.JSON_PROPERTY_PROJECT_ID +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateDataAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FIELDS = "fields"; + private Map fields = new HashMap(); + + public static final String JSON_PROPERTY_ISSUE_TYPE_ID = "issue_type_id"; + private String issueTypeId; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public static final String JSON_PROPERTY_PROJECT_ID = "project_id"; + private String projectId; + + public JiraIssueTemplateDataAttributes() {} + + @JsonCreator + public JiraIssueTemplateDataAttributes( + @JsonProperty(required = true, value = JSON_PROPERTY_FIELDS) Map fields, + @JsonProperty(required = true, value = JSON_PROPERTY_ISSUE_TYPE_ID) String issueTypeId, + @JsonProperty(required = true, value = JSON_PROPERTY_NAME) String name, + @JsonProperty(required = true, value = JSON_PROPERTY_PROJECT_ID) String projectId) { + this.fields = fields; + this.issueTypeId = issueTypeId; + this.name = name; + this.projectId = projectId; + } + + public JiraIssueTemplateDataAttributes fields(Map fields) { + this.fields = fields; + return this; + } + + public JiraIssueTemplateDataAttributes putFieldsItem(String key, Object fieldsItem) { + this.fields.put(key, fieldsItem); + return this; + } + + /** + * Custom fields for the Jira issue template + * + * @return fields + */ + @JsonProperty(JSON_PROPERTY_FIELDS) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public Map getFields() { + return fields; + } + + public void setFields(Map fields) { + this.fields = fields; + } + + public JiraIssueTemplateDataAttributes issueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + return this; + } + + /** + * The ID of the Jira issue type + * + * @return issueTypeId + */ + @JsonProperty(JSON_PROPERTY_ISSUE_TYPE_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getIssueTypeId() { + return issueTypeId; + } + + public void setIssueTypeId(String issueTypeId) { + this.issueTypeId = issueTypeId; + } + + public JiraIssueTemplateDataAttributes name(String name) { + this.name = name; + return this; + } + + /** + * The name of the issue template + * + * @return name + */ + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public JiraIssueTemplateDataAttributes projectId(String projectId) { + this.projectId = projectId; + return this; + } + + /** + * The ID of the Jira project + * + * @return projectId + */ + @JsonProperty(JSON_PROPERTY_PROJECT_ID) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public String getProjectId() { + return projectId; + } + + public void setProjectId(String projectId) { + this.projectId = projectId; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateDataAttributes + */ + @JsonAnySetter + public JiraIssueTemplateDataAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateDataAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateDataAttributes jiraIssueTemplateDataAttributes = + (JiraIssueTemplateDataAttributes) o; + return Objects.equals(this.fields, jiraIssueTemplateDataAttributes.fields) + && Objects.equals(this.issueTypeId, jiraIssueTemplateDataAttributes.issueTypeId) + && Objects.equals(this.name, jiraIssueTemplateDataAttributes.name) + && Objects.equals(this.projectId, jiraIssueTemplateDataAttributes.projectId) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateDataAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(fields, issueTypeId, name, projectId, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateDataAttributes {\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" issueTypeId: ").append(toIndentedString(issueTypeId)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" projectId: ").append(toIndentedString(projectId)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataRelationships.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataRelationships.java new file mode 100644 index 00000000000..5b702e96d14 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateDataRelationships.java @@ -0,0 +1,148 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Relationships of a Jira issue template */ +@JsonPropertyOrder({JiraIssueTemplateDataRelationships.JSON_PROPERTY_JIRA_ACCOUNT}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateDataRelationships { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_JIRA_ACCOUNT = "jira-account"; + private JiraAccountRelationship jiraAccount; + + public JiraIssueTemplateDataRelationships() {} + + @JsonCreator + public JiraIssueTemplateDataRelationships( + @JsonProperty(required = true, value = JSON_PROPERTY_JIRA_ACCOUNT) + JiraAccountRelationship jiraAccount) { + this.jiraAccount = jiraAccount; + this.unparsed |= jiraAccount.unparsed; + } + + public JiraIssueTemplateDataRelationships jiraAccount(JiraAccountRelationship jiraAccount) { + this.jiraAccount = jiraAccount; + this.unparsed |= jiraAccount.unparsed; + return this; + } + + /** + * Relationship to a Jira account + * + * @return jiraAccount + */ + @JsonProperty(JSON_PROPERTY_JIRA_ACCOUNT) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraAccountRelationship getJiraAccount() { + return jiraAccount; + } + + public void setJiraAccount(JiraAccountRelationship jiraAccount) { + this.jiraAccount = jiraAccount; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateDataRelationships + */ + @JsonAnySetter + public JiraIssueTemplateDataRelationships putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateDataRelationships object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateDataRelationships jiraIssueTemplateDataRelationships = + (JiraIssueTemplateDataRelationships) o; + return Objects.equals(this.jiraAccount, jiraIssueTemplateDataRelationships.jiraAccount) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateDataRelationships.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(jiraAccount, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateDataRelationships {\n"); + sb.append(" jiraAccount: ").append(toIndentedString(jiraAccount)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateResponse.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateResponse.java new file mode 100644 index 00000000000..b86bda33350 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateResponse.java @@ -0,0 +1,189 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing a single Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateResponse.JSON_PROPERTY_DATA, + JiraIssueTemplateResponse.JSON_PROPERTY_INCLUDED +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private JiraIssueTemplateData data; + + public static final String JSON_PROPERTY_INCLUDED = "included"; + private List included = null; + + public JiraIssueTemplateResponse() {} + + @JsonCreator + public JiraIssueTemplateResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) JiraIssueTemplateData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public JiraIssueTemplateResponse data(JiraIssueTemplateData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data object for a Jira issue template + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateData getData() { + return data; + } + + public void setData(JiraIssueTemplateData data) { + this.data = data; + } + + public JiraIssueTemplateResponse included(List included) { + this.included = included; + for (JiraAccountData item : included) { + this.unparsed |= item.unparsed; + } + return this; + } + + public JiraIssueTemplateResponse addIncludedItem(JiraAccountData includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + this.unparsed |= includedItem.unparsed; + return this; + } + + /** + * Array of Jira account data objects + * + * @return included + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getIncluded() { + return included; + } + + public void setIncluded(List included) { + this.included = included; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateResponse + */ + @JsonAnySetter + public JiraIssueTemplateResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateResponse jiraIssueTemplateResponse = (JiraIssueTemplateResponse) o; + return Objects.equals(this.data, jiraIssueTemplateResponse.data) + && Objects.equals(this.included, jiraIssueTemplateResponse.included) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, included, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateType.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateType.java new file mode 100644 index 00000000000..13c09c4355a --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateType.java @@ -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. + */ + +package com.datadog.api.client.v2.model; + +import com.datadog.api.client.ModelEnum; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.core.JsonGenerator; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.databind.SerializerProvider; +import com.fasterxml.jackson.databind.annotation.JsonSerialize; +import com.fasterxml.jackson.databind.ser.std.StdSerializer; +import java.io.IOException; +import java.util.Arrays; +import java.util.HashSet; +import java.util.Set; + +/** Type identifier for Jira issue template resources */ +@JsonSerialize(using = JiraIssueTemplateType.JiraIssueTemplateTypeSerializer.class) +public class JiraIssueTemplateType extends ModelEnum { + + private static final Set allowedValues = + new HashSet(Arrays.asList("jira-issue-template")); + + public static final JiraIssueTemplateType JIRA_ISSUE_TEMPLATE = + new JiraIssueTemplateType("jira-issue-template"); + + JiraIssueTemplateType(String value) { + super(value, allowedValues); + } + + public static class JiraIssueTemplateTypeSerializer extends StdSerializer { + public JiraIssueTemplateTypeSerializer(Class t) { + super(t); + } + + public JiraIssueTemplateTypeSerializer() { + this(null); + } + + @Override + public void serialize( + JiraIssueTemplateType value, JsonGenerator jgen, SerializerProvider provider) + throws IOException, JsonProcessingException { + jgen.writeObject(value.value); + } + } + + @JsonCreator + public static JiraIssueTemplateType fromValue(String value) { + return new JiraIssueTemplateType(value); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequest.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequest.java new file mode 100644 index 00000000000..c4da80facc7 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequest.java @@ -0,0 +1,148 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Request to update a Jira issue template */ +@JsonPropertyOrder({JiraIssueTemplateUpdateRequest.JSON_PROPERTY_DATA}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateUpdateRequest { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private JiraIssueTemplateUpdateRequestData data; + + public JiraIssueTemplateUpdateRequest() {} + + @JsonCreator + public JiraIssueTemplateUpdateRequest( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) + JiraIssueTemplateUpdateRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + } + + public JiraIssueTemplateUpdateRequest data(JiraIssueTemplateUpdateRequestData data) { + this.data = data; + this.unparsed |= data.unparsed; + return this; + } + + /** + * Data object for updating a Jira issue template + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateUpdateRequestData getData() { + return data; + } + + public void setData(JiraIssueTemplateUpdateRequestData data) { + this.data = data; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateUpdateRequest + */ + @JsonAnySetter + public JiraIssueTemplateUpdateRequest putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateUpdateRequest object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateUpdateRequest jiraIssueTemplateUpdateRequest = + (JiraIssueTemplateUpdateRequest) o; + return Objects.equals(this.data, jiraIssueTemplateUpdateRequest.data) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateUpdateRequest.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateUpdateRequest {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestAttributes.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestAttributes.java new file mode 100644 index 00000000000..765d47b2b0d --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestAttributes.java @@ -0,0 +1,175 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Attributes for updating a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateUpdateRequestAttributes.JSON_PROPERTY_FIELDS, + JiraIssueTemplateUpdateRequestAttributes.JSON_PROPERTY_NAME +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateUpdateRequestAttributes { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_FIELDS = "fields"; + private Map fields = null; + + public static final String JSON_PROPERTY_NAME = "name"; + private String name; + + public JiraIssueTemplateUpdateRequestAttributes fields(Map fields) { + this.fields = fields; + return this; + } + + public JiraIssueTemplateUpdateRequestAttributes putFieldsItem(String key, Object fieldsItem) { + if (this.fields == null) { + this.fields = new HashMap<>(); + } + this.fields.put(key, fieldsItem); + return this; + } + + /** + * Custom fields for the Jira issue template + * + * @return fields + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_FIELDS) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public Map getFields() { + return fields; + } + + public void setFields(Map fields) { + this.fields = fields; + } + + public JiraIssueTemplateUpdateRequestAttributes name(String name) { + this.name = name; + return this; + } + + /** + * The name of the issue template + * + * @return name + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_NAME) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateUpdateRequestAttributes + */ + @JsonAnySetter + public JiraIssueTemplateUpdateRequestAttributes putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateUpdateRequestAttributes object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateUpdateRequestAttributes jiraIssueTemplateUpdateRequestAttributes = + (JiraIssueTemplateUpdateRequestAttributes) o; + return Objects.equals(this.fields, jiraIssueTemplateUpdateRequestAttributes.fields) + && Objects.equals(this.name, jiraIssueTemplateUpdateRequestAttributes.name) + && Objects.equals( + this.additionalProperties, + jiraIssueTemplateUpdateRequestAttributes.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(fields, name, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateUpdateRequestAttributes {\n"); + sb.append(" fields: ").append(toIndentedString(fields)).append("\n"); + sb.append(" name: ").append(toIndentedString(name)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestData.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestData.java new file mode 100644 index 00000000000..295faa7e5f2 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplateUpdateRequestData.java @@ -0,0 +1,184 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.HashMap; +import java.util.Map; +import java.util.Objects; + +/** Data object for updating a Jira issue template */ +@JsonPropertyOrder({ + JiraIssueTemplateUpdateRequestData.JSON_PROPERTY_ATTRIBUTES, + JiraIssueTemplateUpdateRequestData.JSON_PROPERTY_TYPE +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplateUpdateRequestData { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_ATTRIBUTES = "attributes"; + private JiraIssueTemplateUpdateRequestAttributes attributes; + + public static final String JSON_PROPERTY_TYPE = "type"; + private JiraIssueTemplateType type; + + public JiraIssueTemplateUpdateRequestData() {} + + @JsonCreator + public JiraIssueTemplateUpdateRequestData( + @JsonProperty(required = true, value = JSON_PROPERTY_ATTRIBUTES) + JiraIssueTemplateUpdateRequestAttributes attributes, + @JsonProperty(required = true, value = JSON_PROPERTY_TYPE) JiraIssueTemplateType type) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + this.type = type; + this.unparsed |= !type.isValid(); + } + + public JiraIssueTemplateUpdateRequestData attributes( + JiraIssueTemplateUpdateRequestAttributes attributes) { + this.attributes = attributes; + this.unparsed |= attributes.unparsed; + return this; + } + + /** + * Attributes for updating a Jira issue template + * + * @return attributes + */ + @JsonProperty(JSON_PROPERTY_ATTRIBUTES) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateUpdateRequestAttributes getAttributes() { + return attributes; + } + + public void setAttributes(JiraIssueTemplateUpdateRequestAttributes attributes) { + this.attributes = attributes; + } + + public JiraIssueTemplateUpdateRequestData type(JiraIssueTemplateType type) { + this.type = type; + this.unparsed |= !type.isValid(); + return this; + } + + /** + * Type identifier for Jira issue template resources + * + * @return type + */ + @JsonProperty(JSON_PROPERTY_TYPE) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public JiraIssueTemplateType getType() { + return type; + } + + public void setType(JiraIssueTemplateType type) { + if (!type.isValid()) { + this.unparsed = true; + } + this.type = type; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplateUpdateRequestData + */ + @JsonAnySetter + public JiraIssueTemplateUpdateRequestData putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplateUpdateRequestData object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplateUpdateRequestData jiraIssueTemplateUpdateRequestData = + (JiraIssueTemplateUpdateRequestData) o; + return Objects.equals(this.attributes, jiraIssueTemplateUpdateRequestData.attributes) + && Objects.equals(this.type, jiraIssueTemplateUpdateRequestData.type) + && Objects.equals( + this.additionalProperties, jiraIssueTemplateUpdateRequestData.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(attributes, type, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplateUpdateRequestData {\n"); + sb.append(" attributes: ").append(toIndentedString(attributes)).append("\n"); + sb.append(" type: ").append(toIndentedString(type)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplatesResponse.java b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplatesResponse.java new file mode 100644 index 00000000000..981d077d129 --- /dev/null +++ b/src/main/java/com/datadog/api/client/v2/model/JiraIssueTemplatesResponse.java @@ -0,0 +1,196 @@ +/* + * 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. + */ + +package com.datadog.api.client.v2.model; + +import com.fasterxml.jackson.annotation.JsonAnyGetter; +import com.fasterxml.jackson.annotation.JsonAnySetter; +import com.fasterxml.jackson.annotation.JsonCreator; +import com.fasterxml.jackson.annotation.JsonIgnore; +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.annotation.JsonProperty; +import com.fasterxml.jackson.annotation.JsonPropertyOrder; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.Objects; + +/** Response containing Jira issue templates */ +@JsonPropertyOrder({ + JiraIssueTemplatesResponse.JSON_PROPERTY_DATA, + JiraIssueTemplatesResponse.JSON_PROPERTY_INCLUDED +}) +@jakarta.annotation.Generated( + value = "https://github.com/DataDog/datadog-api-client-java/blob/master/.generator") +public class JiraIssueTemplatesResponse { + @JsonIgnore public boolean unparsed = false; + public static final String JSON_PROPERTY_DATA = "data"; + private List data = new ArrayList<>(); + + public static final String JSON_PROPERTY_INCLUDED = "included"; + private List included = null; + + public JiraIssueTemplatesResponse() {} + + @JsonCreator + public JiraIssueTemplatesResponse( + @JsonProperty(required = true, value = JSON_PROPERTY_DATA) List data) { + this.data = data; + } + + public JiraIssueTemplatesResponse data(List data) { + this.data = data; + for (JiraIssueTemplateData item : data) { + this.unparsed |= item.unparsed; + } + return this; + } + + public JiraIssueTemplatesResponse addDataItem(JiraIssueTemplateData dataItem) { + this.data.add(dataItem); + this.unparsed |= dataItem.unparsed; + return this; + } + + /** + * Array of Jira issue template data objects + * + * @return data + */ + @JsonProperty(JSON_PROPERTY_DATA) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public List getData() { + return data; + } + + public void setData(List data) { + this.data = data; + } + + public JiraIssueTemplatesResponse included(List included) { + this.included = included; + for (JiraAccountData item : included) { + this.unparsed |= item.unparsed; + } + return this; + } + + public JiraIssueTemplatesResponse addIncludedItem(JiraAccountData includedItem) { + if (this.included == null) { + this.included = new ArrayList<>(); + } + this.included.add(includedItem); + this.unparsed |= includedItem.unparsed; + return this; + } + + /** + * Array of Jira account data objects + * + * @return included + */ + @jakarta.annotation.Nullable + @JsonProperty(JSON_PROPERTY_INCLUDED) + @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) + public List getIncluded() { + return included; + } + + public void setIncluded(List included) { + this.included = included; + } + + /** + * A container for additional, undeclared properties. This is a holder for any undeclared + * properties as specified with the 'additionalProperties' keyword in the OAS document. + */ + private Map additionalProperties; + + /** + * Set the additional (undeclared) property with the specified name and value. If the property + * does not already exist, create it otherwise replace it. + * + * @param key The arbitrary key to set + * @param value The associated value + * @return JiraIssueTemplatesResponse + */ + @JsonAnySetter + public JiraIssueTemplatesResponse putAdditionalProperty(String key, Object value) { + if (this.additionalProperties == null) { + this.additionalProperties = new HashMap(); + } + this.additionalProperties.put(key, value); + return this; + } + + /** + * Return the additional (undeclared) property. + * + * @return The additional properties + */ + @JsonAnyGetter + public Map getAdditionalProperties() { + return additionalProperties; + } + + /** + * Return the additional (undeclared) property with the specified name. + * + * @param key The arbitrary key to get + * @return The specific additional property for the given key + */ + public Object getAdditionalProperty(String key) { + if (this.additionalProperties == null) { + return null; + } + return this.additionalProperties.get(key); + } + + /** Return true if this JiraIssueTemplatesResponse object is equal to o. */ + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } + if (o == null || getClass() != o.getClass()) { + return false; + } + JiraIssueTemplatesResponse jiraIssueTemplatesResponse = (JiraIssueTemplatesResponse) o; + return Objects.equals(this.data, jiraIssueTemplatesResponse.data) + && Objects.equals(this.included, jiraIssueTemplatesResponse.included) + && Objects.equals( + this.additionalProperties, jiraIssueTemplatesResponse.additionalProperties); + } + + @Override + public int hashCode() { + return Objects.hash(data, included, additionalProperties); + } + + @Override + public String toString() { + StringBuilder sb = new StringBuilder(); + sb.append("class JiraIssueTemplatesResponse {\n"); + sb.append(" data: ").append(toIndentedString(data)).append("\n"); + sb.append(" included: ").append(toIndentedString(included)).append("\n"); + sb.append(" additionalProperties: ") + .append(toIndentedString(additionalProperties)) + .append("\n"); + sb.append('}'); + return sb.toString(); + } + + /** + * Convert the given object to string with each line indented by 4 spaces (except the first line). + */ + private String toIndentedString(Object o) { + if (o == null) { + return "null"; + } + return o.toString().replace("\n", "\n "); + } +} diff --git a/src/test/resources/com/datadog/api/client/v2/api/jira_integration.feature b/src/test/resources/com/datadog/api/client/v2/api/jira_integration.feature new file mode 100644 index 00000000000..528a78b7b3b --- /dev/null +++ b/src/test/resources/com/datadog/api/client/v2/api/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/src/test/resources/com/datadog/api/client/v2/api/undo.json b/src/test/resources/com/datadog/api/client/v2/api/undo.json index 59046d30f0b..1cd2195bba1 100644 --- a/src/test/resources/com/datadog/api/client/v2/api/undo.json +++ b/src/test/resources/com/datadog/api/client/v2/api/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": {