airbyte-source-github 2.1.15.dev202603161151__tar.gz → 2.1.16__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/PKG-INFO +1 -1
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/pyproject.toml +1 -1
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/source.py +1 -2
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/spec.json +14 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/streams.py +4 -5
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/README.md +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/__init__.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/backoff_strategies.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/config_migrations.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/constants.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/errors_handlers.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/github_schema.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/graphql.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/run.py +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/assignees.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/branches.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/collaborators.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/comments.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/commit_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/commit_comments.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/commits.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/contributor_activity.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/deployments.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/events.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_events.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_labels.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_milestones.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_reactions.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issue_timeline_events.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/issues.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/organizations.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/project_cards.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/project_columns.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/projects.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/projects_v2.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/pull_request_comment_reactions.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/pull_request_commits.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/pull_request_stats.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/pull_requests.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/releases.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/repositories.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/review_comments.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/reviews.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/events/comment.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/events/commented.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/events/committed.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/events/cross_referenced.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/events/reviewed.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/reaction.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/reactions.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/user.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/shared/user_graphql.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/stargazers.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/tags.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/team_members.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/team_memberships.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/teams.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/users.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/workflow_jobs.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/workflow_runs.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/schemas/workflows.json +0 -0
- {airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/utils.py +0 -0
{airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/pyproject.toml
RENAMED
|
@@ -3,7 +3,7 @@ requires = [ "poetry-core>=1.0.0",]
|
|
|
3
3
|
build-backend = "poetry.core.masonry.api"
|
|
4
4
|
|
|
5
5
|
[tool.poetry]
|
|
6
|
-
version = "2.1.
|
|
6
|
+
version = "2.1.16"
|
|
7
7
|
name = "airbyte-source-github"
|
|
8
8
|
description = "Source implementation for GitHub."
|
|
9
9
|
authors = [ "Airbyte <contact@airbyte.io>",]
|
|
@@ -9,7 +9,6 @@ from urllib.parse import urlparse
|
|
|
9
9
|
from airbyte_cdk.models import FailureType
|
|
10
10
|
from airbyte_cdk.sources import AbstractSource
|
|
11
11
|
from airbyte_cdk.sources.streams import Stream
|
|
12
|
-
from airbyte_cdk.sources.streams.http.http_client import MessageRepresentationAirbyteTracedErrors
|
|
13
12
|
from airbyte_cdk.sources.streams.http.requests_native_auth import MultipleTokenAuthenticator
|
|
14
13
|
from airbyte_cdk.utils.traced_exception import AirbyteTracedException
|
|
15
14
|
from source_github.utils import MultipleTokenAuthenticatorWithRateLimiter
|
|
@@ -204,7 +203,7 @@ class SourceGithub(AbstractSource):
|
|
|
204
203
|
)
|
|
205
204
|
return True, None
|
|
206
205
|
|
|
207
|
-
except
|
|
206
|
+
except AirbyteTracedException as e:
|
|
208
207
|
user_message = self.user_friendly_error_message(e.message)
|
|
209
208
|
return False, user_message or e.message
|
|
210
209
|
except Exception as e:
|
|
@@ -149,6 +149,20 @@
|
|
|
149
149
|
"predicate_key": ["credentials", "option_title"],
|
|
150
150
|
"predicate_value": "OAuth Credentials",
|
|
151
151
|
"oauth_config_specification": {
|
|
152
|
+
"oauth_connector_input_specification": {
|
|
153
|
+
"scopes": [
|
|
154
|
+
{ "scope": "repo" },
|
|
155
|
+
{ "scope": "read:org" },
|
|
156
|
+
{ "scope": "read:repo_hook" },
|
|
157
|
+
{ "scope": "read:user" },
|
|
158
|
+
{ "scope": "read:project" },
|
|
159
|
+
{ "scope": "read:discussion" },
|
|
160
|
+
{ "scope": "workflow" }
|
|
161
|
+
],
|
|
162
|
+
"consent_url": "https://github.com/login/oauth/authorize?{{client_id_param}}&{{redirect_uri_param}}&{{scopes_param}}&{{state_param}}",
|
|
163
|
+
"access_token_url": "https://github.com/login/oauth/access_token?{{client_id_param}}&{{client_secret_param}}&{{auth_code_param}}&{{redirect_uri_param}}",
|
|
164
|
+
"extract_output": ["access_token"]
|
|
165
|
+
},
|
|
152
166
|
"complete_oauth_output_specification": {
|
|
153
167
|
"type": "object",
|
|
154
168
|
"additionalProperties": false,
|
|
@@ -22,7 +22,6 @@ from airbyte_cdk.sources.streams.core import CheckpointMixin, Stream
|
|
|
22
22
|
from airbyte_cdk.sources.streams.http import HttpStream
|
|
23
23
|
from airbyte_cdk.sources.streams.http.error_handlers import ErrorHandler, ErrorResolution, HttpStatusErrorHandler, ResponseAction
|
|
24
24
|
from airbyte_cdk.sources.streams.http.exceptions import DefaultBackoffException, UserDefinedBackoffException
|
|
25
|
-
from airbyte_cdk.sources.streams.http.http_client import MessageRepresentationAirbyteTracedErrors
|
|
26
25
|
from airbyte_cdk.utils import AirbyteTracedException
|
|
27
26
|
from airbyte_cdk.utils.datetime_helpers import ab_datetime_format, ab_datetime_parse
|
|
28
27
|
|
|
@@ -133,12 +132,12 @@ class GithubStreamABC(HttpStream, ABC):
|
|
|
133
132
|
# Reading records while handling the errors
|
|
134
133
|
try:
|
|
135
134
|
yield from super().read_records(stream_slice=stream_slice, **kwargs)
|
|
136
|
-
# HTTP Client wraps DefaultBackoffException into
|
|
137
|
-
except
|
|
135
|
+
# HTTP Client wraps DefaultBackoffException into AirbyteTracedException
|
|
136
|
+
except AirbyteTracedException as e:
|
|
138
137
|
# This whole try/except situation in `read_records()` isn't good but right now in `self._send_request()`
|
|
139
138
|
# function we have `response.raise_for_status()` so we don't have much choice on how to handle errors.
|
|
140
139
|
# Bocked on https://github.com/airbytehq/airbyte/issues/3514.
|
|
141
|
-
if not hasattr(e, "_exception")
|
|
140
|
+
if not hasattr(e, "_exception") and not hasattr(e._exception, "response"):
|
|
142
141
|
raise e
|
|
143
142
|
if e._exception.response.status_code == requests.codes.NOT_FOUND:
|
|
144
143
|
# A lot of streams are not available for repositories owned by a user instead of an organization.
|
|
@@ -1813,7 +1812,7 @@ class ContributorActivity(GithubStream):
|
|
|
1813
1812
|
yield from super().read_records(stream_slice=stream_slice, **kwargs)
|
|
1814
1813
|
# HTTP Client wraps BackoffException into MessageRepresentationAirbyteTracedErrors
|
|
1815
1814
|
except MessageRepresentationAirbyteTracedErrors as e:
|
|
1816
|
-
if hasattr(e, "_exception") and hasattr(e._exception, "response")
|
|
1815
|
+
if hasattr(e, "_exception") and hasattr(e._exception, "response"):
|
|
1817
1816
|
if e._exception.response.status_code == requests.codes.ACCEPTED:
|
|
1818
1817
|
yield AirbyteMessage(
|
|
1819
1818
|
type=MessageType.LOG,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/run.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{airbyte_source_github-2.1.15.dev202603161151 → airbyte_source_github-2.1.16}/source_github/utils.py
RENAMED
|
File without changes
|