From eace1e2c21baca088ef6b02c9654a743e49cfbc4 Mon Sep 17 00:00:00 2001 From: Dhroov Makwana Date: Tue, 21 May 2024 06:39:30 +0530 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8Source=20Freshservice:=20Make=20Connec?= =?UTF-8?q?tor=20Compatible=20with=20Builder=20(#38195)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Alexandre Girard --- .../source-freshservice/.dockerignore | 6 - .../acceptance-test-config.yml | 2 - .../integration_tests/__init__.py | 2 +- .../integration_tests/acceptance.py | 2 +- .../source-freshservice/metadata.yaml | 2 +- .../source-freshservice/pyproject.toml | 2 +- .../source-freshservice/requirements.txt | 2 - .../source_freshservice/__init__.py | 2 +- .../source_freshservice/manifest.yaml | 4314 +++++++++-------- .../source_freshservice/run.py | 5 +- .../source_freshservice/source.py | 2 +- .../source_freshservice/spec.yaml | 33 - docs/integrations/sources/freshservice.md | 3 +- 13 files changed, 2396 insertions(+), 1981 deletions(-) delete mode 100644 airbyte-integrations/connectors/source-freshservice/.dockerignore delete mode 100644 airbyte-integrations/connectors/source-freshservice/requirements.txt delete mode 100644 airbyte-integrations/connectors/source-freshservice/source_freshservice/spec.yaml diff --git a/airbyte-integrations/connectors/source-freshservice/.dockerignore b/airbyte-integrations/connectors/source-freshservice/.dockerignore deleted file mode 100644 index 0345072457cc..000000000000 --- a/airbyte-integrations/connectors/source-freshservice/.dockerignore +++ /dev/null @@ -1,6 +0,0 @@ -* -!Dockerfile -!main.py -!source_freshservice -!setup.py -!secrets diff --git a/airbyte-integrations/connectors/source-freshservice/acceptance-test-config.yml b/airbyte-integrations/connectors/source-freshservice/acceptance-test-config.yml index e7d25b19ecf6..88fbb1ec88b6 100644 --- a/airbyte-integrations/connectors/source-freshservice/acceptance-test-config.yml +++ b/airbyte-integrations/connectors/source-freshservice/acceptance-test-config.yml @@ -9,8 +9,6 @@ acceptance_tests: tests: - config_path: "secrets/config.json" status: "succeed" - - config_path: "integration_tests/invalid_config.json" - status: "failed" discovery: tests: - config_path: "secrets/config.json" diff --git a/airbyte-integrations/connectors/source-freshservice/integration_tests/__init__.py b/airbyte-integrations/connectors/source-freshservice/integration_tests/__init__.py index c941b3045795..66f6de8cb2bb 100644 --- a/airbyte-integrations/connectors/source-freshservice/integration_tests/__init__.py +++ b/airbyte-integrations/connectors/source-freshservice/integration_tests/__init__.py @@ -1,3 +1,3 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-freshservice/integration_tests/acceptance.py b/airbyte-integrations/connectors/source-freshservice/integration_tests/acceptance.py index 9e6409236281..aaeb7f6c2529 100644 --- a/airbyte-integrations/connectors/source-freshservice/integration_tests/acceptance.py +++ b/airbyte-integrations/connectors/source-freshservice/integration_tests/acceptance.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-freshservice/metadata.yaml b/airbyte-integrations/connectors/source-freshservice/metadata.yaml index 9bad439902a6..8445b6e33b82 100644 --- a/airbyte-integrations/connectors/source-freshservice/metadata.yaml +++ b/airbyte-integrations/connectors/source-freshservice/metadata.yaml @@ -7,7 +7,7 @@ data: connectorSubtype: api connectorType: source definitionId: 9bb85338-ea95-4c93-b267-6be89125b267 - dockerImageTag: 1.3.5 + dockerImageTag: 1.3.6 dockerRepository: airbyte/source-freshservice documentationUrl: https://docs.airbyte.com/integrations/sources/freshservice githubIssueLabel: source-freshservice diff --git a/airbyte-integrations/connectors/source-freshservice/pyproject.toml b/airbyte-integrations/connectors/source-freshservice/pyproject.toml index 21091b540fcb..02cc5a42df12 100644 --- a/airbyte-integrations/connectors/source-freshservice/pyproject.toml +++ b/airbyte-integrations/connectors/source-freshservice/pyproject.toml @@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",] build-backend = "poetry.core.masonry.api" [tool.poetry] -version = "1.3.5" +version = "1.3.6" name = "source-freshservice" description = "Source implementation for Freshservice." authors = [ "Airbyte ",] diff --git a/airbyte-integrations/connectors/source-freshservice/requirements.txt b/airbyte-integrations/connectors/source-freshservice/requirements.txt deleted file mode 100644 index cc57334ef619..000000000000 --- a/airbyte-integrations/connectors/source-freshservice/requirements.txt +++ /dev/null @@ -1,2 +0,0 @@ --e ../../bases/connector-acceptance-test --e . diff --git a/airbyte-integrations/connectors/source-freshservice/source_freshservice/__init__.py b/airbyte-integrations/connectors/source-freshservice/source_freshservice/__init__.py index f18cc5950ea0..6492c4b0e8f8 100644 --- a/airbyte-integrations/connectors/source-freshservice/source_freshservice/__init__.py +++ b/airbyte-integrations/connectors/source-freshservice/source_freshservice/__init__.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # diff --git a/airbyte-integrations/connectors/source-freshservice/source_freshservice/manifest.yaml b/airbyte-integrations/connectors/source-freshservice/source_freshservice/manifest.yaml index 202a0a722e25..2cd600f3ae26 100644 --- a/airbyte-integrations/connectors/source-freshservice/source_freshservice/manifest.yaml +++ b/airbyte-integrations/connectors/source-freshservice/source_freshservice/manifest.yaml @@ -1,1957 +1,2413 @@ -version: "0.29.0" +version: 0.78.1 + +type: DeclarativeSource + +check: + type: CheckStream + stream_names: + - tickets definitions: - selector: - type: RecordSelector - extractor: - type: DpathExtractor - field_path: ["{{ parameters.path_extractor }}"] - requester: + streams: + tickets: + type: DeclarativeStream + name: tickets + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tickets + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - tickets + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updated_at + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%SZ" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config['start_date'] }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_time_option: + type: RequestOption + inject_into: request_parameter + field_name: updated_since + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/tickets" + satisfaction_survey_responses: + type: DeclarativeStream + name: satisfaction_survey_responses + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tickets/{{ stream_partition.parent_id }}/csat_response + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - csat_response + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + partition_router: + - type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: id + partition_field: parent_id + stream: + $ref: "#/definitions/streams/tickets" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/satisfaction_survey_responses" + requested_items: + type: DeclarativeStream + name: requested_items + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /tickets/{{ stream_partition.parent_id }}/requested_items + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 404 + error_message: No data collected + - type: DefaultErrorHandler + backoff_strategies: + - type: WaitTimeFromHeader + header: Retry-After + response_filters: + - type: HttpResponseFilter + action: RETRY + http_codes: + - 429 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - requested_items + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + partition_router: + - type: SubstreamPartitionRouter + parent_stream_configs: + - type: ParentStreamConfig + parent_key: id + partition_field: parent_id + stream: + $ref: "#/definitions/streams/tickets" + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/requested_items" + problems: + type: DeclarativeStream + name: problems + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /problems + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - problems + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/problems" + changes: + type: DeclarativeStream + name: changes + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /changes + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - changes + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/changes" + releases: + type: DeclarativeStream + name: releases + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /releases + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - releases + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + incremental_sync: + type: DatetimeBasedCursor + cursor_field: updated_at + cursor_datetime_formats: + - "%Y-%m-%dT%H:%M:%SZ" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_datetime: + type: MinMaxDatetime + datetime: "{{ config['start_date'] }}" + datetime_format: "%Y-%m-%dT%H:%M:%SZ" + start_time_option: + type: RequestOption + inject_into: request_parameter + field_name: updated_since + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/releases" + requesters: + type: DeclarativeStream + name: requesters + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /requesters + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - requesters + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/requesters" + agents: + type: DeclarativeStream + name: agents + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /agents + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - agents + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/agents" + locations: + type: DeclarativeStream + name: locations + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /locations + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - locations + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/locations" + products: + type: DeclarativeStream + name: products + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /products + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - products + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/products" + vendors: + type: DeclarativeStream + name: vendors + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /vendors + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - vendors + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/vendors" + assets: + type: DeclarativeStream + name: assets + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /assets + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - assets + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/assets" + software: + type: DeclarativeStream + name: software + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /applications + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - applications + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/software" + purchase_orders: + type: DeclarativeStream + name: purchase_orders + primary_key: + - id + retriever: + type: SimpleRetriever + requester: + $ref: "#/definitions/base_requester" + path: /purchase_orders + http_method: GET + error_handler: + type: CompositeErrorHandler + error_handlers: + - type: DefaultErrorHandler + response_filters: + - type: HttpResponseFilter + action: IGNORE + http_codes: + - 403 + record_selector: + type: RecordSelector + extractor: + type: DpathExtractor + field_path: + - purchase_orders + paginator: + type: DefaultPaginator + page_token_option: + type: RequestOption + inject_into: request_parameter + field_name: page + pagination_strategy: + type: PageIncrement + start_from_page: 1 + page_size: 30 + schema_loader: + type: InlineSchemaLoader + schema: + $ref: "#/schemas/purchase_orders" + base_requester: type: HttpRequester - url_base: "https://{{config['domain_name']}}/api/v2/" - http_method: "GET" + url_base: https://{{config['domain_name']}}/api/v2 authenticator: - type: "BasicHttpAuthenticator" - username: "{{config['api_key']}}" - password: "" - error_handler: - response_filters: - - http_codes: [403] - action: IGNORE - retriever: - type: SimpleRetriever - record_selector: - $ref: "#/definitions/selector" - paginator: - type: "DefaultPaginator" - pagination_strategy: - type: "PageIncrement" - page_size: 30 - start_from_page: 1 - page_token_option: - type: "RequestOption" - inject_into: "request_parameter" - field_name: "page" - requester: - $ref: "#/definitions/requester" + type: BasicHttpAuthenticator + username: "{{ config['api_key'] }}" + password: "{{ config['api_key'] }}" - incremental_base: - type: DatetimeBasedCursor - cursor_field: "updated_at" - datetime_format: "%Y-%m-%dT%H:%M:%SZ" - start_datetime: - datetime: "{{ config['start_date'] }}" - datetime_format: "%Y-%m-%dT%H:%M:%SZ" - start_time_option: - field_name: "updated_since" - inject_into: "request_parameter" +streams: + - $ref: "#/definitions/streams/tickets" + - $ref: "#/definitions/streams/satisfaction_survey_responses" + - $ref: "#/definitions/streams/requested_items" + - $ref: "#/definitions/streams/problems" + - $ref: "#/definitions/streams/changes" + - $ref: "#/definitions/streams/releases" + - $ref: "#/definitions/streams/requesters" + - $ref: "#/definitions/streams/agents" + - $ref: "#/definitions/streams/locations" + - $ref: "#/definitions/streams/products" + - $ref: "#/definitions/streams/vendors" + - $ref: "#/definitions/streams/assets" + - $ref: "#/definitions/streams/software" + - $ref: "#/definitions/streams/purchase_orders" - base_stream: - type: DeclarativeStream - retriever: - $ref: "#/definitions/retriever" +spec: + type: Spec + connection_specification: + type: object + $schema: http://json-schema.org/draft-07/schema# + required: + - api_key + - domain_name + - start_date + properties: + api_key: + type: string + title: API Key + description: >- + Freshservice API Key. See here. The key + is case sensitive. + airbyte_secret: true + order: 0 + domain_name: + type: string + title: Domain Name + description: The name of your Freshservice domain + examples: + - mydomain.freshservice.com + order: 1 + start_date: + type: string + title: Start Date + format: date-time + pattern: ^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$ + description: >- + UTC date and time in the format 2020-10-01T00:00:00Z. Any data before + this date will not be replicated. + examples: + - "2020-10-01T00:00:00Z" + order: 2 + additionalProperties: true - tickets_stream: - $ref: "#/definitions/base_stream" - name: "tickets" - primary_key: "id" - incremental_sync: - $ref: "#/definitions/incremental_base" - $parameters: - path_extractor: "tickets" - path: "/tickets" +metadata: + autoImportSchema: + tickets: false + satisfaction_survey_responses: false + requested_items: false + problems: false + changes: false + releases: false + requesters: false + agents: false + locations: false + products: false + vendors: false + assets: false + software: false + purchase_orders: false - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - attachments: - description: Attachments related to the ticket. - type: - - "null" - - array - cc_emails: - description: Email addresses cc'd on the ticket. - type: - - "null" - - array - department_id: - description: ID of the department handling the ticket. - type: - - "null" - - integer - custom_fields: - description: Custom fields associated with the ticket. - type: - - "null" - - object - deleted: - description: Indicates if the ticket is deleted. - type: - - "null" - - boolean - description: - description: Description of the ticket. - type: - - "null" - - string - description_text: - description: Textual description of the ticket. - type: - - "null" - - string - due_by: - description: Date by which the ticket needs to be resolved. - type: - - "null" - - string - email: - description: Email address associated with the ticket. - type: - - "null" - - string - email_config_id: - description: Configuration ID of the email associated with the ticket. - type: - - "null" - - integer - fr_due_by: - description: First response due by date for the ticket. - type: - - "null" - - string - fr_escalated: - description: Indicates if the ticket has been first response escalated. - type: - - "null" - - boolean - fwd_emails: - description: Email addresses to which the ticket has been forwarded. - type: - - "null" - - array - group_id: - description: ID of the group the ticket is assigned to. - type: - - "null" - - integer - id: - description: Unique identifier of the ticket. - type: integer - is_escalated: - description: Indicates if the ticket has been escalated. - type: - - "null" - - boolean - name: - description: Name associated with the ticket. - type: - - "null" - - string - phone: - description: Phone number associated with the ticket. - type: - - "null" - - string - priority: - description: Priority level of the ticket. - type: - - "null" - - integer - category: - description: Category of the ticket. - type: - - "null" - - string - sub_category: - description: Sub-category of the ticket. - type: - - "null" - - string - item_category: - description: Category of the item related to the ticket. - type: - - "null" - - string - reply_cc_emails: - description: Email addresses cc'd on replies to the ticket. - type: - - "null" - - array - requester_id: - description: ID of the person who requested the ticket. - type: - - "null" - - integer - responder_id: - description: ID of the responder handling the ticket. - type: - - "null" - - integer - source: - description: Source of the ticket creation. - type: - - "null" - - integer - spam: - description: Indicates if the ticket is considered as spam. - type: - - "null" - - boolean - status: - description: Current status of the ticket. - type: - - "null" - - integer - subject: - description: Subject of the ticket. - type: - - "null" - - string - tags: - description: Tags associated with the ticket. - type: - - "null" - - array - to_emails: - description: Email addresses the ticket was sent to. - type: - - "null" - - array +schemas: + tickets: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + type: + type: + - "null" + - string + description: Type of the ticket. + attachments: + type: + - "null" + - array + description: Attachments related to the ticket. + category: + type: + - "null" + - string + description: Category of the ticket. + cc_emails: + type: + - "null" + - array + description: Email addresses cc'd on the ticket. + created_at: + type: + - "null" + - string + description: Date and time when the ticket was created. + custom_fields: + type: + - "null" + - object + description: Custom fields associated with the ticket. + deleted: + type: + - "null" + - boolean + description: Indicates if the ticket is deleted. + department_id: + type: + - "null" + - integer + description: ID of the department handling the ticket. + description: + type: + - "null" + - string + description: Description of the ticket. + description_text: + type: + - "null" + - string + description: Textual description of the ticket. + due_by: + type: + - "null" + - string + description: Date by which the ticket needs to be resolved. + email: + type: + - "null" + - string + description: Email address associated with the ticket. + email_config_id: + type: + - "null" + - integer + description: Configuration ID of the email associated with the ticket. + fr_due_by: + type: + - "null" + - string + description: First response due by date for the ticket. + fr_escalated: + type: + - "null" + - boolean + description: Indicates if the ticket has been first response escalated. + fwd_emails: + type: + - "null" + - array + description: Email addresses to which the ticket has been forwarded. + group_id: + type: + - "null" + - integer + description: ID of the group the ticket is assigned to. + id: + type: integer + description: Unique identifier of the ticket. + impact: + type: + - "null" + - integer + description: Impact level of the ticket. + is_escalated: + type: + - "null" + - boolean + description: Indicates if the ticket has been escalated. + item_category: + type: + - "null" + - string + description: Category of the item related to the ticket. + name: + type: + - "null" + - string + description: Name associated with the ticket. + phone: + type: + - "null" + - string + description: Phone number associated with the ticket. + priority: + type: + - "null" + - integer + description: Priority level of the ticket. + reply_cc_emails: + type: + - "null" + - array + description: Email addresses cc'd on replies to the ticket. + requested_for_id: + type: + - "null" + - integer + description: ID of the person for whom the ticket was requested. + requester_id: + type: + - "null" + - integer + description: ID of the person who requested the ticket. + responder_id: + type: + - "null" + - integer + description: ID of the responder handling the ticket. + source: + type: + - "null" + - integer + description: Source of the ticket creation. + spam: + type: + - "null" + - boolean + description: Indicates if the ticket is considered as spam. + status: + type: + - "null" + - integer + description: Current status of the ticket. + sub_category: + type: + - "null" + - string + description: Sub-category of the ticket. + subject: + type: + - "null" + - string + description: Subject of the ticket. + tags: + type: + - "null" + - array + description: Tags associated with the ticket. + to_emails: + type: + - "null" + - array + description: Email addresses the ticket was sent to. + updated_at: + type: + - "null" + - string + description: Date and time when the ticket was last updated. + urgency: + type: + - "null" + - integer + description: Urgency level of the ticket. + workspace_id: + type: + - "null" + - integer + description: ID of the workspace associated with the ticket. + satisfaction_survey_responses: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + created_at: + type: + - "null" + - string + description: The timestamp when the survey response was created. + id: + type: + - "null" + - integer + description: The unique identifier for the survey response. + overall_rating: + type: + - "null" + - integer + description: The overall numeric rating given by the respondent. + overall_rating_text: + type: + - "null" + - string + description: The text representation of the overall rating. + primary_question: + type: + - "null" + - string + description: The main question being asked in the survey. + questionnaire_responses: + type: + - "null" + - object + description: List of questionnaire responses provided by users + items: type: - description: Type of the ticket. - type: - - "null" - - string - created_at: - description: Date and time when the ticket was created. - type: - - "null" - - string - updated_at: - description: Date and time when the ticket was last updated. - type: - - "null" - - string - urgency: - description: Urgency level of the ticket. - type: - - "null" - - integer - impact: - description: Impact level of the ticket. - type: - - "null" - - integer - workspace_id: - description: ID of the workspace associated with the ticket. - type: - - "null" - - integer - requested_for_id: - description: ID of the person for whom the ticket was requested. - type: - - "null" - - integer - satisfaction_survey_responses_stream: - name: "satisfaction_survey_responses" - primary_key: "id" - $parameters: - path_extractor: "csat_response" - retriever: - $ref: "#/definitions/retriever" - requester: - $ref: "#/definitions/requester" - path: "tickets/{{ stream_slice.parent_id }}/csat_response" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - stream: "#/definitions/tickets_stream" - parent_key: "id" - partition_field: "parent_id" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: The unique identifier for the survey response. - type: - - "null" - - integer - overall_rating: - description: The overall numeric rating given by the respondent. - type: - - "null" - - integer - overall_rating_text: - description: The text representation of the overall rating. - type: - - "null" - - string - primary_question: - description: The main question being asked in the survey. - type: - - "null" - - string - questionnaire_responses: - description: List of questionnaire responses provided by users - type: - - "null" - - object - items: + - "null" + - object + additionalProperties: true + properties: + answers: type: - "null" - - object - additionalProperties: true - properties: - question: - description: Details of the question asked in the survey - type: + - array + description: List of answers provided by users for the questions + items: + - type: - "null" - object additionalProperties: true properties: - question_text: - description: The text of the question being answered. + answer_text: type: - "null" - string - answers: - description: List of answers provided by users for the questions + question: + type: + - "null" + - object + additionalProperties: true + description: Details of the question asked in the survey + properties: + question_text: type: - "null" - - array - items: - - type: - - "null" - - object - additionalProperties: true - properties: - answer_text: - type: - - "null" - - string - created_at: - description: The timestamp when the survey response was created. - type: - - "null" - - string - updated_at: - description: The timestamp when the survey response was last updated. - type: - - "null" - - string - requested_items_stream: - name: "requested_items" - primary_key: "id" - $parameters: - path_extractor: "requested_items" - retriever: - $ref: "#/definitions/retriever" - requester: - $ref: "#/definitions/requester" - path: "tickets/{{ stream_slice.parent_id }}/requested_items" - error_handler: - type: CompositeErrorHandler - error_handlers: - - type: DefaultErrorHandler - response_filters: - - http_codes: [404] - action: IGNORE - error_message: No data collected - - type: DefaultErrorHandler - response_filters: - - http_codes: [429] - action: RETRY - backoff_strategies: - - type: WaitTimeFromHeader - header: "Retry-After" - partition_router: - type: SubstreamPartitionRouter - parent_stream_configs: - - stream: "#/definitions/tickets_stream" - parent_key: "id" - partition_field: "parent_id" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# + - string + description: The text of the question being answered. + updated_at: + type: + - "null" + - string + description: The timestamp when the survey response was last updated. + requested_items: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + cost_per_request: + type: + - "null" + - number + description: The cost associated with fulfilling the request. + created_at: + type: + - "null" + - string + description: The timestamp when the request was created. + custom_fields: + type: + - "null" + - object + additionalProperties: true + description: Any custom fields associated with the requested item. + delivery_time: + type: + - "null" + - number + description: The estimated delivery time for the requested item. + id: + type: + - "null" + - integer + description: The unique identifier for the requested item. + is_parent: + type: + - "null" + - boolean + description: Indicates whether the requested item is a parent item. + loaned: + type: + - "null" + - boolean + description: Whether the item has been loaned out. + quantity: + type: + - "null" + - integer + description: The quantity of the requested item. + remarks: + type: + - "null" + - string + description: Any additional remarks or notes. + service_item_id: + type: + - "null" + - integer + description: The ID of the service item being requested. + service_item_name: + type: + - "null" + - string + description: The name of the service item being requested. + stage: + type: + - "null" + - integer + description: The current stage of the request item. + updated_at: + type: + - "null" + - string + description: The timestamp when the request item was last updated. + problems: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + agent_id: + type: + - "null" + - integer + description: The unique identifier of the agent assigned to the problem + analysis_fields: type: object additionalProperties: true - properties: - id: - description: The unique identifier for the requested item. - type: - - "null" - - integer - created_at: - description: The timestamp when the request was created. - type: - - "null" - - string - updated_at: - description: The timestamp when the request item was last updated. - type: - - "null" - - string - quantity: - description: The quantity of the requested item. - type: - - "null" - - integer - stage: - description: The current stage of the request item. - type: - - "null" - - integer - loaned: - description: Whether the item has been loaned out. - type: - - "null" - - boolean - cost_per_request: - description: The cost associated with fulfilling the request. - type: - - "null" - - number - remarks: - description: Any additional remarks or notes. - type: - - "null" - - string - delivery_time: - description: The estimated delivery time for the requested item. - type: - - "null" - - number - is_parent: - description: Indicates whether the requested item is a parent item. - type: - - "null" - - boolean - service_item_id: - description: The ID of the service item being requested. - type: - - "null" - - integer - service_item_name: - description: The name of the service item being requested. - type: - - "null" - - string - custom_fields: - description: Any custom fields associated with the requested item. - type: - - "null" - - object - additionalProperties: true - problems_stream: - $ref: "#/definitions/base_stream" - name: "problems" - primary_key: "id" - $parameters: - path_extractor: "problems" - path: "/problems" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# + description: Fields related to the analysis or investigation of the problem + assets: + type: + - "null" + - array + description: >- + Contains information about assets related to the problem, such as + hardware or software configurations. + items: + additionalProperties: true + description: Details of assets associated with the problem + associated_change: + type: + - "null" + - integer + description: The ID of the change request associated with the problem + attachments: + type: + - "null" + - array + description: >- + Contains any additional files or documents attached to the problem for + reference or analysis. + items: + additionalProperties: true + description: List of attachments related to the problem + category: + type: + - "null" + - string + description: The category under which the problem falls + created_at: + type: + - "null" + - string + description: The date and time at which the problem was created + format: date-time + custom_fields: + type: + - "null" + - object + additionalProperties: true + description: Custom fields specific to the problem + department_id: + type: + - "null" + - integer + description: The ID of the department associated with the problem + description: + type: + - "null" + - string + description: Detailed description of the problem + description_text: + type: + - "null" + - string + description: Textual description of the problem + due_by: + type: + - "null" + - string + description: The due date by which the problem needs to be resolved + group_id: + type: + - "null" + - integer + description: The ID of the group handling the problem + id: + type: integer + description: The unique identifier of the problem + impact: + type: + - "null" + - integer + description: The level of impact the problem has on operations + item_category: + type: + - "null" + - string + description: The category of the item associated with the problem + known_error: + type: + - "null" + - boolean + description: Indicates if the problem is a known error + planned_effort: + type: + - string + - "null" + description: The planned effort required to resolve the problem + planned_end_date: + type: + - "null" + - string + description: The planned end date for resolving the problem + format: date-time + planned_start_date: + type: + - "null" + - string + description: The planned start date for resolving the problem + format: date-time + priority: + type: + - "null" + - integer + description: The priority level assigned to the problem + requester_id: + type: + - "null" + - integer + description: The ID of the user who reported the problem + status: + type: + - "null" + - integer + description: The current status of the problem + sub_category: + type: + - "null" + - string + description: The sub-category under which the problem falls + subject: + type: + - "null" + - string + description: The subject or title of the problem + updated_at: + type: + - "null" + - string + description: The date and time at which the problem was last updated + format: date-time + workspace_id: + type: + - "null" + - integer + description: The ID of the workspace to which the problem belongs + changes: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + agent_id: + type: + - "null" + - integer + description: ID of the agent responsible for the change + approval_status: + type: + - "null" + - integer + description: Approval status of the change request + assets: + type: + - "null" + - array + description: Contains information about the assets that were changed. + items: + additionalProperties: true + description: List of assets associated with the change + attachments: + type: + - "null" + - array + description: Contains data related to any attachments associated with the changes. + items: + additionalProperties: true + description: List of attachments related to the change + blackout_window: + type: + - "null" + - object + additionalProperties: true + description: Details of any blackout window for the change + category: + type: + - "null" + - string + description: Category under which the change falls + change_type: + type: + - "null" + - integer + description: Type of change being requested + change_window_id: + type: + - "null" + - integer + description: ID of the change window + created_at: + type: + - "null" + - string + description: Timestamp when the change was created + format: date-time + custom_fields: + type: + - "null" + - object + additionalProperties: true + description: Any custom fields associated with the change + department_id: + type: + - "null" + - integer + description: ID of the department associated with the change + description: + type: + - "null" + - string + description: Detailed description of the change + description_text: + type: + - "null" + - string + description: Textual description of the change + group_id: + type: + - "null" + - integer + description: ID of the group handling the change + id: + type: integer + description: Unique identifier for the change + impact: + type: + - "null" + - integer + description: Impact level of the change + impacted_services: + type: + - "null" + - array + description: List of services impacted by the change + items: + additionalProperties: true + item_category: + type: + - "null" + - string + description: Category of the item related to the change + maintenance_window: + type: + - "null" + - object + additionalProperties: true + description: Details of any maintenance window for the change + planned_effort: + type: + - string + - "null" + description: Effort planned for the change + planned_end_date: + type: + - "null" + - string + description: Planned end date for the change + planned_start_date: + type: + - "null" + - string + description: Planned start date for the change + priority: + type: + - "null" + - integer + description: Priority level of the change + requester_id: + type: + - "null" + - integer + description: ID of the requester initiating the change + risk: + type: + - "null" + - integer + description: Risk level associated with the change + status: + type: + - "null" + - integer + description: Current status of the change + sub_category: + type: + - "null" + - string + description: Sub-category under which the change falls + subject: + type: + - "null" + - string + description: Subject or title of the change + updated_at: + type: + - "null" + - string + description: Timestamp when the change was last updated + format: date-time + workspace_id: + type: + - "null" + - integer + description: ID of the workspace in which the change resides + releases: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + agent_id: + type: + - "null" + - integer + description: The unique identifier of the agent associated with the release. + associated_assets: + type: + - "null" + - array + description: Assets associated with the release. + associated_changes: + type: + - "null" + - array + description: Changes associated with the release. + category: + type: + - "null" + - string + description: Category of the release. + created_at: + type: + - "null" + - string + description: Timestamp indicating when the release was created. + custom_fields: + type: + - "null" + - object + description: Custom fields specific to the release. + department_id: + type: + - "null" + - integer + description: ID of the department associated with the release. + description: + type: + - "null" + - string + description: Description of the release. + group_id: + type: + - "null" + - integer + description: ID of the group associated with the release. + id: + type: integer + description: Unique identifier of the release. + item_category: + type: + - "null" + - string + description: Category of the item associated with the release. + planned_end_date: + type: + - "null" + - string + description: Planned end date of the release. + planned_start_date: + type: + - "null" + - string + description: Planned start date of the release. + planning_fields: + type: object + description: Fields related to the planning of the release. + priority: + type: + - "null" + - integer + description: Priority level of the release. + release_type: + type: + - "null" + - integer + description: Type of release (e.g., major, minor, patch). + status: + type: + - "null" + - integer + description: Status of the release (e.g., planned, in progress, completed). + sub_category: + type: + - "null" + - string + description: Sub-category of the release. + subject: + type: + - "null" + - string + description: Subject or title of the release. + updated_at: + type: + - "null" + - string + description: Timestamp indicating when the release was last updated. + work_end_date: + type: + - "null" + - string + description: Actual end date of the release work. + work_start_date: + type: + - "null" + - string + description: Actual start date of the release work. + requesters: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + active: + type: + - "null" + - boolean + description: Indicates if the requester is currently active or not in the system. + address: + type: + - "null" + - string + description: Requester's physical address. + background_information: + type: + - "null" + - string + description: Additional background information about the requester. + can_see_all_changes_from_associated_departments: + type: + - "null" + - boolean + description: >- + Boolean value for whether the requester can see changes from + associated departments. + can_see_all_tickets_from_associated_departments: + type: + - "null" + - boolean + description: >- + Boolean value for whether the requester can see tickets from + associated departments. + created_at: + type: + - "null" + - string + description: Date and time when the requester record was created. + custom_fields: + type: + - "null" + - object + description: Custom fields associated with the requester profile. + department_ids: + type: + - "null" + - array + description: IDs of the departments the requester is associated with. + department_names: + type: + - "null" + - array + description: Names of the departments the requester is associated with. + external_id: + type: + - "null" + - string + description: External identifier for the requester, if applicable. + first_name: + type: + - "null" + - string + description: First name of the requester. + has_logged_in: + type: + - "null" + - boolean + description: Indicates if the requester has logged into the system. + id: + type: integer + description: Unique identifier for the requester. + is_agent: + type: + - "null" + - boolean + description: Boolean value indicating if the requester is also an agent. + job_title: + type: + - "null" + - string + description: Job title of the requester. + language: + type: + - "null" + - string + description: Language preference of the requester. + last_name: + type: + - "null" + - string + description: Last name of the requester. + location_id: + type: + - "null" + - integer + description: ID of the location associated with the requester. + location_name: + type: + - "null" + - string + description: Name of the location associated with the requester. + mobile_phone_number: + type: + - "null" + - string + description: Mobile phone number of the requester. + primary_email: + type: + - "null" + - string + description: Primary email address of the requester. + reporting_manager_id: + type: + - "null" + - integer + description: ID of the reporting manager for the requester. + secondary_emails: + type: + - "null" + - array + description: Additional email addresses of the requester. + time_format: + type: + - "null" + - string + description: Preferred time format for the requester. + time_zone: + type: + - "null" + - string + description: Time zone preference for the requester. + updated_at: + type: + - "null" + - string + description: Date and time when the requester record was last updated. + vip_user: + type: + - "null" + - boolean + description: Indicates if the requester is a VIP user. + work_phone_number: + type: + - "null" + - string + description: Work phone number of the requester. + work_schedule_id: + type: + - "null" + - integer + description: ID of the work schedule assigned to the requester. + agents: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + active: + type: + - "null" + - boolean + description: Indicates if the agent is currently active or not + address: + type: + - "null" + - string + description: The physical address of the agent + auto_assign_status_changed_at: + type: + - "null" + - string + description: Timestamp for when auto assign status was last changed + auto_assign_tickets: + type: + - "null" + - boolean + description: Flag to enable/disable auto-assigning of tickets to the agent + background_information: + type: + - "null" + - string + description: Additional background information about the agent + can_see_all_tickets_from_associated_departments: + type: + - "null" + - boolean + description: Flag to allow viewing of tickets from associated departments + change_scope: + type: + - "null" + - string + description: Scope of changes the agent is allowed to make + created_at: + type: + - "null" + - string + description: Timestamp for when the agent was created + custom_fields: + type: + - "null" + - object + description: Custom fields specific to the agent + department_ids: + type: + - "null" + - array + description: IDs of departments to which the agent belongs + department_names: + type: + - "null" + - array + description: Names of departments to which the agent belongs + email: + type: + - "null" + - string + description: Email address of the agent + external_id: + type: + - "null" + - string + description: External identifier for the agent + first_name: + type: + - "null" + - string + description: First name of the agent + group_ids: + type: + - "null" + - array + description: IDs of groups to which the agent belongs + has_logged_in: + type: + - "null" + - boolean + description: Indicates if the agent has logged into the system + id: + type: integer + description: Unique identifier for the agent + job_title: + type: + - "null" + - string + description: Job title of the agent + language: + type: + - "null" + - string + description: Preferred language of communication for the agent + last_active_at: + type: + - "null" + - string + description: Timestamp for when the agent was last active + last_login_at: + type: + - "null" + - string + description: Timestamp for when the agent last logged in + last_name: + type: + - "null" + - string + description: Last name of the agent + location_id: + type: + - "null" + - integer + description: ID of the location where the agent is based + location_name: + type: + - "null" + - string + description: Name of the location where the agent is based + member_of: + type: + - "null" + - array + description: Groups the agent is a member of + member_of_pending_approval: + type: + - "null" + - array + description: Groups the agent has requested to join but pending approval + mobile_phone_number: + type: + - "null" + - string + description: Mobile phone number of the agent + observer_of: + type: + - "null" + - array + description: Groups the agent is an observer of + observer_of_pending_approval: + type: + - "null" + - array + description: Groups the agent is waiting to be approved as an observer + occasional: + type: + - "null" + - boolean + description: Indicates if the agent is an occasional user + problem_scope: + type: + - "null" + - string + description: Scope of problems the agent is allowed to work on + release_scope: + type: + - "null" + - string + description: Scope of releases the agent is involved in + reporting_manager_id: + type: + - "null" + - integer + description: ID of the reporting manager for the agent + role_ids: + type: + - "null" + - array + description: IDs of roles assigned to the agent + roles: + type: + - "null" + - array + description: Roles assigned to the agent + scopes: + type: + - "null" + - object + description: Various scopes assigned to the agent + scoreboard_level_id: + type: + - "null" + - integer + description: ID of the scoreboard level for the agent + scoreboard_points: + type: + - "null" + - integer + description: Scoreboard points earned by the agent + signature: + type: + - "null" + - string + description: Email signature of the agent + ticket_scope: + type: + - "null" + - string + description: Scope of tickets the agent is allowed to access + time_format: + type: + - "null" + - string + description: Preferred time format for the agent + time_zone: + type: + - "null" + - string + description: Preferred time zone for the agent + updated_at: + type: + - "null" + - string + description: Timestamp for when the agent was last updated + vip_user: + type: + - "null" + - boolean + description: Indicates if the agent is a VIP user + work_phone_number: + type: + - "null" + - string + description: Work phone number of the agent + work_schedule_id: + type: + - "null" + - integer + description: ID of the work schedule assigned to the agent + workspace_id: + type: + - "null" + - integer + description: ID of the primary workspace for the agent + workspace_ids: + type: + - "null" + - array + description: IDs of workspaces associated with the agent + workspace_info: + type: + - "null" + - array + description: Information about workspaces used by the agent + items: + additionalProperties: true + description: Workspace details + locations: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + address: type: object additionalProperties: true + description: Location address details properties: - id: - description: The unique identifier of the problem - type: integer - agent_id: - description: The unique identifier of the agent assigned to the problem - type: - - "null" - - integer - requester_id: - description: The ID of the user who reported the problem - type: - - "null" - - integer - group_id: - description: The ID of the group handling the problem - type: - - "null" - - integer - description: - description: Detailed description of the problem - type: - - "null" - - string - description_text: - description: Textual description of the problem - type: - - "null" - - string - priority: - description: The priority level assigned to the problem - type: - - "null" - - integer - status: - description: The current status of the problem - type: - - "null" - - integer - impact: - description: The level of impact the problem has on operations - type: - - "null" - - integer - known_error: - description: Indicates if the problem is a known error - type: - - "null" - - boolean - subject: - description: The subject or title of the problem - type: - - "null" - - string - due_by: - description: The due date by which the problem needs to be resolved - type: - - "null" - - string - department_id: - description: The ID of the department associated with the problem - type: - - "null" - - integer - category: - description: The category under which the problem falls - type: - - "null" - - string - sub_category: - description: The sub-category under which the problem falls - type: - - "null" - - string - item_category: - description: The category of the item associated with the problem - type: - - "null" - - string - created_at: - description: The date and time at which the problem was created - type: - - "null" - - string - format: date-time - updated_at: - description: The date and time at which the problem was last updated - type: - - "null" - - string - format: date-time - associated_change: - description: The ID of the change request associated with the problem - type: - - "null" - - integer - custom_fields: - description: Custom fields specific to the problem - type: - - "null" - - object - additionalProperties: true - analysis_fields: - description: Fields related to the analysis or investigation of the problem - type: object - additionalProperties: true - planned_start_date: - description: The planned start date for resolving the problem - type: - - "null" - - string - format: date-time - planned_end_date: - description: The planned end date for resolving the problem - type: - - "null" - - string - format: date-time - planned_effort: - description: The planned effort required to resolve the problem - type: - - string - - "null" - attachments: - description: - Contains any additional files or documents attached to the - problem for reference or analysis. - type: - - "null" - - array - items: - description: List of attachments related to the problem - additionalProperties: true - workspace_id: - description: The ID of the workspace to which the problem belongs - type: - - "null" - - integer - assets: - description: - Contains information about assets related to the problem, - such as hardware or software configurations. - type: - - "null" - - array - items: - description: Details of assets associated with the problem - additionalProperties: true - changes_stream: - $ref: "#/definitions/base_stream" - name: "changes" - primary_key: "id" - $parameters: - path_extractor: "changes" - path: "/changes" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# + city: + type: + - "null" + - string + description: City of the location + country: + type: + - "null" + - string + description: Country of the location + line1: + type: + - "null" + - string + description: First line of the address + line2: + type: + - "null" + - string + description: Second line of the address + state: + type: + - "null" + - string + description: State of the location + zipcode: + type: + - "null" + - string + description: Zip code of the location + contact_name: + type: + - "null" + - string + description: Name of the primary contact person + created_at: + type: + - "null" + - string + description: Timestamp when the location was created + email: + type: + - "null" + - string + description: Email address associated with the location + id: + type: integer + description: Unique identifier for the location + name: + type: + - "null" + - string + description: Name of the location + parent_location_id: + type: + - "null" + - integer + description: Identifier of the parent location (if applicable) + phone: + type: + - "null" + - string + description: Phone number of the location + primary_contact_id: + type: + - "null" + - integer + description: Identifier of the primary contact person + updated_at: + type: + - "null" + - string + description: Timestamp when the location was last updated + products: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + asset_type_id: + type: + - "null" + - integer + description: Unique identifier for the type of asset associated with the product. + created_at: + type: + - "null" + - string + description: Timestamp indicating when the product was created. + depreciation_type_id: + type: + - "null" + - integer + description: >- + Unique identifier for the type of depreciation method used for the + product. + description: + type: + - "null" + - string + description: Brief overview or summary of the product. + description_text: + type: + - "null" + - string + description: Detailed text describing the product. + id: + type: integer + description: Unique identifier for the product. + manufacturer: + type: + - "null" + - string + description: Name of the manufacturer of the product. + mode_of_procurement: + type: + - "null" + - string + description: Method through which the product was procured. + name: + type: + - "null" + - string + description: Name or title of the product. + status: + type: + - "null" + - string + description: Current status of the product. + updated_at: + type: + - "null" + - string + description: Timestamp indicating when the product was last updated. + vendors: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + address: type: object additionalProperties: true + description: Vendor address information properties: - id: - description: Unique identifier for the change - type: integer - agent_id: - description: ID of the agent responsible for the change - type: - - "null" - - integer - description: - description: Detailed description of the change - type: - - "null" - - string - description_text: - description: Textual description of the change - type: - - "null" - - string - requester_id: - description: ID of the requester initiating the change - type: - - "null" - - integer - group_id: - description: ID of the group handling the change - type: - - "null" - - integer - priority: - description: Priority level of the change - type: - - "null" - - integer - impact: - description: Impact level of the change - type: - - "null" - - integer - status: - description: Current status of the change - type: - - "null" - - integer - risk: - description: Risk level associated with the change - type: - - "null" - - integer - change_type: - description: Type of change being requested - type: - - "null" - - integer - approval_status: - description: Approval status of the change request - type: - - "null" - - integer - planned_start_date: - description: Planned start date for the change - type: - - "null" - - string - planned_end_date: - description: Planned end date for the change - type: - - "null" - - string - subject: - description: Subject or title of the change - type: - - "null" - - string - department_id: - description: ID of the department associated with the change - type: - - "null" - - integer - category: - description: Category under which the change falls - type: - - "null" - - string - sub_category: - description: Sub-category under which the change falls - type: - - "null" - - string - item_category: - description: Category of the item related to the change - type: - - "null" - - string - custom_fields: - description: Any custom fields associated with the change - type: - - "null" - - object - additionalProperties: true - maintenance_window: - description: Details of any maintenance window for the change - type: - - "null" - - object - additionalProperties: true - blackout_window: - description: Details of any blackout window for the change - type: - - "null" - - object - additionalProperties: true - created_at: - description: Timestamp when the change was created - type: - - "null" - - string - format: date-time - updated_at: - description: Timestamp when the change was last updated - type: - - "null" - - string - format: date-time - planned_effort: - description: Effort planned for the change - type: - - string - - "null" - attachments: - description: - Contains data related to any attachments associated with - the changes. - type: - - "null" - - array - items: - description: List of attachments related to the change - additionalProperties: true - impacted_services: - description: List of services impacted by the change - type: - - "null" - - array - items: - additionalProperties: true - workspace_id: - description: ID of the workspace in which the change resides - type: - - "null" - - integer - change_window_id: - description: ID of the change window - type: - - "null" - - integer - assets: - description: Contains information about the assets that were changed. - type: - - "null" - - array - items: - description: List of assets associated with the change - additionalProperties: true - releases_stream: - $ref: "#/definitions/base_stream" - name: "releases" - primary_key: "id" - incremental_sync: - $ref: "#/definitions/incremental_base" - $parameters: - path_extractor: "releases" - path: "/changes" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - properties: - id: - description: Unique identifier of the release. - type: integer - agent_id: - description: The unique identifier of the agent associated with the release. - type: - - "null" - - integer - group_id: - description: ID of the group associated with the release. - type: - - "null" - - integer - priority: - description: Priority level of the release. - type: - - "null" - - integer - status: - description: Status of the release (e.g., planned, in progress, completed). - type: - - "null" - - integer - release_type: - description: Type of release (e.g., major, minor, patch). - type: - - "null" - - integer - subject: - description: Subject or title of the release. - type: - - "null" - - string - description: - description: Description of the release. - type: - - "null" - - string - planned_start_date: - description: Planned start date of the release. - type: - - "null" - - string - planned_end_date: - description: Planned end date of the release. - type: - - "null" - - string - work_start_date: - description: Actual start date of the release work. - type: - - "null" - - string - work_end_date: - description: Actual end date of the release work. - type: - - "null" - - string - department_id: - description: ID of the department associated with the release. - type: - - "null" - - integer - category: - description: Category of the release. - type: - - "null" - - string - sub_category: - description: Sub-category of the release. - type: - - "null" - - string - item_category: - description: Category of the item associated with the release. - type: - - "null" - - string - created_at: - description: Timestamp indicating when the release was created. - type: - - "null" - - string - updated_at: - description: Timestamp indicating when the release was last updated. - type: - - "null" - - string - associated_assets: - description: Assets associated with the release. - type: - - "null" - - array - associated_changes: - description: Changes associated with the release. - type: - - "null" - - array - custom_fields: - description: Custom fields specific to the release. - type: - - "null" - - object - planning_fields: - description: Fields related to the planning of the release. - type: object - requesters_stream: - $ref: "#/definitions/base_stream" - name: "requesters" - primary_key: "id" - $parameters: - path_extractor: "requesters" - path: "/requesters" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the requester. - type: integer - first_name: - description: First name of the requester. - type: - - "null" - - string - last_name: - description: Last name of the requester. - type: - - "null" - - string - job_title: - description: Job title of the requester. - type: - - "null" - - string - primary_email: - description: Primary email address of the requester. - type: - - "null" - - string - secondary_emails: - description: Additional email addresses of the requester. - type: - - "null" - - array - work_phone_number: - description: Work phone number of the requester. - type: - - "null" - - string - mobile_phone_number: - description: Mobile phone number of the requester. - type: - - "null" - - string - department_ids: - description: IDs of the departments the requester is associated with. - type: - - "null" - - array - can_see_all_tickets_from_associated_departments: - description: - Boolean value for whether the requester can see tickets from - associated departments. - type: - - "null" - - boolean - reporting_manager_id: - description: ID of the reporting manager for the requester. - type: - - "null" - - integer - address: - description: Requester's physical address. - type: - - "null" - - string - time_zone: - description: Time zone preference for the requester. - type: - - "null" - - string - time_format: - description: Preferred time format for the requester. - type: - - "null" - - string - language: - description: Language preference of the requester. - type: - - "null" - - string - location_id: - description: ID of the location associated with the requester. - type: - - "null" - - integer - background_information: - description: Additional background information about the requester. - type: - - "null" - - string - custom_fields: - description: Custom fields associated with the requester profile. - type: - - "null" - - object - active: - description: - Indicates if the requester is currently active or not in - the system. - type: - - "null" - - boolean - has_logged_in: - description: Indicates if the requester has logged into the system. - type: - - "null" - - boolean - created_at: - description: Date and time when the requester record was created. - type: - - "null" - - string - updated_at: - description: Date and time when the requester record was last updated. - type: - - "null" - - string - is_agent: - description: Boolean value indicating if the requester is also an agent. - type: - - "null" - - boolean - department_names: - description: Names of the departments the requester is associated with. - type: - - "null" - - array - vip_user: - description: Indicates if the requester is a VIP user. - type: - - "null" - - boolean - external_id: - description: External identifier for the requester, if applicable. - type: - - "null" - - string - can_see_all_changes_from_associated_departments: - description: - Boolean value for whether the requester can see changes from - associated departments. - type: - - "null" - - boolean - location_name: - description: Name of the location associated with the requester. - type: - - "null" - - string - work_schedule_id: - description: ID of the work schedule assigned to the requester. - type: - - "null" - - integer - agents_stream: - $ref: "#/definitions/base_stream" - name: "agents" - primary_key: "id" - $parameters: - path_extractor: "agents" - path: "/agents" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the agent - type: integer - first_name: - description: First name of the agent - type: - - "null" - - string - last_name: - description: Last name of the agent - type: - - "null" - - string - occasional: - description: Indicates if the agent is an occasional user - type: - - "null" - - boolean - job_title: - description: Job title of the agent - type: - - "null" - - string - email: - description: Email address of the agent - type: - - "null" - - string - work_phone_number: - description: Work phone number of the agent - type: - - "null" - - string - mobile_phone_number: - description: Mobile phone number of the agent - type: - - "null" - - string - member_of_pending_approval: - description: Groups the agent has requested to join but pending approval - type: - - "null" - - array - observer_of_pending_approval: - description: Groups the agent is waiting to be approved as an observer - type: - - "null" - - array - department_ids: - description: IDs of departments to which the agent belongs - type: - - "null" - - array - can_see_all_tickets_from_associated_departments: - description: Flag to allow viewing of tickets from associated departments - type: - - "null" - - boolean - reporting_manager_id: - description: ID of the reporting manager for the agent - type: - - "null" - - integer - address: - description: The physical address of the agent - type: - - "null" - - string - time_zone: - description: Preferred time zone for the agent - type: - - "null" - - string - time_format: - description: Preferred time format for the agent - type: - - "null" - - string - language: - description: Preferred language of communication for the agent - type: - - "null" - - string - location_id: - description: ID of the location where the agent is based - type: - - "null" - - integer - background_information: - description: Additional background information about the agent - type: - - "null" - - string - scoreboard_level_id: - description: ID of the scoreboard level for the agent - type: - - "null" - - integer - scoreboard_points: - description: Scoreboard points earned by the agent - type: - - "null" - - integer - ticket_scope: - description: Scope of tickets the agent is allowed to access - type: - - "null" - - string - problem_scope: - description: Scope of problems the agent is allowed to work on - type: - - "null" - - string - change_scope: - description: Scope of changes the agent is allowed to make - type: - - "null" - - string - release_scope: - description: Scope of releases the agent is involved in - type: - - "null" - - string - group_ids: - description: IDs of groups to which the agent belongs - type: - - "null" - - array - member_of: - description: Groups the agent is a member of - type: - - "null" - - array - observer_of: - description: Groups the agent is an observer of - type: - - "null" - - array - role_ids: - description: IDs of roles assigned to the agent - type: - - "null" - - array - roles: - description: Roles assigned to the agent - type: - - "null" - - array - last_login_at: - description: Timestamp for when the agent last logged in - type: - - "null" - - string - last_active_at: - description: Timestamp for when the agent was last active - type: - - "null" - - string - custom_fields: - description: Custom fields specific to the agent - type: - - "null" - - object - has_logged_in: - description: Indicates if the agent has logged into the system - type: - - "null" - - boolean - active: - description: Indicates if the agent is currently active or not - type: - - "null" - - boolean - created_at: - description: Timestamp for when the agent was created - type: - - "null" - - string - updated_at: - description: Timestamp for when the agent was last updated - type: - - "null" - - string - location_name: - description: Name of the location where the agent is based - type: - - "null" - - string - department_names: - description: Names of departments to which the agent belongs - type: - - "null" - - array - scopes: - description: Various scopes assigned to the agent - type: - - "null" - - object - auto_assign_status_changed_at: - description: Timestamp for when auto assign status was last changed - type: - - "null" - - string - workspace_id: - description: ID of the primary workspace for the agent - type: - - "null" - - integer - signature: - description: Email signature of the agent - type: - - "null" - - string - vip_user: - description: Indicates if the agent is a VIP user - type: - - "null" - - boolean - auto_assign_tickets: - description: Flag to enable/disable auto-assigning of tickets to the agent - type: - - "null" - - boolean - external_id: - description: External identifier for the agent - type: - - "null" - - string - workspace_ids: - description: IDs of workspaces associated with the agent - type: - - "null" - - array - workspace_info: - description: Information about workspaces used by the agent - type: - - "null" - - array - items: - description: Workspace details - additionalProperties: true - work_schedule_id: - description: ID of the work schedule assigned to the agent - type: - - "null" - - integer - locations_stream: - $ref: "#/definitions/base_stream" - name: "locations" - primary_key: "id" - $parameters: - path_extractor: "locations" - path: "/locations" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the location - type: integer - name: - description: Name of the location - type: - - "null" - - string - parent_location_id: - description: Identifier of the parent location (if applicable) - type: - - "null" - - integer - primary_contact_id: - description: Identifier of the primary contact person - type: - - "null" - - integer - address: - description: Location address details - type: object - additionalProperties: true - properties: - line1: - description: First line of the address - type: - - "null" - - string - line2: - description: Second line of the address - type: - - "null" - - string - city: - description: City of the location - type: - - "null" - - string - state: - description: State of the location - type: - - "null" - - string - country: - description: Country of the location - type: - - "null" - - string - zipcode: - description: Zip code of the location - type: - - "null" - - string - created_at: - description: Timestamp when the location was created - type: - - "null" - - string - updated_at: - description: Timestamp when the location was last updated - type: - - "null" - - string - email: - description: Email address associated with the location - type: - - "null" - - string - phone: - description: Phone number of the location - type: - - "null" - - string - contact_name: - description: Name of the primary contact person - type: - - "null" - - string - products_stream: - $ref: "#/definitions/base_stream" - name: "products" - primary_key: "id" - $parameters: - path_extractor: "products" - path: "/products" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - properties: - id: - description: Unique identifier for the product. - type: integer - name: - description: Name or title of the product. - type: - - "null" - - string - asset_type_id: - description: - Unique identifier for the type of asset associated with the - product. - type: - - "null" - - integer - manufacturer: - description: Name of the manufacturer of the product. - type: - - "null" - - string - status: - description: Current status of the product. - type: - - "null" - - string - mode_of_procurement: - description: Method through which the product was procured. - type: - - "null" - - string - depreciation_type_id: - description: - Unique identifier for the type of depreciation method used - for the product. - type: - - "null" - - integer - description: - description: Brief overview or summary of the product. - type: - - "null" - - string - description_text: - description: Detailed text describing the product. - type: - - "null" - - string - created_at: - description: Timestamp indicating when the product was created. - type: - - "null" - - string - updated_at: - description: Timestamp indicating when the product was last updated. - type: - - "null" - - string - vendors_stream: - $ref: "#/definitions/base_stream" - name: "vendors" - primary_key: "id" - $parameters: - path_extractor: "vendors" - path: "/vendors" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the vendor - type: integer - name: - description: Name of the vendor - type: - - "null" - - string - description: - description: Description of the vendor - type: - - "null" - - string - contact_name: - description: Name of the primary contact person - type: - - "null" - - string - mobile: - description: Mobile number of the vendor - type: - - "null" - - integer - phone: - description: Phone number of the vendor - type: - - "null" - - integer - primary_contact_id: - description: ID of the primary contact person - type: - - "null" - - integer - email: - description: Email address of the vendor - type: - - "null" - - string - custom_fields: - description: Custom fields specific to the vendor - type: - - "null" - - object - address: - description: Vendor address information - type: object - additionalProperties: true - properties: - line1: - description: First line of the vendor's address - type: - - "null" - - string - city: - description: City of the vendor's address - type: - - "null" - - string - state: - description: State of the vendor's address - type: - - "null" - - string - country: - description: Country of the vendor's address - type: - - "null" - - string - zipcode: - description: Zipcode of the vendor's address - type: - - "null" - - string - created_at: - description: Date and time when vendor data was created - type: - - "null" - - string - updated_at: - description: Date and time when vendor data was last updated - type: - - "null" - - string - assets_stream: - $ref: "#/definitions/base_stream" - name: "assets" - primary_key: "id" - $parameters: - path_extractor: "assets" - path: "/assets" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the asset. - type: integer - display_id: - description: Identifier used to display the asset. - type: - - "null" - - integer - name: - description: Name or title of the asset. - type: - - "null" - - string - description: - description: Description providing additional details about the asset. - type: - - "null" - - string - asset_type_id: - description: Identifier for the type of asset. - type: - - "null" - - integer - asset_tag: - description: Identification tag assigned to the asset. - type: - - "null" - - string - impact: - description: Measure of impact of the asset on operations. - type: - - "null" - - string - author_type: - description: Type of author responsible for the asset. - type: - - "null" - - string - usage_type: - description: Type of usage or purpose of the asset. - type: - - "null" - - string - user_id: - description: Identifier for the user assigned to the asset. - type: - - "null" - - integer - location_id: - description: Identifier for the location where the asset is located. - type: - - "null" - - integer - department_id: - description: Identifier for the department where the asset is assigned. - type: - - "null" - - integer - agent_id: - description: Unique identifier for the agent associated with the asset. - type: - - "null" - - integer - group_id: - description: Identifier for the group to which the asset belongs. - type: - - "null" - - integer - assigned_on: - description: Date when the asset was assigned. - type: - - "null" - - string - created_at: - description: Date and time when the asset record was created. - type: - - "null" - - string - updated_at: - description: Date and time when the asset record was last updated. - type: - - "null" - - string - discovery_enabled: - description: Flag indicating if asset discovery is enabled. - type: - - "null" - - boolean - end_of_life: - description: Date when the asset is expected to reach its end of life. - type: - - "null" - - string - format: "%Y-%m-%d" - software_stream: - $ref: "#/definitions/base_stream" - name: "software" - primary_key: "id" - $parameters: - path_extractor: "applications" - path: "/applications" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: Unique identifier for the software. - type: integer - name: - description: Name of the software. - type: - - "null" - - string - description: - description: Brief description or overview of the software. - type: - - "null" - - string - application_type: - description: Type of application the software belongs to. - type: - - "null" - - string - status: - description: Current status of the software. - type: - - "null" - - string - publisher_id: - description: Identifier of the publisher of the software. - type: - - "null" - - integer - managed_by_id: - description: Identifier of the user or entity managing the software. - type: - - "null" - - integer - notes: - description: Any additional notes or comments related to the software. - type: - - "null" - - string - category: - description: Category of the software. - type: - - "null" - - string - sources: - description: Sources for the software. - type: - - "null" - - array - items: - description: Individual source item related to the software. - additionalProperties: true - user_count: - description: Number of users utilizing the software. - type: - - "null" - - integer - installation_count: - description: Number of installations of the software. - type: - - "null" - - integer - workspace_id: - description: Identifier of the workspace to which the software belongs. - type: - - "null" - - integer - additional_data: - description: Additional data related to the software. - type: - - "null" - - object - created_at: - description: Timestamp for when the software was created. - type: - - "null" - - string - updated_at: - description: Timestamp for when the software was last updated. - type: - - "null" - - string - purchase_orders_stream: - $ref: "#/definitions/base_stream" - name: "purchase_orders" - primary_key: "id" - $parameters: - path_extractor: "purchase_orders" - path: "/purchase_orders" - - schema_loader: - type: InlineSchemaLoader - schema: - $schema: http://json-schema.org/draft-07/schema# - type: object - additionalProperties: true - properties: - id: - description: The unique identifier for the purchase order - type: integer - vendor_id: - description: The ID of the vendor associated with the purchase order - type: - - "null" - - integer - name: - description: The name or title for the purchase order - type: - - "null" - - string - po_number: - description: The purchase order number for identification - type: - - "null" - - string - vendor_details: - description: Details about the vendor supplying the items - type: - - "null" - - string - expected_delivery_date: - description: The expected delivery date for the purchase order - type: - - "null" - - string - created_at: - description: The date and time when the purchase order was created - type: - - "null" - - string - updated_at: - description: The date and time when the purchase order was last updated - type: - - "null" - - string - created_by: - description: The user who created the purchase order - type: - - "null" - - integer - status: - description: The current status of the purchase order - type: - - "null" - - integer - shipping_address: - description: The address where the items will be shipped - type: - - "null" - - string - billing_same_as_shipping: - description: - Indicates whether the billing address is the same as the - shipping address - type: - - "null" - - integer - billing_address: - description: The address used for billing purposes - type: - - "null" - - string - currency_code: - description: The currency code used for the purchase order - type: - - "null" - - string - conversion_rate: - description: The currency conversion rate used for the purchase order - type: number - department_id: - description: The ID of the department associated with the purchase order - type: - - "null" - - integer - discount_percentage: - description: The discount percentage applied to the total cost - type: - - "null" - - integer - tax_percentage: - description: The tax percentage applied to the total cost - type: - - "null" - - integer - shipping_cost: - description: The cost associated with shipping the items - type: - - "null" - - integer - workspace_id: - description: The ID of the workspace in which the purchase order was created - type: - - "null" - - integer - total_cost: - description: - The total cost of the purchase order including taxes and - discounts - type: - - "null" - - number - custom_fields: - description: Any custom fields associated with the purchase order - type: - - "null" - - object - purchase_items: - description: The items or products included in the purchase order - type: array -streams: - - "#/definitions/tickets_stream" - - "#/definitions/satisfaction_survey_responses_stream" - - "#/definitions/problems_stream" - - "#/definitions/changes_stream" - - "#/definitions/releases_stream" - - "#/definitions/requesters_stream" - - "#/definitions/agents_stream" - - "#/definitions/locations_stream" - - "#/definitions/products_stream" - - "#/definitions/vendors_stream" - - "#/definitions/assets_stream" - - "#/definitions/purchase_orders_stream" - - "#/definitions/software_stream" - - "#/definitions/requested_items_stream" - -check: - type: CheckStream - stream_names: - - "tickets" + city: + type: + - "null" + - string + description: City of the vendor's address + country: + type: + - "null" + - string + description: Country of the vendor's address + line1: + type: + - "null" + - string + description: First line of the vendor's address + state: + type: + - "null" + - string + description: State of the vendor's address + zipcode: + type: + - "null" + - string + description: Zipcode of the vendor's address + contact_name: + type: + - "null" + - string + description: Name of the primary contact person + created_at: + type: + - "null" + - string + description: Date and time when vendor data was created + custom_fields: + type: + - "null" + - object + description: Custom fields specific to the vendor + description: + type: + - "null" + - string + description: Description of the vendor + email: + type: + - "null" + - string + description: Email address of the vendor + id: + type: integer + description: Unique identifier for the vendor + mobile: + type: + - "null" + - integer + description: Mobile number of the vendor + name: + type: + - "null" + - string + description: Name of the vendor + phone: + type: + - "null" + - integer + description: Phone number of the vendor + primary_contact_id: + type: + - "null" + - integer + description: ID of the primary contact person + updated_at: + type: + - "null" + - string + description: Date and time when vendor data was last updated + assets: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + agent_id: + type: + - "null" + - integer + description: Unique identifier for the agent associated with the asset. + asset_tag: + type: + - "null" + - string + description: Identification tag assigned to the asset. + asset_type_id: + type: + - "null" + - integer + description: Identifier for the type of asset. + assigned_on: + type: + - "null" + - string + description: Date when the asset was assigned. + author_type: + type: + - "null" + - string + description: Type of author responsible for the asset. + created_at: + type: + - "null" + - string + description: Date and time when the asset record was created. + department_id: + type: + - "null" + - integer + description: Identifier for the department where the asset is assigned. + description: + type: + - "null" + - string + description: Description providing additional details about the asset. + discovery_enabled: + type: + - "null" + - boolean + description: Flag indicating if asset discovery is enabled. + display_id: + type: + - "null" + - integer + description: Identifier used to display the asset. + end_of_life: + type: + - "null" + - string + description: Date when the asset is expected to reach its end of life. + format: "%Y-%m-%d" + group_id: + type: + - "null" + - integer + description: Identifier for the group to which the asset belongs. + id: + type: integer + description: Unique identifier for the asset. + impact: + type: + - "null" + - string + description: Measure of impact of the asset on operations. + location_id: + type: + - "null" + - integer + description: Identifier for the location where the asset is located. + name: + type: + - "null" + - string + description: Name or title of the asset. + updated_at: + type: + - "null" + - string + description: Date and time when the asset record was last updated. + usage_type: + type: + - "null" + - string + description: Type of usage or purpose of the asset. + user_id: + type: + - "null" + - integer + description: Identifier for the user assigned to the asset. + software: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + additional_data: + type: + - "null" + - object + description: Additional data related to the software. + application_type: + type: + - "null" + - string + description: Type of application the software belongs to. + category: + type: + - "null" + - string + description: Category of the software. + created_at: + type: + - "null" + - string + description: Timestamp for when the software was created. + description: + type: + - "null" + - string + description: Brief description or overview of the software. + id: + type: integer + description: Unique identifier for the software. + installation_count: + type: + - "null" + - integer + description: Number of installations of the software. + managed_by_id: + type: + - "null" + - integer + description: Identifier of the user or entity managing the software. + name: + type: + - "null" + - string + description: Name of the software. + notes: + type: + - "null" + - string + description: Any additional notes or comments related to the software. + publisher_id: + type: + - "null" + - integer + description: Identifier of the publisher of the software. + sources: + type: + - "null" + - array + description: Sources for the software. + items: + additionalProperties: true + description: Individual source item related to the software. + status: + type: + - "null" + - string + description: Current status of the software. + updated_at: + type: + - "null" + - string + description: Timestamp for when the software was last updated. + user_count: + type: + - "null" + - integer + description: Number of users utilizing the software. + workspace_id: + type: + - "null" + - integer + description: Identifier of the workspace to which the software belongs. + purchase_orders: + type: object + $schema: http://json-schema.org/draft-07/schema# + additionalProperties: true + properties: + billing_address: + type: + - "null" + - string + description: The address used for billing purposes + billing_same_as_shipping: + type: + - "null" + - integer + description: >- + Indicates whether the billing address is the same as the shipping + address + conversion_rate: + type: number + description: The currency conversion rate used for the purchase order + created_at: + type: + - "null" + - string + description: The date and time when the purchase order was created + created_by: + type: + - "null" + - integer + description: The user who created the purchase order + currency_code: + type: + - "null" + - string + description: The currency code used for the purchase order + custom_fields: + type: + - "null" + - object + description: Any custom fields associated with the purchase order + department_id: + type: + - "null" + - integer + description: The ID of the department associated with the purchase order + discount_percentage: + type: + - "null" + - integer + description: The discount percentage applied to the total cost + expected_delivery_date: + type: + - "null" + - string + description: The expected delivery date for the purchase order + id: + type: integer + description: The unique identifier for the purchase order + name: + type: + - "null" + - string + description: The name or title for the purchase order + po_number: + type: + - "null" + - string + description: The purchase order number for identification + purchase_items: + type: array + description: The items or products included in the purchase order + shipping_address: + type: + - "null" + - string + description: The address where the items will be shipped + shipping_cost: + type: + - "null" + - integer + description: The cost associated with shipping the items + status: + type: + - "null" + - integer + description: The current status of the purchase order + tax_percentage: + type: + - "null" + - integer + description: The tax percentage applied to the total cost + total_cost: + type: + - "null" + - number + description: The total cost of the purchase order including taxes and discounts + updated_at: + type: + - "null" + - string + description: The date and time when the purchase order was last updated + vendor_details: + type: + - "null" + - string + description: Details about the vendor supplying the items + vendor_id: + type: + - "null" + - integer + description: The ID of the vendor associated with the purchase order + workspace_id: + type: + - "null" + - integer + description: The ID of the workspace in which the purchase order was created diff --git a/airbyte-integrations/connectors/source-freshservice/source_freshservice/run.py b/airbyte-integrations/connectors/source-freshservice/source_freshservice/run.py index c7a979f0a59b..6d7c3c48971a 100644 --- a/airbyte-integrations/connectors/source-freshservice/source_freshservice/run.py +++ b/airbyte-integrations/connectors/source-freshservice/source_freshservice/run.py @@ -1,12 +1,13 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # import sys from airbyte_cdk.entrypoint import launch -from source_freshservice import SourceFreshservice + +from .source import SourceFreshservice def run(): diff --git a/airbyte-integrations/connectors/source-freshservice/source_freshservice/source.py b/airbyte-integrations/connectors/source-freshservice/source_freshservice/source.py index d4cdeed0e652..661350ecf5f2 100644 --- a/airbyte-integrations/connectors/source-freshservice/source_freshservice/source.py +++ b/airbyte-integrations/connectors/source-freshservice/source_freshservice/source.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2023 Airbyte, Inc., all rights reserved. +# Copyright (c) 2024 Airbyte, Inc., all rights reserved. # from airbyte_cdk.sources.declarative.yaml_declarative_source import YamlDeclarativeSource diff --git a/airbyte-integrations/connectors/source-freshservice/source_freshservice/spec.yaml b/airbyte-integrations/connectors/source-freshservice/source_freshservice/spec.yaml deleted file mode 100644 index 4eefac53ed51..000000000000 --- a/airbyte-integrations/connectors/source-freshservice/source_freshservice/spec.yaml +++ /dev/null @@ -1,33 +0,0 @@ -documentationUrl: https://docs.airbyte.com/integrations/sources/freshservice -connectionSpecification: - "$schema": http://json-schema.org/draft-07/schema# - title: Freshservice Spec - type: object - required: - - domain_name - - api_key - - start_date - additionalProperties: true - properties: - domain_name: - type: string - title: Domain Name - description: The name of your Freshservice domain - examples: - - mydomain.freshservice.com - api_key: - title: API Key - type: string - description: - Freshservice API Key. See here. - The key is case sensitive. - airbyte_secret: true - start_date: - title: Start Date - type: string - description: - UTC date and time in the format 2020-10-01T00:00:00Z. Any data - before this date will not be replicated. - examples: - - "2020-10-01T00:00:00Z" - pattern: "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$" diff --git a/docs/integrations/sources/freshservice.md b/docs/integrations/sources/freshservice.md index 70e1e39e68b2..bedcc6112977 100644 --- a/docs/integrations/sources/freshservice.md +++ b/docs/integrations/sources/freshservice.md @@ -53,7 +53,8 @@ Please read [How to find your API key](https://api.freshservice.com/#authenticat ## Changelog | Version | Date | Pull Request | Subject | -| :------ | :--------- | :------------------------------------------------------- | :------------------------------------------------------------------------------------- | +| :------ | :--------- | :------------------------------------------------------- |:---------------------------------------------------------------------------------------| +| 1.3.6 | 2024-05-15 | [38195](https://github.com/airbytehq/airbyte/pull/38195) | Make connector compatible with builder | | 1.3.5 | 2024-04-19 | [37162](https://github.com/airbytehq/airbyte/pull/37162) | Updating to 0.80.0 CDK | | 1.3.4 | 2024-04-18 | [37162](https://github.com/airbytehq/airbyte/pull/37162) | Manage dependencies with Poetry. | | 1.3.3 | 2024-04-15 | [37162](https://github.com/airbytehq/airbyte/pull/37162) | Base image migration: remove Dockerfile and use the python-connector-base image |