diff --git a/.generated-info b/.generated-info index 7b6e2d452a65..e21acb6f0b2f 100644 --- a/.generated-info +++ b/.generated-info @@ -1,4 +1,4 @@ { - "spec_repo_commit": "62a19e4", - "generated": "2025-08-27 15:03:12.722" + "spec_repo_commit": "09b875f", + "generated": "2025-08-27 15:59:06.116" } diff --git a/.generator/schemas/v2/openapi.yaml b/.generator/schemas/v2/openapi.yaml index e09c94804791..faebc5966ba6 100644 --- a/.generator/schemas/v2/openapi.yaml +++ b/.generator/schemas/v2/openapi.yaml @@ -415,6 +415,17 @@ components: required: true schema: type: string + GetIssueIncludeQueryParameter: + description: Comma-separated list of relationship objects that should be included + in the response. + explode: false + in: query + name: include + required: false + schema: + items: + $ref: '#/components/schemas/GetIssueIncludeQueryParameterItem' + type: array HistoricalJobID: description: The ID of the job. in: path @@ -579,6 +590,14 @@ components: required: true schema: type: string + IssueIDPathParameter: + description: The identifier of the issue. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + in: path + name: issue_id + required: true + schema: + type: string KindID: description: Entity kind. in: path @@ -824,6 +843,17 @@ components: required: false schema: $ref: '#/components/schemas/ServiceDefinitionSchemaVersions' + SearchIssuesIncludeQueryParameter: + description: Comma-separated list of relationship objects that should be included + in the response. + explode: false + in: query + name: include + required: false + schema: + items: + $ref: '#/components/schemas/SearchIssuesIncludeQueryParameterItem' + type: array SecurityFilterID: description: The ID of the security filter. in: path @@ -18259,6 +18289,18 @@ components: $ref: '#/components/schemas/GetInterfacesData' type: array type: object + GetIssueIncludeQueryParameterItem: + description: Relationship object that should be included in the response. + enum: + - assignee + - case + - team_owners + example: case + type: string + x-enum-varnames: + - ASSIGNEE + - CASE + - TEAM_OWNERS GetResourceEvaluationFiltersResponse: description: The definition of `GetResourceEvaluationFiltersResponse` object. properties: @@ -21379,6 +21421,630 @@ components: - DOWN - WARNING - 'OFF' + Issue: + description: The issue matching the request. + properties: + attributes: + $ref: '#/components/schemas/IssueAttributes' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + relationships: + $ref: '#/components/schemas/IssueRelationships' + type: + $ref: '#/components/schemas/IssueType' + required: + - id + - type + - attributes + type: object + IssueAssigneeRelationship: + description: Relationship between the issue and assignee. + properties: + data: + $ref: '#/components/schemas/IssueUserReference' + required: + - data + type: object + IssueAttributes: + description: Object containing the information of an issue. + properties: + error_message: + description: Error message associated with the issue. + example: object of type 'NoneType' has no len() + type: string + error_type: + description: Type of the error that matches the issue. + example: builtins.TypeError + type: string + file_path: + description: Path of the file where the issue occurred. + example: /django-email/conduit/apps/core/utils.py + type: string + first_seen: + description: Timestamp of the first seen error in milliseconds since the + Unix epoch. + example: 1671612804001 + format: int64 + type: integer + first_seen_version: + description: The application version (for example, git commit hash) where + the issue was first observed. + example: aaf65cd0 + type: string + function_name: + description: Name of the function where the issue occurred. + example: filter_forbidden_tags + type: string + is_crash: + description: Error is a crash. + example: false + type: boolean + languages: + description: Array of programming languages associated with the issue. + example: + - python + - go + items: + $ref: '#/components/schemas/IssueLanguage' + type: array + last_seen: + description: Timestamp of the last seen error in milliseconds since the + Unix epoch. + example: 1671620003100 + format: int64 + type: integer + last_seen_version: + description: The application version (for example, git commit hash) where + the issue was last observed. + example: b6199f80 + type: string + platform: + $ref: '#/components/schemas/IssuePlatform' + service: + description: Service name. + example: email-api-py + type: string + state: + $ref: '#/components/schemas/IssueState' + type: object + IssueCaseReference: + description: The case the issue is attached to. + properties: + id: + description: Case identifier. + example: 2841440d-e780-4fe2-96cd-6a8c1d194da5 + type: string + type: + $ref: '#/components/schemas/CaseResourceType' + required: + - id + - type + type: object + IssueCaseRelationship: + description: Relationship between the issue and case. + properties: + data: + $ref: '#/components/schemas/IssueCaseReference' + required: + - data + type: object + IssueIncluded: + description: An array of related resources, returned when the `include` query + parameter is used. + oneOf: + - $ref: '#/components/schemas/Case' + - $ref: '#/components/schemas/IssueUser' + - $ref: '#/components/schemas/IssueTeam' + IssueLanguage: + description: Programming language associated with the issue. + enum: + - BRIGHTSCRIPT + - C + - C_PLUS_PLUS + - C_SHARP + - CLOJURE + - DOT_NET + - ELIXIR + - ERLANG + - GO + - GROOVY + - HASKELL + - HCL + - JAVA + - JAVASCRIPT + - JVM + - KOTLIN + - OBJECTIVE_C + - PERL + - PHP + - PYTHON + - RUBY + - RUST + - SCALA + - SWIFT + - TERRAFORM + - TYPESCRIPT + - UNKNOWN + example: PYTHON + type: string + x-enum-varnames: + - BRIGHTSCRIPT + - C + - C_PLUS_PLUS + - C_SHARP + - CLOJURE + - DOT_NET + - ELIXIR + - ERLANG + - GO + - GROOVY + - HASKELL + - HCL + - JAVA + - JAVASCRIPT + - JVM + - KOTLIN + - OBJECTIVE_C + - PERL + - PHP + - PYTHON + - RUBY + - RUST + - SCALA + - SWIFT + - TERRAFORM + - TYPESCRIPT + - UNKNOWN + IssuePlatform: + description: Platform associated with the issue. + enum: + - ANDROID + - BACKEND + - BROWSER + - FLUTTER + - IOS + - REACT_NATIVE + - ROKU + - UNKNOWN + example: BACKEND + type: string + x-enum-varnames: + - ANDROID + - BACKEND + - BROWSER + - FLUTTER + - IOS + - REACT_NATIVE + - ROKU + - UNKNOWN + IssueReference: + description: The issue the search result corresponds to. + properties: + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + type: + $ref: '#/components/schemas/IssueType' + required: + - id + - type + type: object + IssueRelationships: + description: Relationship between the issue and an assignee, case and/or teams. + properties: + assignee: + $ref: '#/components/schemas/IssueAssigneeRelationship' + case: + $ref: '#/components/schemas/IssueCaseRelationship' + team_owners: + $ref: '#/components/schemas/IssueTeamOwnersRelationship' + type: object + IssueResponse: + description: Response containing error tracking issue data. + properties: + data: + $ref: '#/components/schemas/Issue' + included: + description: Array of resources related to the issue. + items: + $ref: '#/components/schemas/IssueIncluded' + type: array + type: object + IssueState: + description: State of the issue + enum: + - OPEN + - ACKNOWLEDGED + - RESOLVED + - IGNORED + - EXCLUDED + example: RESOLVED + type: string + x-enum-varnames: + - OPEN + - ACKNOWLEDGED + - RESOLVED + - IGNORED + - EXCLUDED + IssueTeam: + description: A team that owns an issue. + properties: + attributes: + $ref: '#/components/schemas/IssueTeamAttributes' + id: + description: Team identifier. + example: 221b0179-6447-4d03-91c3-3ca98bf60e8a + type: string + type: + $ref: '#/components/schemas/IssueTeamType' + required: + - id + - type + - attributes + type: object + IssueTeamAttributes: + description: Object containing the information of a team. + properties: + handle: + description: The team's identifier. + example: team-handle + type: string + name: + description: The name of the team. + example: Team Name + type: string + summary: + description: A brief summary of the team, derived from its description. + example: This is a team. + type: string + type: object + IssueTeamOwnersRelationship: + description: Relationship between the issue and teams. + properties: + data: + description: Array of teams that are owners of the issue. + items: + $ref: '#/components/schemas/IssueTeamReference' + type: array + required: + - data + type: object + IssueTeamReference: + description: A team that owns the issue. + properties: + id: + description: Team identifier. + example: 221b0179-6447-4d03-91c3-3ca98bf60e8a + type: string + type: + $ref: '#/components/schemas/IssueTeamType' + required: + - id + - type + type: object + IssueTeamType: + description: Type of the object. + enum: + - team + example: team + type: string + x-enum-varnames: + - TEAM + IssueType: + description: Type of the object. + enum: + - issue + example: issue + type: string + x-enum-varnames: + - ISSUE + IssueUpdateAssigneeRequest: + description: Update issue assignee request payload. + properties: + data: + $ref: '#/components/schemas/IssueUpdateAssigneeRequestData' + required: + - data + type: object + IssueUpdateAssigneeRequestData: + description: Update issue assignee request. + properties: + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 + type: string + type: + $ref: '#/components/schemas/IssueUpdateAssigneeRequestDataType' + required: + - id + - type + type: object + IssueUpdateAssigneeRequestDataType: + description: Type of the object. + enum: + - assignee + example: assignee + type: string + x-enum-varnames: + - ASSIGNEE + IssueUpdateStateRequest: + description: Update issue state request payload. + properties: + data: + $ref: '#/components/schemas/IssueUpdateStateRequestData' + required: + - data + type: object + IssueUpdateStateRequestData: + description: Update issue state request. + properties: + attributes: + $ref: '#/components/schemas/IssueUpdateStateRequestDataAttributes' + id: + description: Issue identifier. + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + type: + $ref: '#/components/schemas/IssueUpdateStateRequestDataType' + required: + - id + - type + - attributes + type: object + IssueUpdateStateRequestDataAttributes: + description: Object describing an issue state update request. + properties: + state: + $ref: '#/components/schemas/IssueState' + required: + - state + type: object + IssueUpdateStateRequestDataType: + description: Type of the object. + enum: + - error_tracking_issue + example: error_tracking_issue + type: string + x-enum-varnames: + - ERROR_TRACKING_ISSUE + IssueUser: + description: The user to whom the issue is assigned. + properties: + attributes: + $ref: '#/components/schemas/IssueUserAttributes' + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 + type: string + type: + $ref: '#/components/schemas/IssueUserType' + required: + - id + - type + - attributes + type: object + IssueUserAttributes: + description: Object containing the information of a user. + properties: + email: + description: Email of the user. + example: user@company.com + type: string + handle: + description: Handle of the user. + example: User Handle + type: string + name: + description: Name of the user. + example: User Name + type: string + type: object + IssueUserReference: + description: The user the issue is assigned to. + properties: + id: + description: User identifier. + example: 87cb11a0-278c-440a-99fe-701223c80296 + type: string + type: + $ref: '#/components/schemas/IssueUserType' + required: + - id + - type + type: object + IssueUserType: + description: Type of the object + enum: + - user + example: user + type: string + x-enum-varnames: + - USER + IssuesSearchRequest: + description: Search issues request payload. + properties: + data: + $ref: '#/components/schemas/IssuesSearchRequestData' + required: + - data + type: object + IssuesSearchRequestData: + description: Search issues request. + properties: + attributes: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributes' + type: + $ref: '#/components/schemas/IssuesSearchRequestDataType' + required: + - type + - attributes + type: object + IssuesSearchRequestDataAttributes: + description: Object describing a search issue request. + properties: + from: + description: Start date (inclusive) of the query in milliseconds since the + Unix epoch. + example: 1671612804000 + format: int64 + type: integer + order_by: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesOrderBy' + persona: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesPersona' + query: + description: Search query following the event search syntax. + example: service:orders-* AND @language:go + type: string + to: + description: End date (exclusive) of the query in milliseconds since the + Unix epoch. + example: 1671620004000 + format: int64 + type: integer + track: + $ref: '#/components/schemas/IssuesSearchRequestDataAttributesTrack' + required: + - query + - from + - to + type: object + IssuesSearchRequestDataAttributesOrderBy: + description: The attribute to sort the search results by. + enum: + - TOTAL_COUNT + - FIRST_SEEN + - IMPACTED_SESSIONS + - PRIORITY + example: IMPACTED_SESSIONS + type: string + x-enum-varnames: + - TOTAL_COUNT + - FIRST_SEEN + - IMPACTED_SESSIONS + - PRIORITY + IssuesSearchRequestDataAttributesPersona: + description: Persona for the search. Either track(s) or persona(s) must be specified. + enum: + - all + - browser + - mobile + - backend + example: backend + type: string + x-enum-varnames: + - ALL + - BROWSER + - MOBILE + - BACKEND + IssuesSearchRequestDataAttributesTrack: + description: Track of the events to query. Either track(s) or persona(s) must + be specified. + enum: + - trace + - logs + - rum + example: trace + type: string + x-enum-varnames: + - TRACE + - LOGS + - RUM + IssuesSearchRequestDataType: + description: Type of the object. + enum: + - search_request + example: search_request + type: string + x-enum-varnames: + - SEARCH_REQUEST + IssuesSearchResponse: + description: Search issues response payload. + properties: + data: + description: Array of results matching the search query. + items: + $ref: '#/components/schemas/IssuesSearchResult' + type: array + included: + description: Array of resources related to the search results. + items: + $ref: '#/components/schemas/IssuesSearchResultIncluded' + type: array + type: object + IssuesSearchResult: + description: Result matching the search query. + properties: + attributes: + $ref: '#/components/schemas/IssuesSearchResultAttributes' + id: + description: Search result identifier (matches the nested issue's identifier). + example: c1726a66-1f64-11ee-b338-da7ad0900002 + type: string + relationships: + $ref: '#/components/schemas/IssuesSearchResultRelationships' + type: + $ref: '#/components/schemas/IssuesSearchResultType' + required: + - id + - type + - attributes + type: object + IssuesSearchResultAttributes: + description: Object containing the information of a search result. + properties: + impacted_sessions: + description: Count of sessions impacted by the issue over the queried time + window. + example: 12 + format: int64 + type: integer + impacted_users: + description: Count of users impacted by the issue over the queried time + window. + example: 4 + format: int64 + type: integer + total_count: + description: Total count of errors that match the issue over the queried + time window. + example: 82 + format: int64 + type: integer + type: object + IssuesSearchResultIncluded: + description: An array of related resources, returned when the `include` query + parameter is used. + oneOf: + - $ref: '#/components/schemas/Issue' + - $ref: '#/components/schemas/Case' + - $ref: '#/components/schemas/IssueUser' + - $ref: '#/components/schemas/IssueTeam' + IssuesSearchResultIssueRelationship: + description: Relationship between the search result and the corresponding issue. + properties: + data: + $ref: '#/components/schemas/IssueReference' + required: + - data + type: object + IssuesSearchResultRelationships: + description: Relationships between the search result and other resources. + properties: + issue: + $ref: '#/components/schemas/IssuesSearchResultIssueRelationship' + type: object + IssuesSearchResultType: + description: Type of the object. + enum: + - error_tracking_search_result + example: error_tracking_search_result + type: string + x-enum-varnames: + - ERROR_TRACKING_SEARCH_RESULT JSONAPIErrorItem: description: API error response body properties: @@ -36242,6 +36908,20 @@ components: type: string x-enum-varnames: - SCORECARD + SearchIssuesIncludeQueryParameterItem: + description: Relationship object that should be included in the search response. + enum: + - issue + - issue.assignee + - issue.case + - issue.team_owners + example: issue.case + type: string + x-enum-varnames: + - ISSUE + - ISSUE_ASSIGNEE + - ISSUE_CASE + - ISSUE_TEAM_OWNERS SecurityFilter: description: The security filter's properties. properties: @@ -45649,6 +46329,8 @@ components: data_scanner_write: Edit Data Scanner configurations. embeddable_graphs_share: Generate public links to share embeddable graphs externally. + error_tracking_read: Read Error Tracking data. + error_tracking_write: Edit Error Tracking issues. events_read: Read Events data. hosts_read: List hosts and their attributes. incident_notification_settings_write: Configure Incidents Notification @@ -52026,6 +52708,158 @@ paths: operator: OR permissions: - monitors_downtime + /api/v2/error-tracking/issues/search: + post: + description: Search issues endpoint allows you to programmatically search for + issues within your organization. This endpoint returns a list of issues that + match a given search query, following the event search syntax. The search + results are limited to a maximum of 100 issues. + operationId: SearchIssues + parameters: + - $ref: '#/components/parameters/SearchIssuesIncludeQueryParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IssuesSearchRequest' + description: Search issues request payload. + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IssuesSearchResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - error_tracking_read + summary: Search error tracking issues + tags: + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}: + get: + description: Retrieve the full details for a specific error tracking issue, + including attributes and relationships. + operationId: GetIssue + parameters: + - $ref: '#/components/parameters/IssueIDPathParameter' + - $ref: '#/components/parameters/GetIssueIncludeQueryParameter' + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IssueResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - error_tracking_read + summary: Get the details of an error tracking issue + tags: + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}/assignee: + put: + description: Update the assignee of an issue by `issue_id`. + operationId: UpdateIssueAssignee + parameters: + - $ref: '#/components/parameters/IssueIDPathParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IssueUpdateAssigneeRequest' + description: Update issue assignee request payload. + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IssueResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - error_tracking_read + - error_tracking_write + - cases_read + - cases_write + summary: Update the assignee of an issue + tags: + - Error Tracking + /api/v2/error-tracking/issues/{issue_id}/state: + put: + description: Update the state of an issue by `issue_id`. + operationId: UpdateIssueState + parameters: + - $ref: '#/components/parameters/IssueIDPathParameter' + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/IssueUpdateStateRequest' + description: Update issue state request payload. + required: true + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/IssueResponse' + description: OK + '400': + $ref: '#/components/responses/BadRequestResponse' + '401': + $ref: '#/components/responses/UnauthorizedResponse' + '403': + $ref: '#/components/responses/ForbiddenResponse' + '404': + $ref: '#/components/responses/NotFoundResponse' + '429': + $ref: '#/components/responses/TooManyRequestsResponse' + security: + - apiKeyAuth: [] + appKeyAuth: [] + - AuthZ: + - error_tracking_read + - error_tracking_write + summary: Update the state of an issue + tags: + - Error Tracking /api/v2/events: get: description: 'List endpoint returns events that match an events search query. @@ -69053,6 +69887,9 @@ tags: end times, prevent all alerting related to specified Datadog tags.' name: Downtimes +- description: View and manage issues within Error Tracking. See the [Error Tracking + page](https://docs.datadoghq.com/error_tracking/) for more information. + name: Error Tracking - description: 'The Event Management API allows you to programmatically post events to the Events Explorer and fetch events from the Events Explorer. See the [Event Management page](https://docs.datadoghq.com/service_management/events/) for more diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/frozen.json new file mode 100644 index 000000000000..263e966293ef --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:32.951Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/recording.har b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/recording.har new file mode 100644 index 000000000000..43e9d030751e --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Bad-Request-response_3233709570/recording.har @@ -0,0 +1,57 @@ +{ + "log": { + "_recordingName": "Error Tracking/Get the details of an error tracking issue returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "ae804684c1e890b7a01f04a8481e9668", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/%7Bissue_id%7D" + }, + "response": { + "bodySize": 86, + "content": { + "mimeType": "application/vnd.api+json", + "size": 86, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"issue id is not an uuid\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-08-27T15:33:33.186Z", + "time": 77 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/frozen.json new file mode 100644 index 000000000000..b490852e4681 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:33.272Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/recording.har b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/recording.har new file mode 100644 index 000000000000..6232a9bbfb28 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-Not-Found-response_1194989905/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Error Tracking/Get the details of an error tracking issue returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "1643802611683bfa3763949697b01fe9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012813000,\"query\":\"service:synthetics-browser\",\"to\":1756308813000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:33.276Z", + "time": 223 + }, + { + "_id": "2f974d4557e6e947cf7c58467c80daf3", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 547, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/67d80aa3-36ff-44b9-a694-c501a7591737" + }, + "response": { + "bodySize": 76, + "content": { + "mimeType": "application/vnd.api+json", + "size": 76, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"issue not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-08-27T15:33:33.505Z", + "time": 64 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/frozen.json new file mode 100644 index 000000000000..e5399ec9282c --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:33.577Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/recording.har b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/recording.har new file mode 100644 index 000000000000..14cef59c1ccc --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Get-the-details-of-an-error-tracking-issue-returns-OK-response_4094044160/recording.har @@ -0,0 +1,110 @@ +{ + "log": { + "_recordingName": "Error Tracking/Get the details of an error tracking issue returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "1643802611683bfa3763949697b01fe9", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012813000,\"query\":\"service:synthetics-browser\",\"to\":1756308813000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:33.580Z", + "time": 282 + }, + { + "_id": "88486635766f155f79ad653f5ba278e7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + } + ], + "headersSize": 547, + "httpVersion": "HTTP/1.1", + "method": "GET", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/5f8ebd5c-6dd9-11f0-8a28-da7ad0900002" + }, + "response": { + "bodySize": 477, + "content": { + "mimeType": "application/vnd.api+json", + "size": 477, + "text": "{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\",\"attributes\":{\"error_message\":\"HTTP error\",\"error_type\":\"Error\",\"file_path\":\"\",\"first_seen\":1753944082256,\"first_seen_version\":\"\",\"function_name\":\"\",\"is_crash\":false,\"languages\":[\"JAVASCRIPT\"],\"last_seen\":1755686259367,\"last_seen_version\":\"\",\"platform\":\"BROWSER\",\"service\":\"synthetics-browser\",\"state\":\"RESOLVED\"},\"relationships\":{\"case\":{\"data\":{\"id\":\"f1b32a47-621d-4c57-9642-045aeb83891e\",\"type\":\"case\"}}}}}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:33.868Z", + "time": 65 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/frozen.json new file mode 100644 index 000000000000..8d2a4d707eba --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:33.940Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/recording.har b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/recording.har new file mode 100644 index 000000000000..15ac7ade9555 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-Bad-Request-response_3779821528/recording.har @@ -0,0 +1,62 @@ +{ + "log": { + "_recordingName": "Error Tracking/Search error tracking issues returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "b602e79ae54fdfcbffc38098de634c78", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 573, + "httpVersion": "HTTP/1.1", + "method": "POST", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 91, + "content": { + "mimeType": "application/vnd.api+json", + "size": 91, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"unexpected end of JSON input\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-08-27T15:33:33.942Z", + "time": 50 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/frozen.json new file mode 100644 index 000000000000..dabfb6c5a630 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:33.997Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/recording.har b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/recording.har new file mode 100644 index 000000000000..8aec4ea00b10 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Search-error-tracking-issues-returns-OK-response_3923349494/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Error Tracking/Search error tracking issues returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f46fc451b537346f3e778e7e2bc6d0c7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 149, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1671612804000,\"query\":\"service:orders-* AND @language:go\",\"to\":1671620004000,\"track\":\"trace\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 11, + "content": { + "mimeType": "application/vnd.api+json", + "size": 11, + "text": "{\"data\":[]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:33.999Z", + "time": 71 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/frozen.json new file mode 100644 index 000000000000..cbc3158e0479 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:34.076Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/recording.har new file mode 100644 index 000000000000..1e79e316c387 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Bad-Request-response_1607077003/recording.har @@ -0,0 +1,115 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the assignee of an issue returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "c6544eafd97cca468dbc3ab382c0f9d1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012814000,\"query\":\"service:synthetics-browser\",\"to\":1756308814000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:34.302Z", + "time": 248 + }, + { + "_id": "74f6449356c332daede9914a808e8185", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 0, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 618, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/5f8ebd5c-6dd9-11f0-8a28-da7ad0900002/assignee" + }, + "response": { + "bodySize": 91, + "content": { + "mimeType": "application/vnd.api+json", + "size": 91, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"unexpected end of JSON input\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-08-27T15:33:34.555Z", + "time": 62 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/frozen.json new file mode 100644 index 000000000000..6fe088287465 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:34.622Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/recording.har new file mode 100644 index 000000000000..9d52843c35c7 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-Not-Found-response_2837726668/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the assignee of an issue returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "f2d10dd7fea280fc938a31ddb708af8c", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 72, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 619, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"assignee\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/67d80aa3-36ff-44b9-a694-c501a7591737/assignee" + }, + "response": { + "bodySize": 76, + "content": { + "mimeType": "application/vnd.api+json", + "size": 76, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"issue not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-08-27T15:33:34.625Z", + "time": 58 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/frozen.json new file mode 100644 index 000000000000..2923e2dd57e6 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:34.689Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/recording.har new file mode 100644 index 000000000000..74e2d001c679 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-assignee-of-an-issue-returns-OK-response_1891433599/recording.har @@ -0,0 +1,120 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the assignee of an issue returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "c6544eafd97cca468dbc3ab382c0f9d1", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 574, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012814000,\"query\":\"service:synthetics-browser\",\"to\":1756308814000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:34.692Z", + "time": 210 + }, + { + "_id": "489740da6e9ffd6a502a2571355215bc", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 72, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 618, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"assignee\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/5f8ebd5c-6dd9-11f0-8a28-da7ad0900002/assignee" + }, + "response": { + "bodySize": 1554, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1554, + "text": "{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\",\"attributes\":{\"error_message\":\"HTTP error\",\"error_type\":\"Error\",\"file_path\":\"\",\"first_seen\":1753944082256,\"first_seen_version\":\"\",\"function_name\":\"\",\"is_crash\":false,\"languages\":[\"JAVASCRIPT\"],\"last_seen\":1755686259367,\"last_seen_version\":\"\",\"platform\":\"BROWSER\",\"service\":\"synthetics-browser\",\"state\":\"RESOLVED\"},\"relationships\":{\"assignee\":{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\"}},\"case\":{\"data\":{\"id\":\"f1b32a47-621d-4c57-9642-045aeb83891e\",\"type\":\"case\"}}}},\"included\":[{\"id\":\"f1b32a47-621d-4c57-9642-045aeb83891e\",\"type\":\"case\",\"attributes\":{\"closed_at\":\"2025-08-21T17:21:13.882831Z\",\"created_at\":\"2025-08-21T17:20:22.807979Z\",\"creation_source\":\"ERROR_TRACKING\",\"description\":\"\",\"insights\":[{\"type\":\"ERROR_TRACKING\",\"ref\":\"/error-tracking?issueId=5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"resource_id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\"}],\"key\":\"ET-1\",\"modified_at\":\"2025-08-21T17:21:13.882831Z\",\"priority\":\"NOT_DEFINED\",\"status\":\"CLOSED\",\"title\":\"Error: HTTP error\",\"type\":\"ERROR_TRACKING_ISSUE\"},\"relationships\":{\"assignee\":{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\"}},\"created_by\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"user\"}},\"modified_by\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"user\"}},\"project\":{\"data\":{\"id\":\"384521ba-dc5f-481f-942d-15bd48428029\",\"type\":\"project\"}}}},{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\",\"attributes\":{\"email\":\"\",\"handle\":\"\",\"name\":\"\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:34.908Z", + "time": 115 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/frozen.json new file mode 100644 index 000000000000..95d664201a71 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:35.029Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/recording.har new file mode 100644 index 000000000000..baeae25d35f3 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Bad-Request-response_3010530991/recording.har @@ -0,0 +1,120 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the state of an issue returns \"Bad Request\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a2c05b3bbab5013b200d7dc622c1b35e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012815000,\"query\":\"service:synthetics-browser\",\"to\":1756308815000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:35.031Z", + "time": 242 + }, + { + "_id": "a3a29d1b0e261d5c93c7a945a88390d7", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 123, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"state\":\"invalid-state\"},\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_issue\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/5f8ebd5c-6dd9-11f0-8a28-da7ad0900002/state" + }, + "response": { + "bodySize": 115, + "content": { + "mimeType": "application/vnd.api+json", + "size": 115, + "text": "{\"errors\":[{\"status\":\"400\",\"title\":\"Bad Request\",\"detail\":\"invalid json value for IssueState: \\\"invalid-state\\\"\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 400, + "statusText": "Bad Request" + }, + "startedDateTime": "2025-08-27T15:33:35.279Z", + "time": 88 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/frozen.json new file mode 100644 index 000000000000..a9558619e3b0 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:35.373Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/recording.har new file mode 100644 index 000000000000..e78e57eff15c --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-Not-Found-response_101445672/recording.har @@ -0,0 +1,67 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the state of an issue returns \"Not Found\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "866bc50f69f9077a3f970b6bf60e2186", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 118, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"state\":\"resolved\"},\"id\":\"67d80aa3-36ff-44b9-a694-c501a7591737\",\"type\":\"error_tracking_issue\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/67d80aa3-36ff-44b9-a694-c501a7591737/state" + }, + "response": { + "bodySize": 76, + "content": { + "mimeType": "application/vnd.api+json", + "size": 76, + "text": "{\"errors\":[{\"status\":\"404\",\"title\":\"Not Found\",\"detail\":\"issue not found\"}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 524, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 404, + "statusText": "Not Found" + }, + "startedDateTime": "2025-08-27T15:33:35.376Z", + "time": 50 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/frozen.json b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/frozen.json new file mode 100644 index 000000000000..00a84aa1729b --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/frozen.json @@ -0,0 +1 @@ +"2025-08-27T15:33:35.431Z" diff --git a/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/recording.har b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/recording.har new file mode 100644 index 000000000000..f933e637c6e0 --- /dev/null +++ b/cassettes/v2/Error-Tracking_4216468318/Update-the-state-of-an-issue-returns-OK-response_176084187/recording.har @@ -0,0 +1,120 @@ +{ + "log": { + "_recordingName": "Error Tracking/Update the state of an issue returns \"OK\" response", + "creator": { + "comment": "persister:fs", + "name": "Polly.JS", + "version": "6.0.5" + }, + "entries": [ + { + "_id": "a2c05b3bbab5013b200d7dc622c1b35e", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 140, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 575, + "httpVersion": "HTTP/1.1", + "method": "POST", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"from\":1755012815000,\"query\":\"service:synthetics-browser\",\"to\":1756308815000,\"track\":\"rum\"},\"type\":\"search_request\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/search" + }, + "response": { + "bodySize": 243, + "content": { + "mimeType": "application/vnd.api+json", + "size": 243, + "text": "{\"data\":[{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_search_result\",\"attributes\":{\"impacted_sessions\":1,\"total_count\":1},\"relationships\":{\"issue\":{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\"}}}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 525, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:35.437Z", + "time": 203 + }, + { + "_id": "1e4178cc8a6d69111332b52fd96657b2", + "_order": 0, + "cache": {}, + "request": { + "bodySize": 118, + "cookies": [], + "headers": [ + { + "_fromType": "array", + "name": "accept", + "value": "application/json" + }, + { + "_fromType": "array", + "name": "content-type", + "value": "application/json" + } + ], + "headersSize": 614, + "httpVersion": "HTTP/1.1", + "method": "PUT", + "postData": { + "mimeType": "application/json", + "params": [], + "text": "{\"data\":{\"attributes\":{\"state\":\"RESOLVED\"},\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"error_tracking_issue\"}}" + }, + "queryString": [], + "url": "https://api.datadoghq.com/api/v2/error-tracking/issues/5f8ebd5c-6dd9-11f0-8a28-da7ad0900002/state" + }, + "response": { + "bodySize": 1554, + "content": { + "mimeType": "application/vnd.api+json", + "size": 1554, + "text": "{\"data\":{\"id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"type\":\"issue\",\"attributes\":{\"error_message\":\"HTTP error\",\"error_type\":\"Error\",\"file_path\":\"\",\"first_seen\":1753944082256,\"first_seen_version\":\"\",\"function_name\":\"\",\"is_crash\":false,\"languages\":[\"JAVASCRIPT\"],\"last_seen\":1755686259367,\"last_seen_version\":\"\",\"platform\":\"BROWSER\",\"service\":\"synthetics-browser\",\"state\":\"RESOLVED\"},\"relationships\":{\"assignee\":{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\"}},\"case\":{\"data\":{\"id\":\"f1b32a47-621d-4c57-9642-045aeb83891e\",\"type\":\"case\"}}}},\"included\":[{\"id\":\"f1b32a47-621d-4c57-9642-045aeb83891e\",\"type\":\"case\",\"attributes\":{\"closed_at\":\"2025-08-21T17:21:13.882831Z\",\"created_at\":\"2025-08-21T17:20:22.807979Z\",\"creation_source\":\"ERROR_TRACKING\",\"description\":\"\",\"insights\":[{\"type\":\"ERROR_TRACKING\",\"ref\":\"/error-tracking?issueId=5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\",\"resource_id\":\"5f8ebd5c-6dd9-11f0-8a28-da7ad0900002\"}],\"key\":\"ET-1\",\"modified_at\":\"2025-08-21T17:21:13.882831Z\",\"priority\":\"NOT_DEFINED\",\"status\":\"CLOSED\",\"title\":\"Error: HTTP error\",\"type\":\"ERROR_TRACKING_ISSUE\"},\"relationships\":{\"assignee\":{\"data\":{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\"}},\"created_by\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"user\"}},\"modified_by\":{\"data\":{\"id\":\"3ad549bf-eba0-11e9-a77a-0705486660d0\",\"type\":\"user\"}},\"project\":{\"data\":{\"id\":\"384521ba-dc5f-481f-942d-15bd48428029\",\"type\":\"project\"}}}},{\"id\":\"87cb11a0-278c-440a-99fe-701223c80296\",\"type\":\"user\",\"attributes\":{\"email\":\"\",\"handle\":\"\",\"name\":\"\"}}]}" + }, + "cookies": [], + "headers": [ + { + "name": "content-type", + "value": "application/vnd.api+json" + } + ], + "headersSize": 526, + "httpVersion": "HTTP/1.1", + "redirectURL": "", + "status": 200, + "statusText": "OK" + }, + "startedDateTime": "2025-08-27T15:33:35.646Z", + "time": 76 + } + ], + "pages": [], + "version": "1.2" + } +} diff --git a/examples/v2/error-tracking/GetIssue.ts b/examples/v2/error-tracking/GetIssue.ts new file mode 100644 index 000000000000..c72974d6a360 --- /dev/null +++ b/examples/v2/error-tracking/GetIssue.ts @@ -0,0 +1,24 @@ +/** + * Get the details of an error tracking issue returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ErrorTrackingApi(configuration); + +// there is a valid "issue" in the system +const ISSUE_ID = process.env.ISSUE_ID as string; + +const params: v2.ErrorTrackingApiGetIssueRequest = { + issueId: ISSUE_ID, +}; + +apiInstance + .getIssue(params) + .then((data: v2.IssueResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/error-tracking/SearchIssues.ts b/examples/v2/error-tracking/SearchIssues.ts new file mode 100644 index 000000000000..af8d9fc85464 --- /dev/null +++ b/examples/v2/error-tracking/SearchIssues.ts @@ -0,0 +1,31 @@ +/** + * Search error tracking issues returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ErrorTrackingApi(configuration); + +const params: v2.ErrorTrackingApiSearchIssuesRequest = { + body: { + data: { + attributes: { + query: "service:orders-* AND @language:go", + from: 1671612804000, + to: 1671620004000, + track: "trace", + }, + type: "search_request", + }, + }, +}; + +apiInstance + .searchIssues(params) + .then((data: v2.IssuesSearchResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/error-tracking/UpdateIssueAssignee.ts b/examples/v2/error-tracking/UpdateIssueAssignee.ts new file mode 100644 index 000000000000..002315ff95d4 --- /dev/null +++ b/examples/v2/error-tracking/UpdateIssueAssignee.ts @@ -0,0 +1,30 @@ +/** + * Update the assignee of an issue returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ErrorTrackingApi(configuration); + +// there is a valid "issue" in the system +const ISSUE_ID = process.env.ISSUE_ID as string; + +const params: v2.ErrorTrackingApiUpdateIssueAssigneeRequest = { + body: { + data: { + id: "87cb11a0-278c-440a-99fe-701223c80296", + type: "assignee", + }, + }, + issueId: ISSUE_ID, +}; + +apiInstance + .updateIssueAssignee(params) + .then((data: v2.IssueResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/examples/v2/error-tracking/UpdateIssueState.ts b/examples/v2/error-tracking/UpdateIssueState.ts new file mode 100644 index 000000000000..d2556f11f72b --- /dev/null +++ b/examples/v2/error-tracking/UpdateIssueState.ts @@ -0,0 +1,33 @@ +/** + * Update the state of an issue returns "OK" response + */ + +import { client, v2 } from "@datadog/datadog-api-client"; + +const configuration = client.createConfiguration(); +const apiInstance = new v2.ErrorTrackingApi(configuration); + +// there is a valid "issue" in the system +const ISSUE_ID = process.env.ISSUE_ID as string; + +const params: v2.ErrorTrackingApiUpdateIssueStateRequest = { + body: { + data: { + attributes: { + state: "RESOLVED", + }, + id: ISSUE_ID, + type: "error_tracking_issue", + }, + }, + issueId: ISSUE_ID, +}; + +apiInstance + .updateIssueState(params) + .then((data: v2.IssueResponse) => { + console.log( + "API called successfully. Returned data: " + JSON.stringify(data) + ); + }) + .catch((error: any) => console.error(error)); diff --git a/features/support/scenarios_model_mapping.ts b/features/support/scenarios_model_mapping.ts index 846c1de183fd..d776a3edf362 100644 --- a/features/support/scenarios_model_mapping.ts +++ b/features/support/scenarios_model_mapping.ts @@ -4799,6 +4799,50 @@ export const ScenariosModelMappings: {[key: string]: {[key: string]: any}} = { }, "operationResponseType": "MonitorDowntimeMatchResponse", }, + "v2.SearchIssues": { + "include": { + "type": "Array", + "format": "", + }, + "body": { + "type": "IssuesSearchRequest", + "format": "", + }, + "operationResponseType": "IssuesSearchResponse", + }, + "v2.GetIssue": { + "issueId": { + "type": "string", + "format": "", + }, + "include": { + "type": "Array", + "format": "", + }, + "operationResponseType": "IssueResponse", + }, + "v2.UpdateIssueAssignee": { + "issueId": { + "type": "string", + "format": "", + }, + "body": { + "type": "IssueUpdateAssigneeRequest", + "format": "", + }, + "operationResponseType": "IssueResponse", + }, + "v2.UpdateIssueState": { + "issueId": { + "type": "string", + "format": "", + }, + "body": { + "type": "IssueUpdateStateRequest", + "format": "", + }, + "operationResponseType": "IssueResponse", + }, "v2.ListEvents": { "filterQuery": { "type": "string", diff --git a/features/v2/error_tracking.feature b/features/v2/error_tracking.feature new file mode 100644 index 000000000000..a9bd8edad19b --- /dev/null +++ b/features/v2/error_tracking.feature @@ -0,0 +1,97 @@ +@endpoint(error-tracking) @endpoint(error-tracking-v2) +Feature: Error Tracking + View and manage issues within Error Tracking. See the [Error Tracking + page](https://docs.datadoghq.com/error_tracking/) for more information. + + Background: + Given a valid "apiKeyAuth" key in the system + And a valid "appKeyAuth" key in the system + And an instance of "ErrorTracking" API + + @team:DataDog/error-tracking + Scenario: Get the details of an error tracking issue returns "Bad Request" response + Given new "GetIssue" request + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/error-tracking + Scenario: Get the details of an error tracking issue returns "Not Found" response + Given new "GetIssue" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/error-tracking + Scenario: Get the details of an error tracking issue returns "OK" response + Given new "GetIssue" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter from "issue.id" + When the request is sent + Then the response status is 200 OK + And the response "data.id" is equal to "{{ issue.id }}" + + @team:DataDog/error-tracking + Scenario: Search error tracking issues returns "Bad Request" response + Given new "SearchIssues" request + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/error-tracking + Scenario: Search error tracking issues returns "OK" response + Given new "SearchIssues" request + And body with value {"data": {"attributes": {"query": "service:orders-* AND @language:go", "from": 1671612804000, "to": 1671620004000, "track": "trace"}, "type": "search_request"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/error-tracking + Scenario: Update the assignee of an issue returns "Bad Request" response + Given new "UpdateIssueAssignee" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter from "issue.id" + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/error-tracking + Scenario: Update the assignee of an issue returns "Not Found" response + Given new "UpdateIssueAssignee" request + And request contains "issue_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" + And body with value {"data": {"id": "87cb11a0-278c-440a-99fe-701223c80296", "type": "assignee"}} + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/error-tracking + Scenario: Update the assignee of an issue returns "OK" response + Given new "UpdateIssueAssignee" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter from "issue.id" + And body with value {"data": {"id": "87cb11a0-278c-440a-99fe-701223c80296", "type": "assignee"}} + When the request is sent + Then the response status is 200 OK + + @team:DataDog/error-tracking + Scenario: Update the state of an issue returns "Bad Request" response + Given new "UpdateIssueState" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter from "issue.id" + And body with value {"data": {"attributes": {"state": "invalid-state"}, "id": "{{ issue.id }}", "type": "error_tracking_issue"}} + When the request is sent + Then the response status is 400 Bad Request + + @team:DataDog/error-tracking + Scenario: Update the state of an issue returns "Not Found" response + Given new "UpdateIssueState" request + And request contains "issue_id" parameter with value "67d80aa3-36ff-44b9-a694-c501a7591737" + And body with value {"data": {"attributes": {"state": "resolved"}, "id": "67d80aa3-36ff-44b9-a694-c501a7591737", "type": "error_tracking_issue"}} + When the request is sent + Then the response status is 404 Not Found + + @team:DataDog/error-tracking + Scenario: Update the state of an issue returns "OK" response + Given new "UpdateIssueState" request + And there is a valid "issue" in the system + And request contains "issue_id" parameter from "issue.id" + And body with value {"data": {"attributes": {"state": "RESOLVED"}, "id": "{{ issue.id }}", "type": "error_tracking_issue"}} + When the request is sent + Then the response status is 200 OK + And the response "data.attributes.state" is equal to "RESOLVED" diff --git a/features/v2/given.json b/features/v2/given.json index b6097093658a..64f970e15afb 100644 --- a/features/v2/given.json +++ b/features/v2/given.json @@ -217,6 +217,19 @@ "tag": "Downtimes", "operationId": "CreateDowntime" }, + { + "parameters": [ + { + "name": "body", + "value": "{\n \"data\": {\n \"attributes\": {\n \"query\": \"service:synthetics-browser\",\n \"from\": {{ timestamp(\"now - 15d\") }}000,\n \"to\": {{ timestamp(\"now\") }}000,\n \"track\": \"rum\"\n },\n \"type\": \"search_request\"\n }\n}" + } + ], + "source": "data[0]", + "step": "there is a valid \"issue\" in the system", + "key": "issue", + "tag": "Error Tracking", + "operationId": "SearchIssues" + }, { "parameters": [ { diff --git a/features/v2/undo.json b/features/v2/undo.json index 9878d7a46785..63425dae9a92 100644 --- a/features/v2/undo.json +++ b/features/v2/undo.json @@ -1016,6 +1016,30 @@ "type": "idempotent" } }, + "SearchIssues": { + "tag": "Error Tracking", + "undo": { + "type": "safe" + } + }, + "GetIssue": { + "tag": "Error Tracking", + "undo": { + "type": "safe" + } + }, + "UpdateIssueAssignee": { + "tag": "Error Tracking", + "undo": { + "type": "idempotent" + } + }, + "UpdateIssueState": { + "tag": "Error Tracking", + "undo": { + "type": "idempotent" + } + }, "ListEvents": { "tag": "Events", "undo": { diff --git a/packages/datadog-api-client-v2/apis/ErrorTrackingApi.ts b/packages/datadog-api-client-v2/apis/ErrorTrackingApi.ts new file mode 100644 index 000000000000..14fc51996c06 --- /dev/null +++ b/packages/datadog-api-client-v2/apis/ErrorTrackingApi.ts @@ -0,0 +1,649 @@ +import { + BaseAPIRequestFactory, + RequiredError, +} from "../../datadog-api-client-common/baseapi"; +import { + Configuration, + applySecurityAuthentication, +} from "../../datadog-api-client-common/configuration"; +import { + RequestContext, + HttpMethod, + ResponseContext, +} from "../../datadog-api-client-common/http/http"; + +import { logger } from "../../../logger"; +import { ObjectSerializer } from "../models/ObjectSerializer"; +import { ApiException } from "../../datadog-api-client-common/exception"; + +import { APIErrorResponse } from "../models/APIErrorResponse"; +import { GetIssueIncludeQueryParameterItem } from "../models/GetIssueIncludeQueryParameterItem"; +import { IssueResponse } from "../models/IssueResponse"; +import { IssuesSearchRequest } from "../models/IssuesSearchRequest"; +import { IssuesSearchResponse } from "../models/IssuesSearchResponse"; +import { IssueUpdateAssigneeRequest } from "../models/IssueUpdateAssigneeRequest"; +import { IssueUpdateStateRequest } from "../models/IssueUpdateStateRequest"; +import { SearchIssuesIncludeQueryParameterItem } from "../models/SearchIssuesIncludeQueryParameterItem"; + +export class ErrorTrackingApiRequestFactory extends BaseAPIRequestFactory { + public async getIssue( + issueId: string, + include?: Array, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'issueId' is not null or undefined + if (issueId === null || issueId === undefined) { + throw new RequiredError("issueId", "getIssue"); + } + + // Path Params + const localVarPath = "/api/v2/error-tracking/issues/{issue_id}".replace( + "{issue_id}", + encodeURIComponent(String(issueId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ErrorTrackingApi.getIssue") + .makeRequestContext(localVarPath, HttpMethod.GET); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize( + include, + "Array", + "" + ), + "csv" + ); + } + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async searchIssues( + body: IssuesSearchRequest, + include?: Array, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "searchIssues"); + } + + // Path Params + const localVarPath = "/api/v2/error-tracking/issues/search"; + + // Make Request Context + const requestContext = _config + .getServer("v2.ErrorTrackingApi.searchIssues") + .makeRequestContext(localVarPath, HttpMethod.POST); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Query Params + if (include !== undefined) { + requestContext.setQueryParam( + "include", + ObjectSerializer.serialize( + include, + "Array", + "" + ), + "csv" + ); + } + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "IssuesSearchRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateIssueAssignee( + issueId: string, + body: IssueUpdateAssigneeRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'issueId' is not null or undefined + if (issueId === null || issueId === undefined) { + throw new RequiredError("issueId", "updateIssueAssignee"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateIssueAssignee"); + } + + // Path Params + const localVarPath = + "/api/v2/error-tracking/issues/{issue_id}/assignee".replace( + "{issue_id}", + encodeURIComponent(String(issueId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ErrorTrackingApi.updateIssueAssignee") + .makeRequestContext(localVarPath, HttpMethod.PUT); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "IssueUpdateAssigneeRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } + + public async updateIssueState( + issueId: string, + body: IssueUpdateStateRequest, + _options?: Configuration + ): Promise { + const _config = _options || this.configuration; + + // verify required parameter 'issueId' is not null or undefined + if (issueId === null || issueId === undefined) { + throw new RequiredError("issueId", "updateIssueState"); + } + + // verify required parameter 'body' is not null or undefined + if (body === null || body === undefined) { + throw new RequiredError("body", "updateIssueState"); + } + + // Path Params + const localVarPath = + "/api/v2/error-tracking/issues/{issue_id}/state".replace( + "{issue_id}", + encodeURIComponent(String(issueId)) + ); + + // Make Request Context + const requestContext = _config + .getServer("v2.ErrorTrackingApi.updateIssueState") + .makeRequestContext(localVarPath, HttpMethod.PUT); + requestContext.setHeaderParam("Accept", "application/json"); + requestContext.setHttpConfig(_config.httpConfig); + + // Body Params + const contentType = ObjectSerializer.getPreferredMediaType([ + "application/json", + ]); + requestContext.setHeaderParam("Content-Type", contentType); + const serializedBody = ObjectSerializer.stringify( + ObjectSerializer.serialize(body, "IssueUpdateStateRequest", ""), + contentType + ); + requestContext.setBody(serializedBody); + + // Apply auth methods + applySecurityAuthentication(_config, requestContext, [ + "apiKeyAuth", + "appKeyAuth", + "AuthZ", + ]); + + return requestContext; + } +} + +export class ErrorTrackingApiResponseProcessor { + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to getIssue + * @throws ApiException if the response code was not in [200, 299] + */ + public async getIssue(response: ResponseContext): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse" + ) as IssueResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse", + "" + ) as IssueResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to searchIssues + * @throws ApiException if the response code was not in [200, 299] + */ + public async searchIssues( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IssuesSearchResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssuesSearchResponse" + ) as IssuesSearchResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IssuesSearchResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssuesSearchResponse", + "" + ) as IssuesSearchResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateIssueAssignee + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateIssueAssignee( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse" + ) as IssueResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse", + "" + ) as IssueResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } + + /** + * Unwraps the actual response sent by the server from the response context and deserializes the response content + * to the expected objects + * + * @params response Response returned by the server for a request to updateIssueState + * @throws ApiException if the response code was not in [200, 299] + */ + public async updateIssueState( + response: ResponseContext + ): Promise { + const contentType = ObjectSerializer.normalizeMediaType( + response.headers["content-type"] + ); + if (response.httpStatusCode === 200) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse" + ) as IssueResponse; + return body; + } + if ( + response.httpStatusCode === 400 || + response.httpStatusCode === 401 || + response.httpStatusCode === 403 || + response.httpStatusCode === 404 || + response.httpStatusCode === 429 + ) { + const bodyText = ObjectSerializer.parse( + await response.body.text(), + contentType + ); + let body: APIErrorResponse; + try { + body = ObjectSerializer.deserialize( + bodyText, + "APIErrorResponse" + ) as APIErrorResponse; + } catch (error) { + logger.debug(`Got error deserializing error: ${error}`); + throw new ApiException( + response.httpStatusCode, + bodyText + ); + } + throw new ApiException(response.httpStatusCode, body); + } + + // Work around for missing responses in specification, e.g. for petstore.yaml + if (response.httpStatusCode >= 200 && response.httpStatusCode <= 299) { + const body: IssueResponse = ObjectSerializer.deserialize( + ObjectSerializer.parse(await response.body.text(), contentType), + "IssueResponse", + "" + ) as IssueResponse; + return body; + } + + const body = (await response.body.text()) || ""; + throw new ApiException( + response.httpStatusCode, + 'Unknown API Status Code!\nBody: "' + body + '"' + ); + } +} + +export interface ErrorTrackingApiGetIssueRequest { + /** + * The identifier of the issue. + * @type string + */ + issueId: string; + /** + * Comma-separated list of relationship objects that should be included in the response. + * @type Array + */ + include?: Array; +} + +export interface ErrorTrackingApiSearchIssuesRequest { + /** + * Search issues request payload. + * @type IssuesSearchRequest + */ + body: IssuesSearchRequest; + /** + * Comma-separated list of relationship objects that should be included in the response. + * @type Array + */ + include?: Array; +} + +export interface ErrorTrackingApiUpdateIssueAssigneeRequest { + /** + * The identifier of the issue. + * @type string + */ + issueId: string; + /** + * Update issue assignee request payload. + * @type IssueUpdateAssigneeRequest + */ + body: IssueUpdateAssigneeRequest; +} + +export interface ErrorTrackingApiUpdateIssueStateRequest { + /** + * The identifier of the issue. + * @type string + */ + issueId: string; + /** + * Update issue state request payload. + * @type IssueUpdateStateRequest + */ + body: IssueUpdateStateRequest; +} + +export class ErrorTrackingApi { + private requestFactory: ErrorTrackingApiRequestFactory; + private responseProcessor: ErrorTrackingApiResponseProcessor; + private configuration: Configuration; + + public constructor( + configuration: Configuration, + requestFactory?: ErrorTrackingApiRequestFactory, + responseProcessor?: ErrorTrackingApiResponseProcessor + ) { + this.configuration = configuration; + this.requestFactory = + requestFactory || new ErrorTrackingApiRequestFactory(configuration); + this.responseProcessor = + responseProcessor || new ErrorTrackingApiResponseProcessor(); + } + + /** + * Retrieve the full details for a specific error tracking issue, including attributes and relationships. + * @param param The request object + */ + public getIssue( + param: ErrorTrackingApiGetIssueRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.getIssue( + param.issueId, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.getIssue(responseContext); + }); + }); + } + + /** + * Search issues endpoint allows you to programmatically search for issues within your organization. This endpoint returns a list of issues that match a given search query, following the event search syntax. The search results are limited to a maximum of 100 issues. + * @param param The request object + */ + public searchIssues( + param: ErrorTrackingApiSearchIssuesRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.searchIssues( + param.body, + param.include, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.searchIssues(responseContext); + }); + }); + } + + /** + * Update the assignee of an issue by `issue_id`. + * @param param The request object + */ + public updateIssueAssignee( + param: ErrorTrackingApiUpdateIssueAssigneeRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateIssueAssignee( + param.issueId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateIssueAssignee(responseContext); + }); + }); + } + + /** + * Update the state of an issue by `issue_id`. + * @param param The request object + */ + public updateIssueState( + param: ErrorTrackingApiUpdateIssueStateRequest, + options?: Configuration + ): Promise { + const requestContextPromise = this.requestFactory.updateIssueState( + param.issueId, + param.body, + options + ); + return requestContextPromise.then((requestContext) => { + return this.configuration.httpApi + .send(requestContext) + .then((responseContext) => { + return this.responseProcessor.updateIssueState(responseContext); + }); + }); + } +} diff --git a/packages/datadog-api-client-v2/index.ts b/packages/datadog-api-client-v2/index.ts index dc4ed1083634..26db34a98c93 100644 --- a/packages/datadog-api-client-v2/index.ts +++ b/packages/datadog-api-client-v2/index.ts @@ -250,6 +250,14 @@ export { DowntimesApi, } from "./apis/DowntimesApi"; +export { + ErrorTrackingApiGetIssueRequest, + ErrorTrackingApiSearchIssuesRequest, + ErrorTrackingApiUpdateIssueAssigneeRequest, + ErrorTrackingApiUpdateIssueStateRequest, + ErrorTrackingApi, +} from "./apis/ErrorTrackingApi"; + export { EventsApiCreateEventRequest, EventsApiGetEventRequest, @@ -1869,6 +1877,7 @@ export { GetDeviceResponse } from "./models/GetDeviceResponse"; export { GetFindingResponse } from "./models/GetFindingResponse"; export { GetInterfacesData } from "./models/GetInterfacesData"; export { GetInterfacesResponse } from "./models/GetInterfacesResponse"; +export { GetIssueIncludeQueryParameterItem } from "./models/GetIssueIncludeQueryParameterItem"; export { GetResourceEvaluationFiltersResponse } from "./models/GetResourceEvaluationFiltersResponse"; export { GetResourceEvaluationFiltersResponseData } from "./models/GetResourceEvaluationFiltersResponseData"; export { GetRuleVersionHistoryData } from "./models/GetRuleVersionHistoryData"; @@ -2075,6 +2084,49 @@ export { IPAllowlistEntryType } from "./models/IPAllowlistEntryType"; export { IPAllowlistResponse } from "./models/IPAllowlistResponse"; export { IPAllowlistType } from "./models/IPAllowlistType"; export { IPAllowlistUpdateRequest } from "./models/IPAllowlistUpdateRequest"; +export { Issue } from "./models/Issue"; +export { IssueAssigneeRelationship } from "./models/IssueAssigneeRelationship"; +export { IssueAttributes } from "./models/IssueAttributes"; +export { IssueCaseReference } from "./models/IssueCaseReference"; +export { IssueCaseRelationship } from "./models/IssueCaseRelationship"; +export { IssueIncluded } from "./models/IssueIncluded"; +export { IssueLanguage } from "./models/IssueLanguage"; +export { IssuePlatform } from "./models/IssuePlatform"; +export { IssueReference } from "./models/IssueReference"; +export { IssueRelationships } from "./models/IssueRelationships"; +export { IssueResponse } from "./models/IssueResponse"; +export { IssuesSearchRequest } from "./models/IssuesSearchRequest"; +export { IssuesSearchRequestData } from "./models/IssuesSearchRequestData"; +export { IssuesSearchRequestDataAttributes } from "./models/IssuesSearchRequestDataAttributes"; +export { IssuesSearchRequestDataAttributesOrderBy } from "./models/IssuesSearchRequestDataAttributesOrderBy"; +export { IssuesSearchRequestDataAttributesPersona } from "./models/IssuesSearchRequestDataAttributesPersona"; +export { IssuesSearchRequestDataAttributesTrack } from "./models/IssuesSearchRequestDataAttributesTrack"; +export { IssuesSearchRequestDataType } from "./models/IssuesSearchRequestDataType"; +export { IssuesSearchResponse } from "./models/IssuesSearchResponse"; +export { IssuesSearchResult } from "./models/IssuesSearchResult"; +export { IssuesSearchResultAttributes } from "./models/IssuesSearchResultAttributes"; +export { IssuesSearchResultIncluded } from "./models/IssuesSearchResultIncluded"; +export { IssuesSearchResultIssueRelationship } from "./models/IssuesSearchResultIssueRelationship"; +export { IssuesSearchResultRelationships } from "./models/IssuesSearchResultRelationships"; +export { IssuesSearchResultType } from "./models/IssuesSearchResultType"; +export { IssueState } from "./models/IssueState"; +export { IssueTeam } from "./models/IssueTeam"; +export { IssueTeamAttributes } from "./models/IssueTeamAttributes"; +export { IssueTeamOwnersRelationship } from "./models/IssueTeamOwnersRelationship"; +export { IssueTeamReference } from "./models/IssueTeamReference"; +export { IssueTeamType } from "./models/IssueTeamType"; +export { IssueType } from "./models/IssueType"; +export { IssueUpdateAssigneeRequest } from "./models/IssueUpdateAssigneeRequest"; +export { IssueUpdateAssigneeRequestData } from "./models/IssueUpdateAssigneeRequestData"; +export { IssueUpdateAssigneeRequestDataType } from "./models/IssueUpdateAssigneeRequestDataType"; +export { IssueUpdateStateRequest } from "./models/IssueUpdateStateRequest"; +export { IssueUpdateStateRequestData } from "./models/IssueUpdateStateRequestData"; +export { IssueUpdateStateRequestDataAttributes } from "./models/IssueUpdateStateRequestDataAttributes"; +export { IssueUpdateStateRequestDataType } from "./models/IssueUpdateStateRequestDataType"; +export { IssueUser } from "./models/IssueUser"; +export { IssueUserAttributes } from "./models/IssueUserAttributes"; +export { IssueUserReference } from "./models/IssueUserReference"; +export { IssueUserType } from "./models/IssueUserType"; export { JiraIntegrationMetadata } from "./models/JiraIntegrationMetadata"; export { JiraIntegrationMetadataIssuesItem } from "./models/JiraIntegrationMetadataIssuesItem"; export { JiraIssue } from "./models/JiraIssue"; @@ -3067,6 +3119,7 @@ export { ScheduleUser } from "./models/ScheduleUser"; export { ScheduleUserAttributes } from "./models/ScheduleUserAttributes"; export { ScheduleUserType } from "./models/ScheduleUserType"; export { ScorecardType } from "./models/ScorecardType"; +export { SearchIssuesIncludeQueryParameterItem } from "./models/SearchIssuesIncludeQueryParameterItem"; export { SecurityFilter } from "./models/SecurityFilter"; export { SecurityFilterAttributes } from "./models/SecurityFilterAttributes"; export { SecurityFilterCreateAttributes } from "./models/SecurityFilterCreateAttributes"; diff --git a/packages/datadog-api-client-v2/models/GetIssueIncludeQueryParameterItem.ts b/packages/datadog-api-client-v2/models/GetIssueIncludeQueryParameterItem.ts new file mode 100644 index 000000000000..fa9aacfb1cad --- /dev/null +++ b/packages/datadog-api-client-v2/models/GetIssueIncludeQueryParameterItem.ts @@ -0,0 +1,20 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Relationship object that should be included in the response. + */ + +export type GetIssueIncludeQueryParameterItem = + | typeof ASSIGNEE + | typeof CASE + | typeof TEAM_OWNERS + | UnparsedObject; +export const ASSIGNEE = "assignee"; +export const CASE = "case"; +export const TEAM_OWNERS = "team_owners"; diff --git a/packages/datadog-api-client-v2/models/Issue.ts b/packages/datadog-api-client-v2/models/Issue.ts new file mode 100644 index 000000000000..0a853d4fd7a5 --- /dev/null +++ b/packages/datadog-api-client-v2/models/Issue.ts @@ -0,0 +1,82 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueAttributes } from "./IssueAttributes"; +import { IssueRelationships } from "./IssueRelationships"; +import { IssueType } from "./IssueType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The issue matching the request. + */ +export class Issue { + /** + * Object containing the information of an issue. + */ + "attributes": IssueAttributes; + /** + * Issue identifier. + */ + "id": string; + /** + * Relationship between the issue and an assignee, case and/or teams. + */ + "relationships"?: IssueRelationships; + /** + * Type of the object. + */ + "type": IssueType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssueAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + relationships: { + baseName: "relationships", + type: "IssueRelationships", + }, + type: { + baseName: "type", + type: "IssueType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return Issue.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueAssigneeRelationship.ts b/packages/datadog-api-client-v2/models/IssueAssigneeRelationship.ts new file mode 100644 index 000000000000..61c5f71bd926 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueAssigneeRelationship.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueUserReference } from "./IssueUserReference"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship between the issue and assignee. + */ +export class IssueAssigneeRelationship { + /** + * The user the issue is assigned to. + */ + "data": IssueUserReference; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssueUserReference", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueAssigneeRelationship.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueAttributes.ts b/packages/datadog-api-client-v2/models/IssueAttributes.ts new file mode 100644 index 000000000000..95e8e36f924a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueAttributes.ts @@ -0,0 +1,153 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueLanguage } from "./IssueLanguage"; +import { IssuePlatform } from "./IssuePlatform"; +import { IssueState } from "./IssueState"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object containing the information of an issue. + */ +export class IssueAttributes { + /** + * Error message associated with the issue. + */ + "errorMessage"?: string; + /** + * Type of the error that matches the issue. + */ + "errorType"?: string; + /** + * Path of the file where the issue occurred. + */ + "filePath"?: string; + /** + * Timestamp of the first seen error in milliseconds since the Unix epoch. + */ + "firstSeen"?: number; + /** + * The application version (for example, git commit hash) where the issue was first observed. + */ + "firstSeenVersion"?: string; + /** + * Name of the function where the issue occurred. + */ + "functionName"?: string; + /** + * Error is a crash. + */ + "isCrash"?: boolean; + /** + * Array of programming languages associated with the issue. + */ + "languages"?: Array; + /** + * Timestamp of the last seen error in milliseconds since the Unix epoch. + */ + "lastSeen"?: number; + /** + * The application version (for example, git commit hash) where the issue was last observed. + */ + "lastSeenVersion"?: string; + /** + * Platform associated with the issue. + */ + "platform"?: IssuePlatform; + /** + * Service name. + */ + "service"?: string; + /** + * State of the issue + */ + "state"?: IssueState; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + errorMessage: { + baseName: "error_message", + type: "string", + }, + errorType: { + baseName: "error_type", + type: "string", + }, + filePath: { + baseName: "file_path", + type: "string", + }, + firstSeen: { + baseName: "first_seen", + type: "number", + format: "int64", + }, + firstSeenVersion: { + baseName: "first_seen_version", + type: "string", + }, + functionName: { + baseName: "function_name", + type: "string", + }, + isCrash: { + baseName: "is_crash", + type: "boolean", + }, + languages: { + baseName: "languages", + type: "Array", + }, + lastSeen: { + baseName: "last_seen", + type: "number", + format: "int64", + }, + lastSeenVersion: { + baseName: "last_seen_version", + type: "string", + }, + platform: { + baseName: "platform", + type: "IssuePlatform", + }, + service: { + baseName: "service", + type: "string", + }, + state: { + baseName: "state", + type: "IssueState", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueCaseReference.ts b/packages/datadog-api-client-v2/models/IssueCaseReference.ts new file mode 100644 index 000000000000..4091ebd821bd --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueCaseReference.ts @@ -0,0 +1,63 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { CaseResourceType } from "./CaseResourceType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The case the issue is attached to. + */ +export class IssueCaseReference { + /** + * Case identifier. + */ + "id": string; + /** + * Case resource type + */ + "type": CaseResourceType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "CaseResourceType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueCaseReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueCaseRelationship.ts b/packages/datadog-api-client-v2/models/IssueCaseRelationship.ts new file mode 100644 index 000000000000..4425716aea2e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueCaseRelationship.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueCaseReference } from "./IssueCaseReference"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship between the issue and case. + */ +export class IssueCaseRelationship { + /** + * The case the issue is attached to. + */ + "data": IssueCaseReference; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssueCaseReference", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueCaseRelationship.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueIncluded.ts b/packages/datadog-api-client-v2/models/IssueIncluded.ts new file mode 100644 index 000000000000..c26545e58f0b --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueIncluded.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { Case } from "./Case"; +import { IssueTeam } from "./IssueTeam"; +import { IssueUser } from "./IssueUser"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * An array of related resources, returned when the `include` query parameter is used. + */ + +export type IssueIncluded = Case | IssueUser | IssueTeam | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/IssueLanguage.ts b/packages/datadog-api-client-v2/models/IssueLanguage.ts new file mode 100644 index 000000000000..4f204b3c868a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueLanguage.ts @@ -0,0 +1,68 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Programming language associated with the issue. + */ + +export type IssueLanguage = + | typeof BRIGHTSCRIPT + | typeof C + | typeof C_PLUS_PLUS + | typeof C_SHARP + | typeof CLOJURE + | typeof DOT_NET + | typeof ELIXIR + | typeof ERLANG + | typeof GO + | typeof GROOVY + | typeof HASKELL + | typeof HCL + | typeof JAVA + | typeof JAVASCRIPT + | typeof JVM + | typeof KOTLIN + | typeof OBJECTIVE_C + | typeof PERL + | typeof PHP + | typeof PYTHON + | typeof RUBY + | typeof RUST + | typeof SCALA + | typeof SWIFT + | typeof TERRAFORM + | typeof TYPESCRIPT + | typeof UNKNOWN + | UnparsedObject; +export const BRIGHTSCRIPT = "BRIGHTSCRIPT"; +export const C = "C"; +export const C_PLUS_PLUS = "C_PLUS_PLUS"; +export const C_SHARP = "C_SHARP"; +export const CLOJURE = "CLOJURE"; +export const DOT_NET = "DOT_NET"; +export const ELIXIR = "ELIXIR"; +export const ERLANG = "ERLANG"; +export const GO = "GO"; +export const GROOVY = "GROOVY"; +export const HASKELL = "HASKELL"; +export const HCL = "HCL"; +export const JAVA = "JAVA"; +export const JAVASCRIPT = "JAVASCRIPT"; +export const JVM = "JVM"; +export const KOTLIN = "KOTLIN"; +export const OBJECTIVE_C = "OBJECTIVE_C"; +export const PERL = "PERL"; +export const PHP = "PHP"; +export const PYTHON = "PYTHON"; +export const RUBY = "RUBY"; +export const RUST = "RUST"; +export const SCALA = "SCALA"; +export const SWIFT = "SWIFT"; +export const TERRAFORM = "TERRAFORM"; +export const TYPESCRIPT = "TYPESCRIPT"; +export const UNKNOWN = "UNKNOWN"; diff --git a/packages/datadog-api-client-v2/models/IssuePlatform.ts b/packages/datadog-api-client-v2/models/IssuePlatform.ts new file mode 100644 index 000000000000..1393a1022ec0 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuePlatform.ts @@ -0,0 +1,30 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Platform associated with the issue. + */ + +export type IssuePlatform = + | typeof ANDROID + | typeof BACKEND + | typeof BROWSER + | typeof FLUTTER + | typeof IOS + | typeof REACT_NATIVE + | typeof ROKU + | typeof UNKNOWN + | UnparsedObject; +export const ANDROID = "ANDROID"; +export const BACKEND = "BACKEND"; +export const BROWSER = "BROWSER"; +export const FLUTTER = "FLUTTER"; +export const IOS = "IOS"; +export const REACT_NATIVE = "REACT_NATIVE"; +export const ROKU = "ROKU"; +export const UNKNOWN = "UNKNOWN"; diff --git a/packages/datadog-api-client-v2/models/IssueReference.ts b/packages/datadog-api-client-v2/models/IssueReference.ts new file mode 100644 index 000000000000..1ac47f2ffdc8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueReference.ts @@ -0,0 +1,63 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueType } from "./IssueType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The issue the search result corresponds to. + */ +export class IssueReference { + /** + * Issue identifier. + */ + "id": string; + /** + * Type of the object. + */ + "type": IssueType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueRelationships.ts b/packages/datadog-api-client-v2/models/IssueRelationships.ts new file mode 100644 index 000000000000..18552cb43d86 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueRelationships.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IssueAssigneeRelationship } from "./IssueAssigneeRelationship"; +import { IssueCaseRelationship } from "./IssueCaseRelationship"; +import { IssueTeamOwnersRelationship } from "./IssueTeamOwnersRelationship"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship between the issue and an assignee, case and/or teams. + */ +export class IssueRelationships { + /** + * Relationship between the issue and assignee. + */ + "assignee"?: IssueAssigneeRelationship; + /** + * Relationship between the issue and case. + */ + "_case"?: IssueCaseRelationship; + /** + * Relationship between the issue and teams. + */ + "teamOwners"?: IssueTeamOwnersRelationship; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + assignee: { + baseName: "assignee", + type: "IssueAssigneeRelationship", + }, + _case: { + baseName: "case", + type: "IssueCaseRelationship", + }, + teamOwners: { + baseName: "team_owners", + type: "IssueTeamOwnersRelationship", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueResponse.ts b/packages/datadog-api-client-v2/models/IssueResponse.ts new file mode 100644 index 000000000000..d62134911895 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueResponse.ts @@ -0,0 +1,62 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { Issue } from "./Issue"; +import { IssueIncluded } from "./IssueIncluded"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Response containing error tracking issue data. + */ +export class IssueResponse { + /** + * The issue matching the request. + */ + "data"?: Issue; + /** + * Array of resources related to the issue. + */ + "included"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Issue", + }, + included: { + baseName: "included", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueState.ts b/packages/datadog-api-client-v2/models/IssueState.ts new file mode 100644 index 000000000000..7469fba43970 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueState.ts @@ -0,0 +1,24 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * State of the issue + */ + +export type IssueState = + | typeof OPEN + | typeof ACKNOWLEDGED + | typeof RESOLVED + | typeof IGNORED + | typeof EXCLUDED + | UnparsedObject; +export const OPEN = "OPEN"; +export const ACKNOWLEDGED = "ACKNOWLEDGED"; +export const RESOLVED = "RESOLVED"; +export const IGNORED = "IGNORED"; +export const EXCLUDED = "EXCLUDED"; diff --git a/packages/datadog-api-client-v2/models/IssueTeam.ts b/packages/datadog-api-client-v2/models/IssueTeam.ts new file mode 100644 index 000000000000..e86e418fbab3 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueTeam.ts @@ -0,0 +1,73 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueTeamAttributes } from "./IssueTeamAttributes"; +import { IssueTeamType } from "./IssueTeamType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A team that owns an issue. + */ +export class IssueTeam { + /** + * Object containing the information of a team. + */ + "attributes": IssueTeamAttributes; + /** + * Team identifier. + */ + "id": string; + /** + * Type of the object. + */ + "type": IssueTeamType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssueTeamAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueTeamType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueTeam.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueTeamAttributes.ts b/packages/datadog-api-client-v2/models/IssueTeamAttributes.ts new file mode 100644 index 000000000000..90088b4c127a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueTeamAttributes.ts @@ -0,0 +1,68 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object containing the information of a team. + */ +export class IssueTeamAttributes { + /** + * The team's identifier. + */ + "handle"?: string; + /** + * The name of the team. + */ + "name"?: string; + /** + * A brief summary of the team, derived from its description. + */ + "summary"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + handle: { + baseName: "handle", + type: "string", + }, + name: { + baseName: "name", + type: "string", + }, + summary: { + baseName: "summary", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueTeamAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueTeamOwnersRelationship.ts b/packages/datadog-api-client-v2/models/IssueTeamOwnersRelationship.ts new file mode 100644 index 000000000000..c5e7004d8c14 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueTeamOwnersRelationship.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueTeamReference } from "./IssueTeamReference"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship between the issue and teams. + */ +export class IssueTeamOwnersRelationship { + /** + * Array of teams that are owners of the issue. + */ + "data": Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueTeamOwnersRelationship.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueTeamReference.ts b/packages/datadog-api-client-v2/models/IssueTeamReference.ts new file mode 100644 index 000000000000..f2ad267660b4 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueTeamReference.ts @@ -0,0 +1,63 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueTeamType } from "./IssueTeamType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * A team that owns the issue. + */ +export class IssueTeamReference { + /** + * Team identifier. + */ + "id": string; + /** + * Type of the object. + */ + "type": IssueTeamType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueTeamType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueTeamReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueTeamType.ts b/packages/datadog-api-client-v2/models/IssueTeamType.ts new file mode 100644 index 000000000000..a6a6058d3ec8 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueTeamType.ts @@ -0,0 +1,14 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssueTeamType = typeof TEAM | UnparsedObject; +export const TEAM = "team"; diff --git a/packages/datadog-api-client-v2/models/IssueType.ts b/packages/datadog-api-client-v2/models/IssueType.ts new file mode 100644 index 000000000000..452178c6887e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueType.ts @@ -0,0 +1,14 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssueType = typeof ISSUE | UnparsedObject; +export const ISSUE = "issue"; diff --git a/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequest.ts b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequest.ts new file mode 100644 index 000000000000..d6c8a47225c9 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequest.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueUpdateAssigneeRequestData } from "./IssueUpdateAssigneeRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Update issue assignee request payload. + */ +export class IssueUpdateAssigneeRequest { + /** + * Update issue assignee request. + */ + "data": IssueUpdateAssigneeRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssueUpdateAssigneeRequestData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUpdateAssigneeRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestData.ts b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestData.ts new file mode 100644 index 000000000000..0ae6a50a4731 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestData.ts @@ -0,0 +1,63 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueUpdateAssigneeRequestDataType } from "./IssueUpdateAssigneeRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Update issue assignee request. + */ +export class IssueUpdateAssigneeRequestData { + /** + * User identifier. + */ + "id": string; + /** + * Type of the object. + */ + "type": IssueUpdateAssigneeRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueUpdateAssigneeRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUpdateAssigneeRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestDataType.ts b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestDataType.ts new file mode 100644 index 000000000000..ab1535a754a2 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateAssigneeRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssueUpdateAssigneeRequestDataType = + | typeof ASSIGNEE + | UnparsedObject; +export const ASSIGNEE = "assignee"; diff --git a/packages/datadog-api-client-v2/models/IssueUpdateStateRequest.ts b/packages/datadog-api-client-v2/models/IssueUpdateStateRequest.ts new file mode 100644 index 000000000000..c10b0c967def --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateStateRequest.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueUpdateStateRequestData } from "./IssueUpdateStateRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Update issue state request payload. + */ +export class IssueUpdateStateRequest { + /** + * Update issue state request. + */ + "data": IssueUpdateStateRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssueUpdateStateRequestData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUpdateStateRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUpdateStateRequestData.ts b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestData.ts new file mode 100644 index 000000000000..3d33dda40512 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestData.ts @@ -0,0 +1,73 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueUpdateStateRequestDataAttributes } from "./IssueUpdateStateRequestDataAttributes"; +import { IssueUpdateStateRequestDataType } from "./IssueUpdateStateRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Update issue state request. + */ +export class IssueUpdateStateRequestData { + /** + * Object describing an issue state update request. + */ + "attributes": IssueUpdateStateRequestDataAttributes; + /** + * Issue identifier. + */ + "id": string; + /** + * Type of the object. + */ + "type": IssueUpdateStateRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssueUpdateStateRequestDataAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueUpdateStateRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUpdateStateRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataAttributes.ts new file mode 100644 index 000000000000..020ee13ad1ee --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataAttributes.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueState } from "./IssueState"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object describing an issue state update request. + */ +export class IssueUpdateStateRequestDataAttributes { + /** + * State of the issue + */ + "state": IssueState; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + state: { + baseName: "state", + type: "IssueState", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUpdateStateRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataType.ts b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataType.ts new file mode 100644 index 000000000000..6feb8c97daba --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUpdateStateRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssueUpdateStateRequestDataType = + | typeof ERROR_TRACKING_ISSUE + | UnparsedObject; +export const ERROR_TRACKING_ISSUE = "error_tracking_issue"; diff --git a/packages/datadog-api-client-v2/models/IssueUser.ts b/packages/datadog-api-client-v2/models/IssueUser.ts new file mode 100644 index 000000000000..c9c8377b5e83 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUser.ts @@ -0,0 +1,73 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueUserAttributes } from "./IssueUserAttributes"; +import { IssueUserType } from "./IssueUserType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The user to whom the issue is assigned. + */ +export class IssueUser { + /** + * Object containing the information of a user. + */ + "attributes": IssueUserAttributes; + /** + * User identifier. + */ + "id": string; + /** + * Type of the object + */ + "type": IssueUserType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssueUserAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueUserType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUser.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUserAttributes.ts b/packages/datadog-api-client-v2/models/IssueUserAttributes.ts new file mode 100644 index 000000000000..da389ba0041e --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUserAttributes.ts @@ -0,0 +1,68 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object containing the information of a user. + */ +export class IssueUserAttributes { + /** + * Email of the user. + */ + "email"?: string; + /** + * Handle of the user. + */ + "handle"?: string; + /** + * Name of the user. + */ + "name"?: string; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + email: { + baseName: "email", + type: "string", + }, + handle: { + baseName: "handle", + type: "string", + }, + name: { + baseName: "name", + type: "string", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUserAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUserReference.ts b/packages/datadog-api-client-v2/models/IssueUserReference.ts new file mode 100644 index 000000000000..ea81545b4774 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUserReference.ts @@ -0,0 +1,63 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssueUserType } from "./IssueUserType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * The user the issue is assigned to. + */ +export class IssueUserReference { + /** + * User identifier. + */ + "id": string; + /** + * Type of the object + */ + "type": IssueUserType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + id: { + baseName: "id", + type: "string", + required: true, + }, + type: { + baseName: "type", + type: "IssueUserType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssueUserReference.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssueUserType.ts b/packages/datadog-api-client-v2/models/IssueUserType.ts new file mode 100644 index 000000000000..5bb40a1826ac --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssueUserType.ts @@ -0,0 +1,14 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object + */ + +export type IssueUserType = typeof USER | UnparsedObject; +export const USER = "user"; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequest.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequest.ts new file mode 100644 index 000000000000..0decc26d415f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequest.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssuesSearchRequestData } from "./IssuesSearchRequestData"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Search issues request payload. + */ +export class IssuesSearchRequest { + /** + * Search issues request. + */ + "data": IssuesSearchRequestData; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssuesSearchRequestData", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchRequest.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestData.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestData.ts new file mode 100644 index 000000000000..39054f771a14 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestData.ts @@ -0,0 +1,64 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IssuesSearchRequestDataAttributes } from "./IssuesSearchRequestDataAttributes"; +import { IssuesSearchRequestDataType } from "./IssuesSearchRequestDataType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Search issues request. + */ +export class IssuesSearchRequestData { + /** + * Object describing a search issue request. + */ + "attributes": IssuesSearchRequestDataAttributes; + /** + * Type of the object. + */ + "type": IssuesSearchRequestDataType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssuesSearchRequestDataAttributes", + required: true, + }, + type: { + baseName: "type", + type: "IssuesSearchRequestDataType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchRequestData.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributes.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributes.ts new file mode 100644 index 000000000000..6f09d20d5596 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributes.ts @@ -0,0 +1,100 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssuesSearchRequestDataAttributesOrderBy } from "./IssuesSearchRequestDataAttributesOrderBy"; +import { IssuesSearchRequestDataAttributesPersona } from "./IssuesSearchRequestDataAttributesPersona"; +import { IssuesSearchRequestDataAttributesTrack } from "./IssuesSearchRequestDataAttributesTrack"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object describing a search issue request. + */ +export class IssuesSearchRequestDataAttributes { + /** + * Start date (inclusive) of the query in milliseconds since the Unix epoch. + */ + "from": number; + /** + * The attribute to sort the search results by. + */ + "orderBy"?: IssuesSearchRequestDataAttributesOrderBy; + /** + * Persona for the search. Either track(s) or persona(s) must be specified. + */ + "persona"?: IssuesSearchRequestDataAttributesPersona; + /** + * Search query following the event search syntax. + */ + "query": string; + /** + * End date (exclusive) of the query in milliseconds since the Unix epoch. + */ + "to": number; + /** + * Track of the events to query. Either track(s) or persona(s) must be specified. + */ + "track"?: IssuesSearchRequestDataAttributesTrack; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + from: { + baseName: "from", + type: "number", + required: true, + format: "int64", + }, + orderBy: { + baseName: "order_by", + type: "IssuesSearchRequestDataAttributesOrderBy", + }, + persona: { + baseName: "persona", + type: "IssuesSearchRequestDataAttributesPersona", + }, + query: { + baseName: "query", + type: "string", + required: true, + }, + to: { + baseName: "to", + type: "number", + required: true, + format: "int64", + }, + track: { + baseName: "track", + type: "IssuesSearchRequestDataAttributesTrack", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchRequestDataAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesOrderBy.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesOrderBy.ts new file mode 100644 index 000000000000..97e0c6283c8c --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesOrderBy.ts @@ -0,0 +1,22 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * The attribute to sort the search results by. + */ + +export type IssuesSearchRequestDataAttributesOrderBy = + | typeof TOTAL_COUNT + | typeof FIRST_SEEN + | typeof IMPACTED_SESSIONS + | typeof PRIORITY + | UnparsedObject; +export const TOTAL_COUNT = "TOTAL_COUNT"; +export const FIRST_SEEN = "FIRST_SEEN"; +export const IMPACTED_SESSIONS = "IMPACTED_SESSIONS"; +export const PRIORITY = "PRIORITY"; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesPersona.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesPersona.ts new file mode 100644 index 000000000000..65a3965f385f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesPersona.ts @@ -0,0 +1,22 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Persona for the search. Either track(s) or persona(s) must be specified. + */ + +export type IssuesSearchRequestDataAttributesPersona = + | typeof ALL + | typeof BROWSER + | typeof MOBILE + | typeof BACKEND + | UnparsedObject; +export const ALL = "all"; +export const BROWSER = "browser"; +export const MOBILE = "mobile"; +export const BACKEND = "backend"; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesTrack.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesTrack.ts new file mode 100644 index 000000000000..00fcb2dd3d30 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataAttributesTrack.ts @@ -0,0 +1,20 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Track of the events to query. Either track(s) or persona(s) must be specified. + */ + +export type IssuesSearchRequestDataAttributesTrack = + | typeof TRACE + | typeof LOGS + | typeof RUM + | UnparsedObject; +export const TRACE = "trace"; +export const LOGS = "logs"; +export const RUM = "rum"; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchRequestDataType.ts b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataType.ts new file mode 100644 index 000000000000..1717784d6045 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchRequestDataType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssuesSearchRequestDataType = + | typeof SEARCH_REQUEST + | UnparsedObject; +export const SEARCH_REQUEST = "search_request"; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResponse.ts b/packages/datadog-api-client-v2/models/IssuesSearchResponse.ts new file mode 100644 index 000000000000..96fc8c22500a --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResponse.ts @@ -0,0 +1,62 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssuesSearchResult } from "./IssuesSearchResult"; +import { IssuesSearchResultIncluded } from "./IssuesSearchResultIncluded"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Search issues response payload. + */ +export class IssuesSearchResponse { + /** + * Array of results matching the search query. + */ + "data"?: Array; + /** + * Array of resources related to the search results. + */ + "included"?: Array; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "Array", + }, + included: { + baseName: "included", + type: "Array", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchResponse.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResult.ts b/packages/datadog-api-client-v2/models/IssuesSearchResult.ts new file mode 100644 index 000000000000..9a72c12b3186 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResult.ts @@ -0,0 +1,82 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { IssuesSearchResultAttributes } from "./IssuesSearchResultAttributes"; +import { IssuesSearchResultRelationships } from "./IssuesSearchResultRelationships"; +import { IssuesSearchResultType } from "./IssuesSearchResultType"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Result matching the search query. + */ +export class IssuesSearchResult { + /** + * Object containing the information of a search result. + */ + "attributes": IssuesSearchResultAttributes; + /** + * Search result identifier (matches the nested issue's identifier). + */ + "id": string; + /** + * Relationships between the search result and other resources. + */ + "relationships"?: IssuesSearchResultRelationships; + /** + * Type of the object. + */ + "type": IssuesSearchResultType; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + attributes: { + baseName: "attributes", + type: "IssuesSearchResultAttributes", + required: true, + }, + id: { + baseName: "id", + type: "string", + required: true, + }, + relationships: { + baseName: "relationships", + type: "IssuesSearchResultRelationships", + }, + type: { + baseName: "type", + type: "IssuesSearchResultType", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchResult.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResultAttributes.ts b/packages/datadog-api-client-v2/models/IssuesSearchResultAttributes.ts new file mode 100644 index 000000000000..4ec3620aa07f --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResultAttributes.ts @@ -0,0 +1,71 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Object containing the information of a search result. + */ +export class IssuesSearchResultAttributes { + /** + * Count of sessions impacted by the issue over the queried time window. + */ + "impactedSessions"?: number; + /** + * Count of users impacted by the issue over the queried time window. + */ + "impactedUsers"?: number; + /** + * Total count of errors that match the issue over the queried time window. + */ + "totalCount"?: number; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + impactedSessions: { + baseName: "impacted_sessions", + type: "number", + format: "int64", + }, + impactedUsers: { + baseName: "impacted_users", + type: "number", + format: "int64", + }, + totalCount: { + baseName: "total_count", + type: "number", + format: "int64", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchResultAttributes.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResultIncluded.ts b/packages/datadog-api-client-v2/models/IssuesSearchResultIncluded.ts new file mode 100644 index 000000000000..43092fcf75fc --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResultIncluded.ts @@ -0,0 +1,22 @@ +/** + * 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 2020-Present Datadog, Inc. + */ +import { Case } from "./Case"; +import { Issue } from "./Issue"; +import { IssueTeam } from "./IssueTeam"; +import { IssueUser } from "./IssueUser"; + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * An array of related resources, returned when the `include` query parameter is used. + */ + +export type IssuesSearchResultIncluded = + | Issue + | Case + | IssueUser + | IssueTeam + | UnparsedObject; diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResultIssueRelationship.ts b/packages/datadog-api-client-v2/models/IssuesSearchResultIssueRelationship.ts new file mode 100644 index 000000000000..c5b6bcfdf2eb --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResultIssueRelationship.ts @@ -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 2020-Present Datadog, Inc. + */ +import { IssueReference } from "./IssueReference"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationship between the search result and the corresponding issue. + */ +export class IssuesSearchResultIssueRelationship { + /** + * The issue the search result corresponds to. + */ + "data": IssueReference; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + data: { + baseName: "data", + type: "IssueReference", + required: true, + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchResultIssueRelationship.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResultRelationships.ts b/packages/datadog-api-client-v2/models/IssuesSearchResultRelationships.ts new file mode 100644 index 000000000000..9c4b5ebc1e2b --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResultRelationships.ts @@ -0,0 +1,53 @@ +/** + * Unless explicitly stated otherwise all files in this repository are licensed under the Apache-2.0 License. + * This product includes software developed at Datadog (https://www.datadoghq.com/). + * Copyright 2020-Present Datadog, Inc. + */ +import { IssuesSearchResultIssueRelationship } from "./IssuesSearchResultIssueRelationship"; + +import { AttributeTypeMap } from "../../datadog-api-client-common/util"; + +/** + * Relationships between the search result and other resources. + */ +export class IssuesSearchResultRelationships { + /** + * Relationship between the search result and the corresponding issue. + */ + "issue"?: IssuesSearchResultIssueRelationship; + + /** + * A container for additional, undeclared properties. + * This is a holder for any undeclared properties as specified with + * the 'additionalProperties' keyword in the OAS document. + */ + "additionalProperties"?: { [key: string]: any }; + + /** + * @ignore + */ + "_unparsed"?: boolean; + + /** + * @ignore + */ + static readonly attributeTypeMap: AttributeTypeMap = { + issue: { + baseName: "issue", + type: "IssuesSearchResultIssueRelationship", + }, + additionalProperties: { + baseName: "additionalProperties", + type: "{ [key: string]: any; }", + }, + }; + + /** + * @ignore + */ + static getAttributeTypeMap(): AttributeTypeMap { + return IssuesSearchResultRelationships.attributeTypeMap; + } + + public constructor() {} +} diff --git a/packages/datadog-api-client-v2/models/IssuesSearchResultType.ts b/packages/datadog-api-client-v2/models/IssuesSearchResultType.ts new file mode 100644 index 000000000000..08c7ff9d0477 --- /dev/null +++ b/packages/datadog-api-client-v2/models/IssuesSearchResultType.ts @@ -0,0 +1,16 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Type of the object. + */ + +export type IssuesSearchResultType = + | typeof ERROR_TRACKING_SEARCH_RESULT + | UnparsedObject; +export const ERROR_TRACKING_SEARCH_RESULT = "error_tracking_search_result"; diff --git a/packages/datadog-api-client-v2/models/ObjectSerializer.ts b/packages/datadog-api-client-v2/models/ObjectSerializer.ts index 0e4db0ba6bae..34364d0f74f8 100644 --- a/packages/datadog-api-client-v2/models/ObjectSerializer.ts +++ b/packages/datadog-api-client-v2/models/ObjectSerializer.ts @@ -968,6 +968,34 @@ import { InputSchema } from "./InputSchema"; import { InputSchemaParameters } from "./InputSchemaParameters"; import { IntakePayloadAccepted } from "./IntakePayloadAccepted"; import { InterfaceAttributes } from "./InterfaceAttributes"; +import { Issue } from "./Issue"; +import { IssueAssigneeRelationship } from "./IssueAssigneeRelationship"; +import { IssueAttributes } from "./IssueAttributes"; +import { IssueCaseReference } from "./IssueCaseReference"; +import { IssueCaseRelationship } from "./IssueCaseRelationship"; +import { IssueReference } from "./IssueReference"; +import { IssueRelationships } from "./IssueRelationships"; +import { IssueResponse } from "./IssueResponse"; +import { IssueTeam } from "./IssueTeam"; +import { IssueTeamAttributes } from "./IssueTeamAttributes"; +import { IssueTeamOwnersRelationship } from "./IssueTeamOwnersRelationship"; +import { IssueTeamReference } from "./IssueTeamReference"; +import { IssueUpdateAssigneeRequest } from "./IssueUpdateAssigneeRequest"; +import { IssueUpdateAssigneeRequestData } from "./IssueUpdateAssigneeRequestData"; +import { IssueUpdateStateRequest } from "./IssueUpdateStateRequest"; +import { IssueUpdateStateRequestData } from "./IssueUpdateStateRequestData"; +import { IssueUpdateStateRequestDataAttributes } from "./IssueUpdateStateRequestDataAttributes"; +import { IssueUser } from "./IssueUser"; +import { IssueUserAttributes } from "./IssueUserAttributes"; +import { IssueUserReference } from "./IssueUserReference"; +import { IssuesSearchRequest } from "./IssuesSearchRequest"; +import { IssuesSearchRequestData } from "./IssuesSearchRequestData"; +import { IssuesSearchRequestDataAttributes } from "./IssuesSearchRequestDataAttributes"; +import { IssuesSearchResponse } from "./IssuesSearchResponse"; +import { IssuesSearchResult } from "./IssuesSearchResult"; +import { IssuesSearchResultAttributes } from "./IssuesSearchResultAttributes"; +import { IssuesSearchResultIssueRelationship } from "./IssuesSearchResultIssueRelationship"; +import { IssuesSearchResultRelationships } from "./IssuesSearchResultRelationships"; import { JSONAPIErrorItem } from "./JSONAPIErrorItem"; import { JSONAPIErrorItemSource } from "./JSONAPIErrorItemSource"; import { JSONAPIErrorResponse } from "./JSONAPIErrorResponse"; @@ -2599,6 +2627,7 @@ const enumsMap: { [key: string]: any[] } = { GCPUsageCostConfigType: ["gcp_uc_config"], GeminiAPIKeyType: ["GeminiAPIKey"], GeminiIntegrationType: ["Gemini"], + GetIssueIncludeQueryParameterItem: ["assignee", "case", "team_owners"], GetRuleVersionHistoryDataType: ["GetRuleVersionHistoryResponse"], GetTeamMembershipsSort: [ "manager_name", @@ -2672,6 +2701,66 @@ const enumsMap: { [key: string]: any[] } = { "ARRAY_OBJECT", ], InterfaceAttributesStatus: ["up", "down", "warning", "off"], + IssueLanguage: [ + "BRIGHTSCRIPT", + "C", + "C_PLUS_PLUS", + "C_SHARP", + "CLOJURE", + "DOT_NET", + "ELIXIR", + "ERLANG", + "GO", + "GROOVY", + "HASKELL", + "HCL", + "JAVA", + "JAVASCRIPT", + "JVM", + "KOTLIN", + "OBJECTIVE_C", + "PERL", + "PHP", + "PYTHON", + "RUBY", + "RUST", + "SCALA", + "SWIFT", + "TERRAFORM", + "TYPESCRIPT", + "UNKNOWN", + ], + IssuePlatform: [ + "ANDROID", + "BACKEND", + "BROWSER", + "FLUTTER", + "IOS", + "REACT_NATIVE", + "ROKU", + "UNKNOWN", + ], + IssueState: ["OPEN", "ACKNOWLEDGED", "RESOLVED", "IGNORED", "EXCLUDED"], + IssueTeamType: ["team"], + IssueType: ["issue"], + IssueUpdateAssigneeRequestDataType: ["assignee"], + IssueUpdateStateRequestDataType: ["error_tracking_issue"], + IssueUserType: ["user"], + IssuesSearchRequestDataAttributesOrderBy: [ + "TOTAL_COUNT", + "FIRST_SEEN", + "IMPACTED_SESSIONS", + "PRIORITY", + ], + IssuesSearchRequestDataAttributesPersona: [ + "all", + "browser", + "mobile", + "backend", + ], + IssuesSearchRequestDataAttributesTrack: ["trace", "logs", "rum"], + IssuesSearchRequestDataType: ["search_request"], + IssuesSearchResultType: ["error_tracking_search_result"], LaunchDarklyAPIKeyType: ["LaunchDarklyAPIKey"], LaunchDarklyIntegrationType: ["LaunchDarkly"], LayerRelationshipsMembersDataItemsType: ["members"], @@ -3176,6 +3265,12 @@ const enumsMap: { [key: string]: any[] } = { ScheduleUpdateRequestDataType: ["schedules"], ScheduleUserType: ["users"], ScorecardType: ["scorecard"], + SearchIssuesIncludeQueryParameterItem: [ + "issue", + "issue.assignee", + "issue.case", + "issue.team_owners", + ], SecurityFilterFilteredDataType: ["logs"], SecurityFilterType: ["security_filters"], SecurityMonitoringFilterAction: ["require", "suppress"], @@ -4634,6 +4729,34 @@ const typeMap: { [index: string]: any } = { InputSchemaParameters: InputSchemaParameters, IntakePayloadAccepted: IntakePayloadAccepted, InterfaceAttributes: InterfaceAttributes, + Issue: Issue, + IssueAssigneeRelationship: IssueAssigneeRelationship, + IssueAttributes: IssueAttributes, + IssueCaseReference: IssueCaseReference, + IssueCaseRelationship: IssueCaseRelationship, + IssueReference: IssueReference, + IssueRelationships: IssueRelationships, + IssueResponse: IssueResponse, + IssueTeam: IssueTeam, + IssueTeamAttributes: IssueTeamAttributes, + IssueTeamOwnersRelationship: IssueTeamOwnersRelationship, + IssueTeamReference: IssueTeamReference, + IssueUpdateAssigneeRequest: IssueUpdateAssigneeRequest, + IssueUpdateAssigneeRequestData: IssueUpdateAssigneeRequestData, + IssueUpdateStateRequest: IssueUpdateStateRequest, + IssueUpdateStateRequestData: IssueUpdateStateRequestData, + IssueUpdateStateRequestDataAttributes: IssueUpdateStateRequestDataAttributes, + IssueUser: IssueUser, + IssueUserAttributes: IssueUserAttributes, + IssueUserReference: IssueUserReference, + IssuesSearchRequest: IssuesSearchRequest, + IssuesSearchRequestData: IssuesSearchRequestData, + IssuesSearchRequestDataAttributes: IssuesSearchRequestDataAttributes, + IssuesSearchResponse: IssuesSearchResponse, + IssuesSearchResult: IssuesSearchResult, + IssuesSearchResultAttributes: IssuesSearchResultAttributes, + IssuesSearchResultIssueRelationship: IssuesSearchResultIssueRelationship, + IssuesSearchResultRelationships: IssuesSearchResultRelationships, JSONAPIErrorItem: JSONAPIErrorItem, JSONAPIErrorItemSource: JSONAPIErrorItemSource, JSONAPIErrorResponse: JSONAPIErrorResponse, @@ -6212,6 +6335,8 @@ const oneOfMap: { [index: string]: string[] } = { ], IncidentTodoAssignee: ["string", "IncidentTodoAnonymousAssignee"], IncidentTodoResponseIncludedItem: ["User"], + IssueIncluded: ["Case", "IssueUser", "IssueTeam"], + IssuesSearchResultIncluded: ["Issue", "Case", "IssueUser", "IssueTeam"], LaunchDarklyCredentials: ["LaunchDarklyAPIKey"], LaunchDarklyCredentialsUpdate: ["LaunchDarklyAPIKeyUpdate"], ListEntityCatalogResponseIncludedItem: [ diff --git a/packages/datadog-api-client-v2/models/SearchIssuesIncludeQueryParameterItem.ts b/packages/datadog-api-client-v2/models/SearchIssuesIncludeQueryParameterItem.ts new file mode 100644 index 000000000000..2e96d2930457 --- /dev/null +++ b/packages/datadog-api-client-v2/models/SearchIssuesIncludeQueryParameterItem.ts @@ -0,0 +1,22 @@ +/** + * 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 2020-Present Datadog, Inc. + */ + +import { UnparsedObject } from "../../datadog-api-client-common/util"; + +/** + * Relationship object that should be included in the search response. + */ + +export type SearchIssuesIncludeQueryParameterItem = + | typeof ISSUE + | typeof ISSUE_ASSIGNEE + | typeof ISSUE_CASE + | typeof ISSUE_TEAM_OWNERS + | UnparsedObject; +export const ISSUE = "issue"; +export const ISSUE_ASSIGNEE = "issue.assignee"; +export const ISSUE_CASE = "issue.case"; +export const ISSUE_TEAM_OWNERS = "issue.team_owners";