From cb31dc289b5f7f354f8b8e5723b60e1a4deb683b Mon Sep 17 00:00:00 2001 From: Christo Grabowski <108154848+ChristoGrab@users.noreply.github.com> Date: Wed, 10 Jan 2024 14:03:20 -0500 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=A8=F0=9F=9A=A8=20Source=20Microsoft?= =?UTF-8?q?=20Teams:=20Update=20Schemas=20(#33959)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../source-microsoft-teams/Dockerfile | 2 +- .../source-microsoft-teams/metadata.yaml | 10 +- .../sample_files/configured_catalog.json | 750 +----------------- .../source-microsoft-teams/setup.py | 2 +- .../source_microsoft_teams/client.py | 29 +- .../schemas/channel.json | 19 +- .../schemas/channel_members.json | 34 +- .../schemas/channel_message_replies.json | 203 +++-- .../schemas/channel_messages.json | 55 +- .../schemas/channel_tabs.json | 30 +- .../schemas/channels.json | 18 +- .../schemas/conversation_posts.json | 44 +- .../schemas/conversation_threads.json | 20 +- .../schemas/conversations.json | 26 +- .../schemas/group_members.json | 34 +- .../schemas/group_owners.json | 36 +- .../schemas/groups.json | 143 ++-- .../schemas/team_device_usage_report.json | 37 +- .../schemas/team_drives.json | 34 +- .../source_microsoft_teams/schemas/users.json | 31 +- .../source_microsoft_teams/spec.json | 8 +- .../sources/microsoft-teams-migrations.md | 38 + docs/integrations/sources/microsoft-teams.md | 43 +- 23 files changed, 495 insertions(+), 1151 deletions(-) create mode 100644 docs/integrations/sources/microsoft-teams-migrations.md diff --git a/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile b/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile index 3cdb20113e74..4b206258d0b3 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile +++ b/airbyte-integrations/connectors/source-microsoft-teams/Dockerfile @@ -34,5 +34,5 @@ COPY source_microsoft_teams ./source_microsoft_teams ENV AIRBYTE_ENTRYPOINT "python /airbyte/integration_code/main.py" ENTRYPOINT ["python", "/airbyte/integration_code/main.py"] -LABEL io.airbyte.version=0.2.5 +LABEL io.airbyte.version=1.0.0 LABEL io.airbyte.name=airbyte/source-microsoft-teams diff --git a/airbyte-integrations/connectors/source-microsoft-teams/metadata.yaml b/airbyte-integrations/connectors/source-microsoft-teams/metadata.yaml index cf90d7d46549..a554cf83e32e 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/metadata.yaml +++ b/airbyte-integrations/connectors/source-microsoft-teams/metadata.yaml @@ -2,7 +2,7 @@ data: connectorSubtype: api connectorType: source definitionId: eaf50f04-21dd-4620-913b-2a83f5635227 - dockerImageTag: 0.2.5 + dockerImageTag: 1.0.0 dockerRepository: airbyte/source-microsoft-teams githubIssueLabel: source-microsoft-teams icon: microsoft-teams.svg @@ -13,6 +13,14 @@ data: enabled: true oss: enabled: true + releases: + breakingChanges: + 1.0.0: + message: + Version 1.0.0 introduces breaking schema changes to all streams. + A full schema refresh is required to upgrade to this version. + For more details, see our migration guide. + upgradeDeadline: "2024-01-24" releaseStage: alpha documentationUrl: https://docs.airbyte.com/integrations/sources/microsoft-teams tags: diff --git a/airbyte-integrations/connectors/source-microsoft-teams/sample_files/configured_catalog.json b/airbyte-integrations/connectors/source-microsoft-teams/sample_files/configured_catalog.json index ca4a5fc9076c..a395f1f9b46a 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/sample_files/configured_catalog.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/sample_files/configured_catalog.json @@ -5,55 +5,7 @@ "name": "users", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "display_name": { - "type": ["null", "string"] - }, - "given_name": { - "type": ["null", "string"] - }, - "job_title": { - "type": ["null", "string"] - }, - "mail": { - "type": ["null", "string"] - }, - "mobile_phone": { - "type": ["null", "string"] - }, - "office_location": { - "type": ["null", "string"] - }, - "preferred_language": { - "type": ["null", "string"] - }, - "surname": { - "type": ["null", "string"] - }, - "user_principal_name": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -63,159 +15,7 @@ "name": "groups", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "deleted_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "classification": { - "type": ["null", "string"] - }, - "created_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "creation_options": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "description": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "expiration_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "group_types": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "is_assignable_to_role": { - "type": ["null", "boolean"] - }, - "mail": { - "type": ["null", "string"] - }, - "mail_enabled": { - "type": ["null", "boolean"] - }, - "mail_nickname": { - "type": ["null", "string"] - }, - "membership_rule": { - "type": ["null", "string"] - }, - "membership_rule_processing_state": { - "type": ["null", "string"] - }, - "onPremises_domain_name": { - "type": ["null", "string"] - }, - "on_premises_last_sync_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "on_premises_net_bios_name": { - "type": ["null", "string"] - }, - "on_premises_sam_account_name": { - "type": ["null", "string"] - }, - "on_premises_security_identifier": { - "type": ["null", "string"] - }, - "on_premises_sync_enabled": { - "type": ["null", "boolean"] - }, - "preferred_data_location": { - "type": ["null", "string"] - }, - "preferred_language": { - "type": ["null", "string"] - }, - "proxy_addresses": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "renewed_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "resource_behavior_options": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "resource_provisioning_options": { - "type": ["null", "array"], - "items": { - "type": ["null", "string"] - } - }, - "security_enabled": { - "type": ["null", "boolean"] - }, - "security_edentifier": { - "type": ["null", "string"] - }, - "theme": { - "type": ["null", "string"] - }, - "visibility": { - "type": ["null", "string"] - }, - "on_premises_provisioning_errors": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -225,55 +25,7 @@ "name": "group_members", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "display_name": { - "type": ["null", "string"] - }, - "given_name": { - "type": ["null", "string"] - }, - "job_title": { - "type": ["null", "string"] - }, - "mail": { - "type": ["null", "string"] - }, - "mobile_phone": { - "type": ["null", "string"] - }, - "office_location": { - "type": ["null", "string"] - }, - "preferred_language": { - "type": ["null", "string"] - }, - "surname": { - "type": ["null", "string"] - }, - "user_principal_name": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -283,58 +35,7 @@ "name": "group_owners", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "group_id": { - "type": ["null", "string"] - }, - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "display_name": { - "type": ["null", "string"] - }, - "given_name": { - "type": ["null", "string"] - }, - "job_title": { - "type": ["null", "string"] - }, - "mail": { - "type": ["null", "string"] - }, - "mobile_phone": { - "type": ["null", "string"] - }, - "office_location": { - "type": ["null", "string"] - }, - "preferred_language": { - "type": ["null", "string"] - }, - "surname": { - "type": ["null", "string"] - }, - "user_principal_name": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -344,27 +45,7 @@ "name": "channels", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "description": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "web_url": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -374,40 +55,7 @@ "name": "channel_members", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "roles": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "user_id": { - "type": ["null", "string"] - }, - "email": { - "type": ["null", "string"] - }, - "channel_id": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -417,72 +65,7 @@ "name": "channel_tabs", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "group_id": { - "type": ["null", "string"] - }, - "channel_id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "web_url": { - "type": ["null", "string"] - }, - "sort_order_index": { - "type": ["null", "string"] - }, - "teams_app": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "distribution_method": { - "type": ["null", "string"] - } - } - }, - "configuration": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "entity_id": { - "type": ["null", "string"] - }, - "content_url": { - "type": ["null", "string"] - }, - "remove_url": { - "type": ["null", "string"] - }, - "website_url": { - "type": ["null", "string"] - }, - "wiki_tab_id": { - "type": ["null", "integer"] - }, - "wiki_default_tab": { - "type": ["null", "boolean"] - }, - "has_content": { - "type": ["null", "boolean"] - } - } - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -492,72 +75,7 @@ "name": "conversations", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "group_id": { - "type": ["null", "string"] - }, - "channel_id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "web_url": { - "type": ["null", "string"] - }, - "sort_order_index": { - "type": ["null", "string"] - }, - "teams_app": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "distribution_method": { - "type": ["null", "string"] - } - } - }, - "configuration": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "entity_id": { - "type": ["null", "string"] - }, - "content_url": { - "type": ["null", "string"] - }, - "remove_url": { - "type": ["null", "string"] - }, - "website_url": { - "type": ["null", "string"] - }, - "wiki_tab_id": { - "type": ["null", "integer"] - }, - "wiki_default_tab": { - "type": ["null", "boolean"] - }, - "has_content": { - "type": ["null", "boolean"] - } - } - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -567,40 +85,7 @@ "name": "conversation_threads", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "group_id": { - "type": ["null", "string"] - }, - "conversation_id": { - "type": ["null", "string"] - }, - "topic": { - "type": ["null", "string"] - }, - "has_attachments": { - "type": ["null", "boolean"] - }, - "last_delivered_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "unique_senders": { - "type": ["null", "string"] - }, - "preview": { - "type": ["null", "string"] - }, - "is_locked": { - "type": ["null", "boolean"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -610,100 +95,7 @@ "name": "conversation_posts", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "thread_id": { - "type": ["null", "string"] - }, - "conversation_id": { - "type": ["null", "string"] - }, - "created_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "last_modified_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "change_key": { - "type": ["null", "string"] - }, - "categories": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "received_date_time": { - "type": ["null", "string"], - "format": "date-time" - }, - "has_attachments": { - "type": ["null", "boolean"] - }, - "body": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "content_type": { - "type": ["null", "string"] - }, - "content": { - "type": ["null", "string"] - } - } - }, - "from": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "emailAddress": { - "type": ["null", "object"], - "additionalProperties": false, - "properties": { - "name": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - } - } - } - } - }, - "sender": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "emailAddress": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "name": { - "type": ["null", "string"] - }, - "address": { - "type": ["null", "string"] - } - } - } - } - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -713,84 +105,7 @@ "name": "team_drives", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "id": { - "type": ["null", "string"] - }, - "last_modified_date_time": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "web_url": { - "type": ["null", "string"] - }, - "drive_type": { - "type": ["null", "string"] - }, - "created_by": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "user": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "display_name": { - "type": ["null", "string"] - } - } - } - } - }, - "owner": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "group": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "email": { - "type": ["null", "string"] - }, - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - } - } - } - } - }, - "quota": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "deleted": { - "type": ["null", "integer"] - }, - "remaining": { - "type": ["null", "number"] - }, - "state": { - "type": ["null", "string"] - }, - "total": { - "type": ["null", "number"] - }, - "used": { - "type": ["null", "integer"] - } - } - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" @@ -800,48 +115,7 @@ "name": "team_device_usage_report", "supported_sync_modes": ["full_refresh"], "source_defined_cursor": false, - "json_schema": { - "$schema": "http://json-schema.org/draft-07/schema#", - "type": "object", - "properties": { - "report_refresh_date": { - "type": ["null", "string"] - }, - "user_principal_name": { - "type": ["null", "string"] - }, - "last_activity_date": { - "type": ["null", "string"] - }, - "is_deleted": { - "type": ["null", "string"] - }, - "deleted_date": { - "type": ["null", "string"] - }, - "used_web": { - "type": ["null", "string"] - }, - "used_windows_phone": { - "type": ["null", "string"] - }, - "used_i_os": { - "type": ["null", "string"] - }, - "used_mac": { - "type": ["null", "string"] - }, - "used_android_phone": { - "type": ["null", "string"] - }, - "used_windows": { - "type": ["null", "string"] - }, - "report_period": { - "type": ["null", "string"] - } - } - } + "json_schema": {} }, "sync_mode": "full_refresh", "destination_sync_mode": "overwrite" diff --git a/airbyte-integrations/connectors/source-microsoft-teams/setup.py b/airbyte-integrations/connectors/source-microsoft-teams/setup.py index 1867013845c2..6cc04d3f3b07 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/setup.py +++ b/airbyte-integrations/connectors/source-microsoft-teams/setup.py @@ -6,7 +6,7 @@ from setuptools import find_packages, setup MAIN_REQUIREMENTS = [ - "airbyte-cdk~=0.1", + "airbyte-cdk", "requests", "msal==1.7.0", "backoff", diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/client.py b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/client.py index 8a3d4893fa77..c16459025f98 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/client.py +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/client.py @@ -243,19 +243,24 @@ def get_team_device_usage_report(self): csv_response.readline() with io.TextIOWrapper(csv_response, encoding="utf-8-sig") as text_file: field_names = [ - "report_refresh_date", - "user_principal_name", - "last_activity_date", - "is_deleted", - "deleted_date", - "used_web", - "used_windows_phone", - "used_i_os", - "used_mac", - "used_android_phone", - "used_windows", - "report_period", + "reportRefreshDate", + "userId", + "userPrincipalName", + "lastActivityDate", + "isDeleted", + "deletedDate", + "usedWeb", + "usedWindowsPhone", + "usedIOs", + "usedMac", + "usedAndroidPhone", + "usedWindows", + "usedChromeOS", + "usedLinux", + "isLisenced", + "reportPeriod", ] + reader = csv.DictReader(text_file, fieldnames=field_names) for row in reader: yield [ diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel.json index 536c1efc8116..b99d57b03940 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel.json @@ -6,21 +6,14 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, "roles": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, "description": { "type": ["null", "string"] @@ -28,7 +21,7 @@ "email": { "type": ["null", "string"] }, - "web_url": { + "webUrl": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_members.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_members.json index 0f72d22d63c5..3c236063c1c6 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_members.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_members.json @@ -6,30 +6,34 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "@odata.type": { + "type": ["null", "string"] + }, + "displayName": { "type": ["null", "string"] }, "roles": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] - }, - "user_id": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } + }, + "userId": { "type": ["null", "string"] }, "email": { "type": ["null", "string"] }, - "channel_id": { + "channelId": { "type": ["null", "string"] + }, + "tenantId": { + "type": ["null", "string"] + }, + "visibleHistoryStartDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" } } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_message_replies.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_message_replies.json index 9e58d5f02fbe..ac7cbb06d002 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_message_replies.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_message_replies.json @@ -6,26 +6,34 @@ "id": { "type": ["null", "string"] }, - "reply_to_id": { + "replyToId": { "type": ["null", "string"] }, "etag": { "type": ["null", "string"] }, - "message_type": { + "messageType": { "type": ["null", "string"] }, - "created_date_time": { + "createdDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "last_modified_date_time": { + "lastModifiedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "deleted_date_time": { + "lastEditedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, + "deletedDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, "subject": { "type": ["null", "string"] @@ -33,7 +41,7 @@ "summary": { "type": ["null", "string"] }, - "chat_id": { + "chatId": { "type": ["null", "string"] }, "importance": { @@ -42,10 +50,10 @@ "locale": { "type": ["null", "string"] }, - "web_url": { + "webUrl": { "type": ["null", "string"] }, - "policy_violation": { + "policyViolation": { "type": ["null", "string"] }, "from": { @@ -68,10 +76,13 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "user_identity_type": { + "userIdentityType": { + "type": ["null", "string"] + }, + "tenantId": { "type": ["null", "string"] } } @@ -82,7 +93,7 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "content_type": { + "contentType": { "type": ["null", "string"] }, "content": { @@ -90,156 +101,136 @@ } } }, - "channel_identity": { + "channelIdentity": { "type": ["null", "object"], "additionalProperties": true, "properties": { "teamId": { "type": ["null", "string"] }, - "channel_id": { + "channelId": { "type": ["null", "string"] } } }, "attachments": { - "anyOf": [ - { - "type": "array", - "items": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "content_type": { - "type": ["null", "string"] - }, - "content_url": { - "type": ["null", "string"] - }, - "content": { - "type": ["null", "string"] - }, - "name": { - "type": ["null", "string"] - }, - "thumbnail_url": { - "type": ["null", "string"] - } - } + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { + "type": ["null", "string"] + }, + "contentType": { + "type": ["null", "string"] + }, + "contentUrl": { + "type": ["null", "string"] + }, + "content": { + "type": ["null", "string"] + }, + "name": { + "type": ["null", "string"] + }, + "thumbnailUrl": { + "type": ["null", "string"] } - }, - { - "type": "null" } - ] + } }, "mentions": { - "anyOf": [ - { - "type": "array", - "items": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "id": { + "type": ["null", "integer"] + }, + "mentionText": { + "type": ["null", "string"] + }, + "mentioned": { "type": ["null", "object"], "additionalProperties": true, "properties": { - "id": { - "type": ["null", "integer"] + "application": { + "type": ["null", "string"] }, - "mention_text": { + "device": { "type": ["null", "string"] }, - "mentioned": { + "conversation": { + "type": ["null", "string"] + }, + "user": { "type": ["null", "object"], "additionalProperties": true, "properties": { - "application": { + "id": { "type": ["null", "string"] }, - "device": { + "displayName": { "type": ["null", "string"] }, - "conversation": { + "userIdentityType": { "type": ["null", "string"] - }, - "user": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "user_identity_type": { - "type": ["null", "string"] - } - } } } } } } - }, - { - "type": "null" } - ] + } }, "reactions": { - "anyOf": [ - { - "type": "array", - "items": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "reactionType": { + "type": ["null", "string"] + }, + "createdDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, + "user": { "type": ["null", "object"], "additionalProperties": true, "properties": { - "reaction_type": { + "application": { + "type": ["null", "string"] + }, + "device": { "type": ["null", "string"] }, - "created_date_time": { - "type": ["null", "string"], - "format": "date-time" + "conversation": { + "type": ["null", "string"] }, "user": { "type": ["null", "object"], "additionalProperties": true, "properties": { - "application": { + "id": { "type": ["null", "string"] }, - "device": { + "displayName": { "type": ["null", "string"] }, - "conversation": { + "userIdentityType": { "type": ["null", "string"] - }, - "user": { - "type": ["null", "object"], - "additionalProperties": true, - "properties": { - "id": { - "type": ["null", "string"] - }, - "display_name": { - "type": ["null", "string"] - }, - "user_identity_type": { - "type": ["null", "string"] - } - } } } } } } - }, - { - "type": "null" } - ] + } } } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_messages.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_messages.json index 3b72078dfbb9..ced93bf8121b 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_messages.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_messages.json @@ -6,26 +6,29 @@ "id": { "type": ["null", "string"] }, - "reply_to_id": { + "replyToId": { "type": ["null", "string"] }, "etag": { "type": ["null", "string"] }, - "message_type": { + "messageType": { "type": ["null", "string"] }, - "created_date_time": { + "createdDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "lastModified_date_time": { + "lastModifiedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "deleted_date_time": { + "deletedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, "subject": { "type": ["null", "string"] @@ -33,7 +36,7 @@ "summary": { "type": ["null", "string"] }, - "chat_id": { + "chatId": { "type": ["null", "string"] }, "importance": { @@ -42,10 +45,10 @@ "locale": { "type": ["null", "string"] }, - "web_url": { + "webUrl": { "type": ["null", "string"] }, - "policy_violation": { + "policyViolation": { "type": ["null", "string"] }, "from": { @@ -68,10 +71,10 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "user_identity_type": { + "userIdentityType": { "type": ["null", "string"] } } @@ -82,7 +85,7 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "content_type": { + "contentType": { "type": ["null", "string"] }, "content": { @@ -90,14 +93,14 @@ } } }, - "channel_identity": { + "channelIdentity": { "type": ["null", "object"], "additionalProperties": true, "properties": { "teamId": { "type": ["null", "string"] }, - "channel_id": { + "channelId": { "type": ["null", "string"] } } @@ -113,10 +116,10 @@ "id": { "type": ["null", "string"] }, - "content_type": { + "contentType": { "type": ["null", "string"] }, - "content_url": { + "contentUrl": { "type": ["null", "string"] }, "content": { @@ -125,7 +128,7 @@ "name": { "type": ["null", "string"] }, - "thumbnail_url": { + "thumbnailUrl": { "type": ["null", "string"] } } @@ -147,7 +150,7 @@ "id": { "type": ["null", "integer"] }, - "mention_text": { + "mentionText": { "type": ["null", "string"] }, "mentioned": { @@ -170,10 +173,10 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "userIdentity_type": { + "userIdentityType": { "type": ["null", "string"] } } @@ -196,10 +199,10 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "reaction_type": { + "reactionType": { "type": ["null", "string"] }, - "created_date_time": { + "createdDateTime": { "type": ["null", "string"], "format": "date-time" }, @@ -223,10 +226,10 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "user_identity_type": { + "userIdentityType": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_tabs.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_tabs.json index c66b4bf72179..ed0867b1e4c7 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_tabs.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channel_tabs.json @@ -6,32 +6,32 @@ "id": { "type": ["null", "string"] }, - "group_id": { + "groupId": { "type": ["null", "string"] }, - "channel_id": { + "channelId": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "web_url": { + "webUrl": { "type": ["null", "string"] }, - "sort_order_index": { + "sortOrderIndex": { "type": ["null", "string"] }, - "teams_app": { + "teamsApp": { "type": ["null", "object"], "additionalProperties": true, "properties": { "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "distribution_method": { + "distributionMethod": { "type": ["null", "string"] } } @@ -40,25 +40,25 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "entity_id": { + "entityId": { "type": ["null", "string"] }, - "content_url": { + "contentUrl": { "type": ["null", "string"] }, - "remove_url": { + "removeUrl": { "type": ["null", "string"] }, - "website_url": { + "websiteUrl": { "type": ["null", "string"] }, - "wiki_tab_id": { + "wikiTabId": { "type": ["null", "integer"] }, - "wiki_default_tab": { + "wikiDefaultTab": { "type": ["null", "boolean"] }, - "has_content": { + "hasContent": { "type": ["null", "boolean"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channels.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channels.json index 156390fc505e..999eae607c23 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channels.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/channels.json @@ -6,7 +6,12 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "createdDateTime": { + "type": "string", + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, + "displayName": { "type": ["null", "string"] }, "description": { @@ -15,7 +20,16 @@ "email": { "type": ["null", "string"] }, - "web_url": { + "isFavoriteByDefault": { + "type": ["null", "boolean"] + }, + "membershipType": { + "type": ["null", "string"] + }, + "tenantId": { + "type": ["null", "string"] + }, + "webUrl": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_posts.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_posts.json index 24bf5cd4268e..4389b581962a 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_posts.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_posts.json @@ -6,48 +6,47 @@ "id": { "type": ["null", "string"] }, - "thread_id": { + "threadId": { "type": ["null", "string"] }, - "conversation_id": { + "conversationId": { "type": ["null", "string"] }, - "created_date_time": { + "createdDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "last_modified_date_time": { + "lastModifiedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "change_key": { + "@odata.etag": { + "type": ["null", "string"] + }, + "changeKey": { "type": ["null", "string"] }, "categories": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "received_date_time": { + "receivedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "has_attachments": { + "hasAttachments": { "type": ["null", "boolean"] }, "body": { "type": ["null", "object"], "additionalProperties": true, "properties": { - "content_type": { + "contentType": { "type": ["null", "string"] }, "content": { @@ -61,7 +60,6 @@ "properties": { "emailAddress": { "type": ["null", "object"], - "additionalProperties": false, "properties": { "name": { "type": ["null", "string"] diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_threads.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_threads.json index 35078c5f4d89..54c27157062e 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_threads.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversation_threads.json @@ -6,29 +6,33 @@ "id": { "type": ["null", "string"] }, - "group_id": { + "groupId": { "type": ["null", "string"] }, - "conversation_id": { + "conversationId": { "type": ["null", "string"] }, "topic": { "type": ["null", "string"] }, - "has_attachments": { + "hasAttachments": { "type": ["null", "boolean"] }, - "last_delivered_date_time": { + "lastDeliveredDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "unique_senders": { - "type": ["null", "string"] + "uniqueSenders": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, "preview": { "type": ["null", "string"] }, - "is_locked": { + "isLocked": { "type": ["null", "boolean"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversations.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversations.json index 58a88cffff10..e9045284dd5c 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversations.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/conversations.json @@ -6,31 +6,25 @@ "id": { "type": ["null", "string"] }, - "group_id": { + "groupId": { "type": ["null", "string"] }, "topic": { "type": ["null", "string"] }, - "has_attachments": { + "hasAttachments": { "type": ["null", "boolean"] }, - "last_delivered_date_time": { + "lastDeliveredDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "unique_senders": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "uniqueSenders": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, "preview": { "type": ["null", "string"] diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_members.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_members.json index ef6a3bb26028..2bf02fd72977 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_members.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_members.json @@ -6,44 +6,40 @@ "id": { "type": ["null", "string"] }, - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "@odata.type": { + "type": ["null", "string"] + }, + "businessPhones": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "given_name": { + "givenName": { "type": ["null", "string"] }, - "job_title": { + "jobTitle": { "type": ["null", "string"] }, "mail": { "type": ["null", "string"] }, - "mobile_phone": { + "mobilePhone": { "type": ["null", "string"] }, - "office_location": { + "officeLocation": { "type": ["null", "string"] }, - "preferred_language": { + "preferredLanguage": { "type": ["null", "string"] }, "surname": { "type": ["null", "string"] }, - "user_principal_name": { + "userPrincipalName": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_owners.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_owners.json index dc222c183354..aa1b8915682d 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_owners.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/group_owners.json @@ -6,47 +6,43 @@ "id": { "type": ["null", "string"] }, - "group_id": { + "groupId": { "type": ["null", "string"] }, - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "@odata.type": { + "type": ["null", "string"] + }, + "businessPhones": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "given_name": { + "givenName": { "type": ["null", "string"] }, - "job_title": { + "jobTitle": { "type": ["null", "string"] }, "mail": { "type": ["null", "string"] }, - "mobile_phone": { + "mobilePhone": { "type": ["null", "string"] }, - "office_location": { + "officeLocation": { "type": ["null", "string"] }, - "preferred_language": { + "preferredLanguage": { "type": ["null", "string"] }, "surname": { "type": ["null", "string"] }, - "user_principal_name": { + "userPrincipalName": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/groups.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/groups.json index a348b7743603..2876585b6fad 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/groups.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/groups.json @@ -6,149 +6,144 @@ "id": { "type": ["null", "string"] }, - "deleted_date_time": { + "deletedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, "classification": { "type": ["null", "string"] }, - "created_date_time": { + "createdDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "creation_options": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "creationOptions": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, "description": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "expiration_date_time": { + "expirationDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "group_types": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "groupTypes": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "is_assignable_to_role": { + "isAssignableToRole": { "type": ["null", "boolean"] }, "mail": { "type": ["null", "string"] }, - "mail_enabled": { + "mailEnabled": { "type": ["null", "boolean"] }, - "mail_nickname": { + "mailNickname": { "type": ["null", "string"] }, - "membership_rule": { + "membershipRule": { "type": ["null", "string"] }, - "membership_rule_processing_state": { + "membershipRuleProcessingState": { "type": ["null", "string"] }, - "onPremises_domain_name": { + "onPremisesDomainName": { "type": ["null", "string"] }, - "on_premises_last_sync_date_time": { + "onPremisesLastSyncDateTime": { "type": ["null", "string"], "format": "date-time" }, - "on_premises_net_bios_name": { + "onPremisesNetBiosName": { "type": ["null", "string"] }, - "on_premises_sam_account_name": { + "onPremisesSamAccountName": { "type": ["null", "string"] }, - "on_premises_security_identifier": { + "onPremisesSecurityIdentifier": { "type": ["null", "string"] }, - "on_premises_sync_enabled": { + "onPremisesSyncEnabled": { "type": ["null", "boolean"] }, - "preferred_data_location": { + "preferredDataLocation": { "type": ["null", "string"] }, - "preferred_language": { + "preferredLanguage": { "type": ["null", "string"] }, - "proxy_addresses": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "proxyAddresses": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "renewed_date_time": { + "renewedDateTime": { "type": ["null", "string"], - "format": "date-time" + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" }, - "resource_behavior_options": { + "resourceBehaviorOptions": { "type": ["null", "array"], "items": { "type": ["null", "string"] } }, - "resource_provisioning_options": { + "resourceProvisioningOptions": { "type": ["null", "array"], "items": { "type": ["null", "string"] } }, - "security_enabled": { + "securityEnabled": { "type": ["null", "boolean"] }, - "security_edentifier": { + "securityIdentifier": { "type": ["null", "string"] }, + "serviceProvisioningErrors": { + "type": ["null", "array"], + "items": { + "type": ["null", "object"], + "properties": { + "createdDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, + "isResolved": { + "type": ["null", "boolean"] + }, + "serviceInstance": { + "type": ["null", "string"] + } + } + } + }, "theme": { "type": ["null", "string"] }, "visibility": { "type": ["null", "string"] }, - "on_premises_provisioning_errors": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "onPremisesProvisioningErrors": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } } } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_device_usage_report.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_device_usage_report.json index 40066ae4fc4d..8ae6a571f5d3 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_device_usage_report.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_device_usage_report.json @@ -3,40 +3,53 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "report_refresh_date": { + "reportRefreshDate": { + "type": ["null", "string"], + "format": "date" + }, + "userId": { + "type": ["null", "string"] + }, + "userPrincipalName": { + "type": ["null", "string"] + }, + "lastActivityDate": { + "type": ["null", "string"] + }, + "isDeleted": { "type": ["null", "string"] }, - "user_principal_name": { + "deletedDate": { "type": ["null", "string"] }, - "last_activity_date": { + "usedWeb": { "type": ["null", "string"] }, - "is_deleted": { + "usedWindowsPhone": { "type": ["null", "string"] }, - "deleted_date": { + "usedIOs": { "type": ["null", "string"] }, - "used_web": { + "usedMac": { "type": ["null", "string"] }, - "used_windows_phone": { + "usedAndroidPhone": { "type": ["null", "string"] }, - "used_i_os": { + "usedWindows": { "type": ["null", "string"] }, - "used_mac": { + "usedChromeOS": { "type": ["null", "string"] }, - "used_android_phone": { + "usedLinux": { "type": ["null", "string"] }, - "used_windows": { + "isLisenced": { "type": ["null", "string"] }, - "report_period": { + "reportPeriod": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_drives.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_drives.json index 0b39515c620e..fbb40f7dcf97 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_drives.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/team_drives.json @@ -6,19 +6,41 @@ "id": { "type": ["null", "string"] }, - "last_modified_date_time": { + "createdDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, + "description": { "type": ["null", "string"] }, + "lastModifiedBy": { + "type": ["null", "object"], + "additionalProperties": true, + "properties": { + "displayName": { + "type": ["null", "string"] + }, + "id": { + "type": ["null", "string"] + } + } + }, + "lastModifiedDateTime": { + "type": ["null", "string"], + "format": "date-time", + "airbyte_type": "timestamp_without_timezone" + }, "name": { "type": ["null", "string"] }, - "web_url": { + "webUrl": { "type": ["null", "string"] }, - "drive_type": { + "driveType": { "type": ["null", "string"] }, - "created_by": { + "createdBy": { "type": ["null", "object"], "additionalProperties": true, "properties": { @@ -26,7 +48,7 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "display_name": { + "displayName": { "type": ["null", "string"] } } @@ -47,7 +69,7 @@ "id": { "type": ["null", "string"] }, - "display_name": { + "displayName": { "type": ["null", "string"] } } diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/users.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/users.json index b5853c0d396e..e02d86a53106 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/users.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/schemas/users.json @@ -3,44 +3,37 @@ "type": ["null", "object"], "additionalProperties": true, "properties": { - "business_phones": { - "anyOf": [ - { - "type": "array", - "items": { - "type": "string" - } - }, - { - "type": "null" - } - ] + "businessPhones": { + "type": ["null", "array"], + "items": { + "type": ["null", "string"] + } }, - "display_name": { + "displayName": { "type": ["null", "string"] }, - "given_name": { + "givenName": { "type": ["null", "string"] }, - "job_title": { + "jobTitle": { "type": ["null", "string"] }, "mail": { "type": ["null", "string"] }, - "mobile_phone": { + "mobilePhone": { "type": ["null", "string"] }, - "office_location": { + "officeLocation": { "type": ["null", "string"] }, - "preferred_language": { + "preferredLanguage": { "type": ["null", "string"] }, "surname": { "type": ["null", "string"] }, - "user_principal_name": { + "userPrincipalName": { "type": ["null", "string"] }, "id": { diff --git a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/spec.json b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/spec.json index ab4af0e7d1ed..39de5a8b8a96 100644 --- a/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/spec.json +++ b/airbyte-integrations/connectors/source-microsoft-teams/source_microsoft_teams/spec.json @@ -27,7 +27,6 @@ "client_secret", "refresh_token" ], - "additionalProperties": false, "properties": { "auth_type": { "type": "string", @@ -39,7 +38,8 @@ "tenant_id": { "title": "Directory (tenant) ID", "type": "string", - "description": "A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL" + "description": "A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL", + "airbyte_secret": true }, "client_id": { "title": "Client ID", @@ -64,7 +64,6 @@ "type": "object", "title": "Authenticate via Microsoft", "required": ["tenant_id", "client_id", "client_secret"], - "additionalProperties": false, "properties": { "auth_type": { "type": "string", @@ -76,7 +75,8 @@ "tenant_id": { "title": "Directory (tenant) ID", "type": "string", - "description": "A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL" + "description": "A globally unique identifier (GUID) that is different than your organization name or domain. Follow these steps to obtain: open one of the Teams where you belong inside the Teams Application -> Click on the … next to the Team title -> Click on Get link to team -> Copy the link to the team and grab the tenant ID form the URL", + "airbyte_secret": true }, "client_id": { "title": "Client ID", diff --git a/docs/integrations/sources/microsoft-teams-migrations.md b/docs/integrations/sources/microsoft-teams-migrations.md new file mode 100644 index 000000000000..5610ecd721ad --- /dev/null +++ b/docs/integrations/sources/microsoft-teams-migrations.md @@ -0,0 +1,38 @@ +# Microsoft teams Migration Guide + +## Upgrading to 1.0.0 + +Version 1.0.0 of the Microsoft Teams source connector introduces breaking changes to the schemas of all streams. A full schema refresh is required to ensure a seamless upgrade to this version. + +### Refresh schemas and reset data + +1. Select **Connections** in the main navbar. +2. From the list of your existing connections, select the connection(s) affected by the update. +3. Select the **Replication** tab, then select **Refresh source schema**. + +:::note +Any detected schema changes will be listed for your review. Select **OK** when you are ready to proceed. +::: + +4. At the bottom of the page, select **Save changes**. + +:::caution +Depending on your destination, you may be prompted to **Reset all streams**. Although this step is not required to proceed, it is highly recommended for users who have selected `Full Refresh | Append` sync mode, as the updated schema may lead to inconsistencies in the data structure within the destination. +::: + +5. Select **Save connection**. This will reset the data in your destination (if selected) and initiate a fresh sync. + +For more information on resetting your data in Airbyte, see [this page](https://docs.airbyte.com/operator-guides/reset). + +### Changes in 1.0.0 + +- The naming convention for field names in previous versions used "snake_case", which is not aligned with the "camelCase" convention used by the Microsoft Graph API. For example: + +`user_id` -> `userId` +`created_date` -> `createdDate` + +With the update to "camelCase", fields that may have been unrecognized or omitted in earlier versions will now be properly mapped and included in the data synchronization process, enhancing the accuracy and completeness of your data. + +- The `team_device_usage_report` stream contained a fatal bug that could lead to crashes during syncs. You should now be able to reliably use this stream during syncs. + +- `Date` and `date-time` fields have been typed as airbyte_type `date` and `timestamp_without_timezone`, respectively. diff --git a/docs/integrations/sources/microsoft-teams.md b/docs/integrations/sources/microsoft-teams.md index 1adde3295778..cc3846a489d3 100644 --- a/docs/integrations/sources/microsoft-teams.md +++ b/docs/integrations/sources/microsoft-teams.md @@ -29,22 +29,24 @@ Some APIs aren't supported in v1.0, e.g. channel messages and channel messages r ### Data type mapping -| Integration Type | Airbyte Type | Notes | -| :--- | :--- | :--- | -| `string` | `string` | | -| `number` | `number` | | -| `array` | `array` | | -| `object` | `object` | | +| Integration Type | Airbyte Type | +| :--------------- | :--------------------------- | +| `string` | `string` | +| `number` | `number` | +| `date` | `date` | +| `datetime` | `timestamp_without_timezone` | +| `array` | `array` | +| `object` | `object` | ### Features -| Feature | Supported?\(Yes/No\) | Notes | -| :--- | :--- | :--- | -| Full Refresh Sync | Yes | | -| Incremental Sync | Coming soon | | -| Replicate Incremental Deletes | Coming soon | | -| SSL connection | Yes | | -| Namespaces | No | | +| Feature | Supported? | +| :---------------------------- | :--------- | +| Full Refresh Sync | Yes | +| Incremental Sync | No | +| Replicate Incremental Deletes | No | +| SSL connection | Yes | +| Namespaces | No | ### Performance considerations @@ -54,9 +56,9 @@ The connector is restricted by normal Microsoft Graph [requests limitation](http ### Requirements -* Application \(client\) ID +* Application \(client\) ID * Directory \(tenant\) ID -* Client secrets +* Client secrets ### Setup guide @@ -157,8 +159,9 @@ Token acquiring implemented by [instantiate](https://docs.microsoft.com/en-us/az ## CHANGELOG -| Version | Date | Pull Request | Subject | -|:--------|:-----------| :--- | :--- | -| 0.2.5 | 2021-12-14 | [8429](https://github.com/airbytehq/airbyte/pull/8429) | Update titles and descriptions | -| 0.2.4 | 2021-12-07 | [7807](https://github.com/airbytehq/airbyte/pull/7807) | Implement OAuth support | -| 0.2.3 | 2021-12-06 | [8469](https://github.com/airbytehq/airbyte/pull/8469) | Migrate to the CDK | +| Version | Date | Pull Request | Subject | +|:------- |:---------- | :------------------------------------------------------- | :----------------------------- | +| 1.0.0 | 2024-01-04 | [33959](https://github.com/airbytehq/airbyte/pull/33959) | Schema updates | +| 0.2.5 | 2021-12-14 | [8429](https://github.com/airbytehq/airbyte/pull/8429) | Update titles and descriptions | +| 0.2.4 | 2021-12-07 | [7807](https://github.com/airbytehq/airbyte/pull/7807) | Implement OAuth support | +| 0.2.3 | 2021-12-06 | [8469](https://github.com/airbytehq/airbyte/pull/8469) | Migrate to the CDK |