version: 6.60.12 type: DeclarativeSource check: type: CheckStream stream_names: - project_detail definitions: streams: events: type: DeclarativeStream name: events path: projects/{{ config['organization'] }}/{{ config['project'] }}/events/ retriever: type: SimpleRetriever name: events path: projects/{{ config['organization'] }}/{{ config['project'] }}/events/ paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: cursor inject_into: request_parameter pagination_strategy: type: CursorPagination cursor_value: "{{ headers[\"link\"].get(\"next\", {}).get(\"cursor\", {}) }}" stop_condition: "{{ headers[\"link\"][\"next\"][\"results\"] == \"false\" }}" requester: $ref: "#/definitions/base_requester" name: events path: >- projects/{{ config['organization'] }}/{{ config['project'] }}/events/ http_method: GET primary_key: id cursor_field: dateCreated request_parameters: full: "true" primary_key: id cursor_field: dateCreated record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] primary_key: - id cursor_field: dateCreated schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/events" incremental_sync: type: DatetimeBasedCursor cursor_field: dateCreated start_time_option: field_name: start inject_into: request_parameter end_time_option: field_name: end inject_into: request_parameter start_datetime: type: MinMaxDatetime datetime: "1900-01-01T00:00:00.0Z" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" end_datetime: type: MinMaxDatetime datetime: "{{ format_datetime(now_utc(), '%Y-%m-%dT%H:%M:%S.%fZ') }}" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S.%f%z" - "%Y-%m-%dT%H:%M:%S%z" issues: type: DeclarativeStream name: issues retriever: type: SimpleRetriever paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: cursor inject_into: request_parameter pagination_strategy: type: CursorPagination cursor_value: "{{ headers[\"link\"].get(\"next\", {}).get(\"cursor\", {}) }}" stop_condition: "{{ headers[\"link\"][\"next\"][\"results\"] == \"false\" }}" requester: $ref: "#/definitions/base_requester" path: >- projects/{{ config['organization'] }}/{{ config['project'] }}/issues/ http_method: GET request_parameters: query: >- lastSeen:>{{ stream_interval.get('start_time', '') or '1900-01-01T00:00:00.0Z' if stream_interval else '1900-01-01T00:00:00.0Z' }} record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] primary_key: - id schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/issues" incremental_sync: type: DatetimeBasedCursor cursor_field: lastSeen is_data_feed: true start_datetime: type: MinMaxDatetime datetime: "1900-01-01T00:00:00.0Z" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S.%f%z" - "%Y-%m-%dT%H:%M:%S%z" projects: type: DeclarativeStream name: projects retriever: type: SimpleRetriever paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: cursor inject_into: request_parameter pagination_strategy: type: CursorPagination cursor_value: "{{ headers[\"link\"].get(\"next\", {}).get(\"cursor\", {}) }}" stop_condition: "{{ headers[\"link\"][\"next\"][\"results\"] == \"false\" }}" requester: $ref: "#/definitions/base_requester" path: projects/ http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] record_filter: type: RecordFilter condition: >- {{ record['dateCreated'] > stream_interval.get('start_time', '') }} primary_key: - id schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/projects" incremental_sync: type: DatetimeBasedCursor cursor_field: dateCreated is_data_feed: true start_datetime: type: MinMaxDatetime datetime: "1900-01-01T00:00:00.0Z" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S.%f%z" - "%Y-%m-%dT%H:%M:%S%z" releases: type: DeclarativeStream name: releases retriever: type: SimpleRetriever paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: cursor inject_into: request_parameter pagination_strategy: type: CursorPagination cursor_value: "{{ headers[\"link\"].get(\"next\", {}).get(\"cursor\", {}) }}" stop_condition: "{{ headers[\"link\"][\"next\"][\"results\"] == \"false\" }}" requester: $ref: "#/definitions/base_requester" path: organizations/{{ config['organization'] }}/releases/ http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] primary_key: - id schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/releases" incremental_sync: type: DatetimeBasedCursor cursor_field: dateCreated is_data_feed: true start_datetime: type: MinMaxDatetime datetime: "1900-01-01T00:00:00.0Z" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" datetime_format: "%Y-%m-%dT%H:%M:%S.%fZ" cursor_datetime_formats: - "%Y-%m-%dT%H:%M:%SZ" - "%Y-%m-%dT%H:%M:%S.%f%z" - "%Y-%m-%dT%H:%M:%S%z" project_detail: type: DeclarativeStream name: project_detail retriever: type: SimpleRetriever paginator: type: DefaultPaginator page_token_option: type: RequestOption field_name: cursor inject_into: request_parameter pagination_strategy: type: CursorPagination cursor_value: "{{ headers[\"link\"].get(\"next\", {}).get(\"cursor\", {}) }}" stop_condition: "{{ headers[\"link\"][\"next\"][\"results\"] == \"false\" }}" requester: $ref: "#/definitions/base_requester" path: projects/{{ config['organization'] }}/{{ config['project'] }}/ http_method: GET record_selector: type: RecordSelector extractor: type: DpathExtractor field_path: [] primary_key: - id schema_loader: type: InlineSchemaLoader schema: $ref: "#/schemas/project_detail" base_requester: type: HttpRequester url_base: https://{{ config['hostname'] }}/api/0/ authenticator: type: BearerAuthenticator api_token: "{{ config[\"auth_token\"] }}" streams: - $ref: "#/definitions/streams/events" - $ref: "#/definitions/streams/issues" - $ref: "#/definitions/streams/projects" - $ref: "#/definitions/streams/project_detail" - $ref: "#/definitions/streams/releases" spec: type: Spec connection_specification: type: object $schema: http://json-schema.org/draft-07/schema# required: - auth_token - organization - project properties: project: type: string description: The name (slug) of the Project you want to sync. order: 3 title: Project hostname: type: string description: >- Host name of Sentry API server.For self-hosted, specify your host name here. Otherwise, leave it empty. order: 1 title: Host Name default: sentry.io auth_token: type: string description: >- Log into Sentry and then create authentication tokens.For self-hosted, you can find or create authentication tokens by visiting "{instance_url_prefix}/settings/account/api/auth-tokens/" order: 0 title: Authentication Tokens airbyte_secret: true organization: type: string description: The slug of the organization the groups belong to. order: 2 title: Organization discover_fields: type: array description: Fields to retrieve when fetching discover events item: string order: 4 title: Discover Event Fields additionalProperties: true concurrency_level: type: ConcurrencyLevel default_concurrency: 5 metadata: assist: {} testedStreams: events: hasRecords: false streamHash: dbb6fab7b0273c25a570de7caf744ee5cf87100a hasResponse: true primaryKeysAreUnique: true primaryKeysArePresent: true responsesAreSuccessful: true issues: hasRecords: false streamHash: c1c91e2068b9cd3b143606f00866e1cec7cb870a hasResponse: true primaryKeysAreUnique: true primaryKeysArePresent: true responsesAreSuccessful: true projects: hasRecords: true streamHash: c7aea997d759623400c28516f67533f3243712d2 hasResponse: true primaryKeysAreUnique: true primaryKeysArePresent: true responsesAreSuccessful: true releases: hasRecords: false streamHash: 2feadb1649f5f2ff3452cbdebf00868ce182114d hasResponse: true primaryKeysAreUnique: true primaryKeysArePresent: true responsesAreSuccessful: true project_detail: hasRecords: true streamHash: d7e9cc70ebff2bff2856b08f9d4255f724edc476 hasResponse: true primaryKeysAreUnique: true primaryKeysArePresent: true responsesAreSuccessful: true autoImportSchema: events: false issues: false projects: false releases: false project_detail: false schemas: events: type: object $schema: http://json-schema.org/draft-07/schema# properties: type: type: - "null" - string metadata: type: - "null" - object properties: title: type: - "null" - string in_app_frame_mix: type: - "null" - string id: type: - string - "null" sdk: type: - "null" - string dist: type: - "null" - string size: type: - "null" - integer tags: type: - array - "null" items: type: - object - "null" properties: key: type: - string - "null" value: type: - string - "null" user: type: - "null" - object properties: id: type: - string - "null" data: type: - "null" - object properties: isStaff: type: - boolean - "null" name: type: - "null" - string email: type: - "null" - string username: type: - "null" - string ip_address: type: - "null" - string _meta: type: - "null" - object properties: sdk: type: - "null" - string tags: type: - "null" - object user: type: - "null" - string context: type: - "null" - string entries: type: - "null" - object message: type: - "null" - string contexts: type: - "null" - string packages: type: - "null" - string title: type: - string - "null" errors: type: - "null" - array items: type: - "null" - string context: type: - "null" - object properties: url: type: - "null" - string length: type: - "null" - integer results: type: - "null" - array items: type: - integer - "null" session: type: - "null" - object properties: foo: type: - "null" - string emptyMap: type: - "null" - object emptyList: type: - "null" - array unauthorized: type: - "null" - boolean culprit: type: - "null" - string entries: type: - "null" - array items: type: - "null" - object properties: type: type: - "null" - string data: type: - "null" - object properties: frames: type: - "null" - object properties: lock: type: - "null" - integer colNo: type: - "null" - string inApp: type: - "null" - boolean trust: type: - "null" - string lineNo: type: - "null" - integer module: type: - "null" - string symbol: type: - "null" - string absPath: type: - "null" - string context: type: - "null" - array package: type: - "null" - string filename: type: - "null" - string function: type: - "null" - string platform: type: - "null" - string sourceLink: type: - "null" - string symbolAddr: type: - "null" - string rawFunction: type: - "null" - string formatted: type: - "null" - string eventID: type: - string - "null" groupID: type: - string - "null" message: type: - string - "null" contexts: type: - "null" - object properties: browser: type: - "null" - object properties: version: type: - "null" - string type: type: - "null" - string name: type: - "null" - string client_os: type: - "null" - object properties: version: type: - "null" - string type: type: - "null" - string name: type: - "null" - string location: type: - "null" - string packages: type: - "null" - object platform: type: - string - "null" crashFile: type: - "null" - string projectID: type: - "null" - string event.type: type: - string - "null" occurrence: type: - "null" - string dateCreated: type: - string - "null" format: date-time dateReceived: type: - "null" - string format: date-time fingerprints: type: - "null" - array items: type: - "null" - string groupingConfig: type: - "null" - object properties: id: type: - "null" - string enhancements: type: - "null" - string additionalProperties: true issues: type: object $schema: http://json-schema.org/draft-07/schema# properties: type: type: - string - "null" metadata: anyOf: - type: - object - "null" properties: title: type: - string - "null" - type: - object - "null" properties: type: type: - string - "null" value: type: - string - "null" filename: type: - string - "null" id: type: - string - "null" count: type: - string - "null" level: type: - string - "null" stats: type: - object - "null" properties: 24h: type: - array - "null" items: type: - array - "null" items: type: - number - "null" title: type: - string - "null" logger: type: - "null" - string status: type: - string - "null" enum: - resolved - unresolved - ignored culprit: type: - string - "null" hasSeen: type: - boolean - "null" project: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" shareId: type: - "null" - string shortId: type: - string - "null" isPublic: type: - boolean - "null" lastSeen: type: - string - "null" platform: type: - "null" - string firstSeen: type: - string - "null" issueType: type: - "null" - string permalink: type: - string - "null" substatus: type: - "null" - string userCount: type: - integer - "null" assignedTo: type: - "null" - object annotations: type: - array - "null" items: type: - string - "null" isUnhandled: type: - "null" - boolean numComments: type: - integer - "null" isBookmarked: type: - boolean - "null" isSubscribed: type: - boolean - "null" issueCategory: type: - "null" - string statusDetails: type: - object - "null" subscriptionDetails: type: - "null" - object additionalProperties: true projects: type: object $schema: http://json-schema.org/draft-07/schema# properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" color: type: - string - "null" access: type: - "null" - array items: type: - "null" - string avatar: type: - object - "null" properties: avatarUrl: type: - "null" - string avatarType: type: - string - "null" avatarUuid: type: - "null" - string status: type: - string - "null" enum: - active - disabled - pending_deletion - deletion_in_progress features: type: - array - "null" items: type: - string - "null" isMember: type: - boolean - "null" isPublic: type: - boolean - "null" platform: type: - "null" - string hasAccess: type: - boolean - "null" firstEvent: type: - "null" - string hasReplays: type: - "null" - boolean isInternal: type: - boolean - "null" dateCreated: type: - string - "null" format: date-time hasMonitors: type: - "null" - boolean hasProfiles: type: - "null" - boolean hasSessions: type: - "null" - boolean hasFeedbacks: type: - "null" - boolean isBookmarked: type: - boolean - "null" organization: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" links: type: - object - "null" properties: regionUrl: type: - string - "null" organizationUrl: type: - string - "null" avatar: type: - object - "null" properties: avatarUrl: type: - string - "null" avatarType: type: - string - "null" avatarUuid: type: - "null" - string status: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" features: type: - array - "null" items: type: - string - "null" require2FA: type: - boolean - "null" dateCreated: type: - string - "null" format: date-time isEarlyAdopter: type: - boolean - "null" hasAuthProvider: type: - boolean - "null" requireEmailVerification: type: - boolean - "null" hasNewFeedbacks: type: - "null" - boolean hasCustomMetrics: type: - "null" - boolean firstTransactionEvent: type: - "null" - boolean hasMinifiedStackTrace: type: - "null" - boolean additionalProperties: true releases: type: object $schema: http://json-schema.org/draft-07/schema# properties: version: type: - "null" - string id: type: - "null" - integer ref: type: - "null" - string url: type: - "null" - string data: type: - "null" - object additionalProperties: true owner: type: - "null" - string status: type: - "null" - string authors: type: - "null" - array items: type: - "null" - object properties: name: type: - "null" - string email: type: - "null" - string additionalProperties: true projects: type: - "null" - array items: type: - "null" - object properties: id: type: - "null" - integer name: type: - "null" - string slug: type: - "null" - string platform: type: - "null" - string newGroups: type: - "null" - integer platforms: type: - "null" - array items: type: - "null" - string hasHealthData: type: - "null" - boolean lastEvent: type: - "null" - string newGroups: type: - "null" - integer userAgent: type: - "null" - string firstEvent: type: - "null" - string lastCommit: type: - "null" - object lastDeploy: type: - "null" - object additionalProperties: true commitCount: type: - "null" - integer dateCreated: type: - "null" - string format: date-time deployCount: type: - "null" - integer versionInfo: type: - "null" - object properties: version: type: - "null" - object properties: pre: type: - "null" - string raw: type: - "null" - string major: type: - "null" - integer minor: type: - "null" - integer patch: type: - "null" - integer buildCode: type: - "null" - string components: type: - "null" - integer description: type: - "null" - string package: type: - "null" - string buildHash: type: - "null" - string dateReleased: type: - "null" - string format: date-time shortVersion: type: - "null" - string currentProjectMeta: type: - "null" - object additionalProperties: true project_detail: type: object $schema: http://json-schema.org/draft-07/schema# properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" team: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" color: type: - string - "null" stats: {} teams: type: - array - "null" items: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" access: type: - "null" - array items: type: - "null" - string avatar: type: - object - "null" properties: avatarUrl: type: - "null" - string avatarType: type: - string - "null" avatarUuid: type: - "null" - string status: type: - string - "null" options: type: - object - "null" properties: filters:releases: type: - string - "null" feedback:branding: type: - boolean - "null" filters:error_messages: type: - string - "null" filters:blacklisted_ips: type: - string - "null" filters:chunk-load-error: type: - boolean - "null" sentry:csp_ignored_sources: type: - string - "null" sentry:reprocessing_active: type: - boolean - "null" filters:react-hydration-errors: type: - boolean - "null" sentry:replay_rage_click_issues: type: - integer - "null" quotas:spike-protection-disabled: type: - boolean - "null" sentry:csp_ignored_sources_defaults: type: - boolean - "null" sentry:feedback_user_report_notification: type: - boolean - "null" plugins: type: - array - "null" items: type: - object - "null" properties: version: type: - "null" - string type: type: - string - "null" description: type: - string - "null" metadata: type: - object - "null" additionalProperties: true id: type: - string - "null" doc: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" assets: type: - array - "null" items: type: - string - "null" author: type: - "null" - object properties: url: type: - string - "null" name: type: - string - "null" additionalProperties: true status: type: - string - "null" enabled: type: - boolean - "null" contexts: type: - array - "null" items: type: - string - "null" features: type: - array - "null" items: type: - string - "null" isHidden: type: - boolean - "null" shortName: type: - string - "null" canDisable: type: - boolean - "null" isTestable: type: - boolean - "null" isDeprecated: type: - boolean - "null" resourceLinks: type: - "null" - array items: type: - object - "null" properties: url: type: - string - "null" title: type: - string - "null" additionalProperties: true altIsSentryApp: {} deprecationDate: {} hasConfiguration: type: - boolean - "null" featureDescriptions: type: - array - "null" items: type: - object - "null" additionalProperties: true firstPartyAlternative: {} features: type: - array - "null" items: type: - string - "null" isMember: type: - boolean - "null" isPublic: type: - boolean - "null" platform: type: - "null" - string hasAccess: type: - boolean - "null" platforms: type: - array - "null" items: type: - string - "null" verifySSL: type: - boolean - "null" firstEvent: type: - "null" - string hasReplays: type: - "null" - boolean isInternal: type: - boolean - "null" resolveAge: type: - integer - "null" safeFields: type: - array - "null" items: type: - string - "null" dateCreated: type: - string - "null" hasMonitors: type: - "null" - boolean hasProfiles: type: - "null" - boolean hasSessions: type: - "null" - boolean dataScrubber: type: - boolean - "null" hasFeedbacks: type: - "null" - boolean isBookmarked: type: - boolean - "null" organization: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" slug: type: - string - "null" links: type: - "null" - object properties: regionUrl: type: - "null" - string organizationUrl: type: - "null" - string avatar: type: - object - "null" properties: avatarUrl: type: - "null" - string avatarType: type: - string - "null" avatarUuid: type: - "null" - string status: type: - object - "null" properties: id: type: - string - "null" name: type: - string - "null" features: type: - "null" - array items: type: - "null" - string require2FA: type: - boolean - "null" dateCreated: type: - string - "null" format: date-time isEarlyAdopter: type: - boolean - "null" hasAuthProvider: type: - "null" - boolean requireEmailVerification: type: - "null" - boolean sessionStats: {} latestRelease: type: - "null" - object properties: version: type: - string - "null" ref: type: - "null" - string url: type: - "null" - string data: type: - object - "null" owner: type: - "null" - string authors: type: - array - "null" items: type: - object - "null" properties: name: type: - string - "null" email: type: - string - "null" projects: type: - array - "null" items: type: - object - "null" properties: name: type: - string - "null" slug: type: - string - "null" lastEvent: type: - "null" - string newGroups: type: - integer - "null" firstEvent: type: - "null" - string lastCommit: type: - "null" - object lastDeploy: type: - "null" - object commitCount: type: - integer - "null" dateCreated: type: - string - "null" deployCount: type: - integer - "null" dateReleased: type: - "null" - string shortVersion: type: - string - "null" securityToken: type: - string - "null" subjectPrefix: type: - string - "null" symbolSources: type: - "null" - string allowedDomains: type: - array - "null" items: type: - string - "null" groupingConfig: type: - "null" - string recapServerUrl: type: - "null" - string relayPiiConfig: type: - "null" - string digestsMaxDelay: type: - integer - "null" digestsMinDelay: type: - integer - "null" eventProcessing: type: - "null" - object properties: symbolicationDegraded: type: - "null" - boolean hasNewFeedbacks: type: - "null" - boolean sensitiveFields: type: - array - "null" items: type: - string - "null" subjectTemplate: type: - string - "null" hasCustomMetrics: type: - "null" - boolean processingIssues: type: - integer - "null" scrapeJavaScript: type: - boolean - "null" scrubIPAddresses: type: - boolean - "null" transactionStats: {} storeCrashReports: type: - "null" - boolean defaultEnvironment: type: - "null" - string groupingAutoUpdate: type: - "null" - boolean fingerprintingRules: type: - "null" - string securityTokenHeader: type: - "null" - string builtinSymbolSources: type: - "null" - array items: type: - "null" - string dataScrubberDefaults: type: - boolean - "null" groupingEnhancements: type: - "null" - string dynamicSamplingBiases: type: - "null" - array items: type: - "null" - object properties: id: type: - "null" - string active: type: - "null" - boolean firstTransactionEvent: type: - "null" - boolean hasMinifiedStackTrace: type: - "null" - boolean secondaryGroupingConfig: type: - "null" - string secondaryGroupingExpiry: type: - "null" - integer groupingEnhancementsBase: type: - "null" - string additionalProperties: true