1
0
mirror of synced 2025-12-20 02:23:30 -05:00
Commit Graph

50 Commits

Author SHA1 Message Date
Artem Inzhyyants
747f1528fa Source GitHub: migrate repo and branches to array in spec (#31056)
Co-authored-by: artem1205 <artem1205@users.noreply.github.com>
2023-10-04 23:14:52 +02:00
Daryna Ishchenko
4e44cd03be Source Github: marked start date as optional field (#30971)
Co-authored-by: darynaishchenko <darynaishchenko@users.noreply.github.com>
2023-10-03 18:14:05 +03:00
Daryna Ishchenko
64edf61cb5 Source Github: updated user error messages (#30927) 2023-09-29 15:40:01 +03:00
Daryna Ishchenko
3c79da9ede Source GitHub: added Issue timeline events stream (#30823)
Co-authored-by: darynaishchenko <darynaishchenko@users.noreply.github.com>
2023-09-29 12:56:19 +03:00
Artem Inzhyyants
61a63ec2ff Source GitHub: add stream ProjectsV2 (#30731)
Co-authored-by: artem1205 <artem1205@users.noreply.github.com>
2023-09-28 08:46:29 +02:00
Artem Inzhyyants
32c08d73d5 Source GitHub: support self hosted instances (#30647)
Co-authored-by: artem1205 <artem1205@users.noreply.github.com>
Co-authored-by: Serhii Lazebnyi <53845333+lazebnyi@users.noreply.github.com>
2023-09-22 19:36:50 +02:00
Arsen Losenko
599ab7cfcd Source Github: rewrite source connection error messages (#30654)
Co-authored-by: Serhii Lazebnyi <53845333+lazebnyi@users.noreply.github.com>
2023-09-22 19:12:49 +03:00
Artem Inzhyyants
1c89aeaa5b Source GitHub: add new stream Contributor Activity (#30615)
Co-authored-by: artem1205 <artem1205@users.noreply.github.com>
2023-09-22 11:50:44 +02:00
Serhii Chvaliuk
df79780cb8 Source Github: deprecate "page size" input parameter (#25838)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2023-05-24 12:20:08 +03:00
Serhii Chvaliuk
627c49c8c5 Source Github: Repository field accept full URL (#25778)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2023-05-23 09:05:07 +03:00
Serhii Chvaliuk
30d8bb4133 Source Github: implement client-side throttling of requests (#25793)
Signed-off-by: Serhii Chvaliuk <grubberr@gmail.com>
2023-05-17 22:18:37 +03:00
Roman Yermilov [GL]
ce9eb8ab4c Source Github: better error explanation for 401 (#26025)
* Source Github: better error explanation for 401

* Source Github: bump version, update changelog

* Source Github: fix test name

* Source Github: fix unittests

* Source Github: bump version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-05-16 22:35:22 +04:00
Daryna Ishchenko
05990806a1 🐛Source GitHub: added description for no repos case error (#26075)
* added description for no repos case error

* added AirbyteTracedException

* added changelog

* removed handling error in validation

* updated github.md

* added unit test test_streams_no_streams_available_error

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-05-16 18:07:20 +03:00
Serhii Lazebnyi
312c84164a 🐛Source GitHub: Fix invalid validation format of repositories config (#25312)
* Fix repo name validation

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-04-24 21:36:49 +00:00
Daryna Ishchenko
836e4f4669 Source Github: decrease give up rate (#24457)
* added validation and transformation for repositories config

* added changelog, updated regex and tests

* updated regex, fixed test_check_connection_repos_only

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-30 20:21:41 +03:00
midavadim
1b2b0392ef 🎉 Source Github - added user friendly messages, added AirbyteTracedException config_error (#23467)
* added user friendly messages, added AirbyteTracedException config_error

* added formatting

* fixed 'if' condition

* removed HTTPError words from error examples

* changed http to https for all schemas

* removed http adapter

* updated expected record file - one record for each stream

* updated expected record file

* updated expected record file

* bumped connector version

* auto-bump connector version

---------

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-03-03 18:32:14 +00:00
Cole Snodgrass
2e099acc52 update headers from 2022 -> 2023 (#22594)
* It's 2023!

* 2022 -> 2023

---------

Co-authored-by: evantahler <evan@airbyte.io>
2023-02-08 13:01:16 -08:00
Artem Inzhyyants
49bee81fc2 Source Github: Raise Error if no organizations or repos are available (#21084)
* Source Github: Raise Error if no organizations or repos are available

* Source GitHub: Update docs; bump version

* Source GitHub: Add test

* Source GitHub: Exclude empty streams

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2023-01-06 19:50:23 +01:00
Ella Rohm-Ensing
8bb41282c5 CDK 0.15.0 and source-github 0.3.10 -- revert AvailabillityStrategy changes (#20523)
* Revert "source-github: move known error handling to GithubAvailabilityStrategy (#19978)"

This reverts commit f97db17ccc.

* Revert "🐛 Python CDK: fix `StopIteration` error for `check_availability` (#20429)"

This reverts commit 4e9b014277.

* Revert "CDK: `AbstractSource.read()` skips syncing stream if its unavailable (add `AvailabilityStrategy` concept) (#19977)"

This reverts commit 55a32886a3.

* Restore changelog entries

* bump CDK version

* Bump Github version

* Re-add removed dependencies

* auto-bump connector version

Co-authored-by: Octavia Squidington III <octavia-squidington-iii@users.noreply.github.com>
2022-12-15 14:24:24 -05:00
Ella Rohm-Ensing
f97db17ccc source-github: move known error handling to GithubAvailabilityStrategy (#19978)
* Rough first implememtation of AvailabilityStrategy s

* Basic unit tests for AvailabilityStrategy and ScopedAvailabilityStrategy

* Make availability_strategy a property, separate out tests

* Remove from DeclarativeSource, remove Source parameter from methods, make default no AvailabilityStrategy

* Add skip stream if not available to read()

* Changes to CDK to get source-github working using AvailabilityStrategy, flakecheck

* reorganize cdk class, add HTTPAvailabilityStrategy test

* cleanup, docstrings

* source-github working with availabilitystrategy

* reorganize source-github

* source-github: resolve deprecation warning

* use correct import for HTTPAvailabilitystrategy

* pull out error handling into separate method

* use handle_http_error method

* Pass source and logger to check_connection method

* Add documentation links, handle 403 specifically

* Fix circular import

* Add AvailabilityStrategy to Stream and HTTPStream classes

* Remove AS from abstract_source, add to Stream, HTTPStream, AvailabilityStrategy unit tests passing for per-stream strategies

* Modify MockHttpStream to set no AvailabilityStrategy since source test mocking doesn't support this

* Move AvailabilityStrategy class to sources.streams

* Move HTTPAvailabilityStrategy to http module

* Use pascal case for HttpAvailabilityStrategy

* Remove docs message method :( and default to True availability on unhandled HTTPErrors

* add check_availability method to stream class

* Add optional source parameter

* Add test for connector-specific documentation, small tests refactor

* Add test that performs the read() function for stream with default availability strategy

* Add test for read function behavior when stream is unavailable

* Add 403 info in logger message

* Don't return error for other HTTPErrors

* Split up error handling into methods 'unavailable_error_codes' and 'get_reason_for_error'

* rework overrideable list of status codes to be a dict with reasons, to enforce that users provide reasons for all listed errors

* Fix incorrect typing

* Move HttpAvailability to its own module, fix flake errors

* Fix ScopedAvailabilityStrategy, docstrings and types for streams/availability_strategy.py

* Docstrings and types for core.py and http/availability_strategy.py

* Move _get_stream_slices to a StreamHelper class

* Docstrings + types for stream_helpers.py, cleanup test_availability.py

* Clean up test_source.py

* Move logic of getting the initial record from a stream to StreamHelper class

* Add changelog and bump minor version

* change 'is True' and 'is False' behavior

* use mocker.MagicMock

* Remove ScopedAvailabilityStrategy

* Don't except non-403 errors, check_stream uses availability_strategy if possible

* Move AvailabilityStrategy to stream level, fix tests

* make get_stream_slice public

* Attempt to refactor error code handling into repository-based and organization-based

* split into repository-based availabilitystrategy and organization-based availabilitystrategy

* refactor organization-based availabilitystrategy

* refactor repository-based availabilitystrategy, create separate ones for workflow_runs and projects

* Fix workflow runs availability strategy

* move availability strategies to a different module

* CDK: pass error to reasons_for_error_codes

* make get_stream_slice public

* Revert "make get_stream_slice public"

This reverts commit 9170fe5f59.

* Add tests for raising unhandled errors and retries are handled

* Add tests for CheckStream via AvailabilityStrategy

* Remove moved file

* bump CDK dependency

* Cleanup: Address review comments

* One more fix

* Update changelog and dockerfile version
2022-12-14 16:58:15 -05:00
Serhii Chvaliuk
a338df1040 🐛 Source Github: bugfix WorkflowJobs stream (#17287)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-09-30 14:45:25 +03:00
Mainara Cavalcanti
97b9c74718 Source Github: add workflow_jobs stream (#16534)
* feat(workflow-jobs)!: new class 'WorkflowJobs' to get job informations from Github;

* feat(workflow-jobs)!: unit test to new class 'WorkflowJobs';

* feat(test_stream/test_stream_workflow_jobs_read_incremental)!: support to method incremetal in unit test to class 'WorkflowJobs';

* feat(test_workflow): unit test incremental and full refresh to class 'WorkflowJobs';

* docs: updated github docs

* docs: updated github docs

* docs: updated github.md

* docs: updated github.md

* fix: add workflow_jobs in abnormal tests, use 'start date' in source and unit test;

* fix: add workflow_jobs in 'abnormal_state.json' and 'sample_state.json' for integration tests;

Co-authored-by: Paulo Roberto <paulo.rb.beserra@gmail.com>
Co-authored-by: Paulo Roberto <71179739+py-paulo@users.noreply.github.com>
2022-09-21 10:19:35 -04:00
Serhii Chvaliuk
255a5bbd5e 🐛 Source Github: validate input organizations and repositories (#15730)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-08-20 00:48:33 +03:00
Serhii Chvaliuk
4072d46a7c 🎉 Source Github: use GraphQL for reviews stream (#13989)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-06-28 18:35:12 +03:00
Serhii Chvaliuk
62626ee690 🎉 Source Github: use GraphQL for pull_request_stats stream (#13763)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-06-16 20:18:49 +03:00
Serhii Chvaliuk
dd8aa06664 🎉 Source Github: Fix API sorting, fix get_starting_point caching (#13707)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-06-15 16:50:42 +03:00
Marcos Marx
dca2256a7c Bump 2022 license version (#13233)
* Bump year in license short to 2022

* remove protocol from cdk
2022-05-26 15:00:42 -03:00
Serhii Chvaliuk
8c394b3734 🐛 Source Github: add incremental for repositories, workflows, pull_request_comment_reactions, issue_reactions, issue_comment_reactions, commit_comment_reactions (#12294)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-05-13 21:18:24 +03:00
Serhii Chvaliuk
8cf45693b1 🐛 Source Github: add new streams TeamMembers, TeamMemberships (#11893)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-04-21 18:50:56 +03:00
Amin Bz
a203d685b3 🎉 Source Github: add 2 new streams (workflows, workflow runs) (#9251)
* 3 new streams to the github api and adding task_id in the stories stream for the connector asana

* pull request update bump version GitHub Asana

* correct schema

* remove changes on asana connector - moved to another pull request

* security alert stream add variable

* bump version github

* fix schema

* fix schemad

* solve conflic

* correct teams stream

* remove stream and fix some files

* remove config catalog

* correct schema

* solve fb conflict

* solve final conflict with files

* correct github streams

* correct assignes in config_catalog

* update docs and bump connector version

Co-authored-by: Marcos Marx <marcosmarxm@gmail.com>
2022-03-30 20:53:16 -03:00
Serhii Chvaliuk
1bf94704fc 🐛 Source Github: add new stream ProjectCards (#10766)
* add new stream `Deployments`

Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-03-10 11:01:51 +02:00
Serhii Chvaliuk
b2aa69574c 🐛 Source Github: add new streams Deployments, ProjectColumns, PullRequestCommits (#10385)
Signed-off-by: Sergey Chvalyuk <grubberr@gmail.com>
2022-03-03 21:07:17 +02:00
Marcos Marx
3288227863 format files (#10511) 2022-02-21 17:29:34 -03:00
midavadim
ef4221784e 🎉 Source GitHub - added more meaningful error description for connector check (#10211)
* added human-readable errors in case of incorrect organization or repo names

* added change history

* added change history

* bumped github image version

* bumped github image version in source_specs.yaml file
2022-02-14 15:02:40 +02:00
Yevhenii
2ddf0bcf65 🐛 Source Github: add custom pagination size for large streams (#9664)
* Source Github: add custom pagination size for large streams
2022-01-21 15:22:16 +02:00
Chris Wu
5b6b48ca10 🎉 Source GitHub: Use CDK caching and convert PR-related streams to incremental (#7250)
* Source GitHub: Use CDK caching and convert PR-related streams to incremental

* Remove extra change

* Consolidate

* Address comments

* Fix integration test config

* Fix merge

* Update sample state

* Bump release version

* Bump version

* Address feedback

* Bump version

* Fix formatting
2022-01-06 19:50:15 -03:00
Yevhenii
96581f12af Publish PR #8030 (#8233)
* Source GitHub: define pull_request_stats and reviews streams as pull_request substreams
* Source GitHub: Bump version to 0.2.6
* Source GitHub: Apply PR review suggestions
Co-authored-by: Jérémy Lourenço <jeremy@lourenco.io>
2021-11-24 16:56:25 +02:00
Dmytro
c0cb8f338a Fix Github check connection for organizations with large number of re… (#8170) 2021-11-22 15:34:42 +02:00
Dmytro
78fd9d37ee 🎉 Source github: add oauth spec file (#6761) 2021-10-05 22:28:56 +03:00
Michel Tricot
1773e41e47 Shorten our headers + adds contributors file (#6478) 2021-09-27 10:45:50 -07:00
Yevhenii
1644f9016a 🎉 Source GitHub: Add option to pull commits from user-specified branches (#6223)
* Add option to pull commits from user-specified branches

* Address comments part 1

* Fix Repositories stream error when repo is not part of an org

* Make compatible with old state version and fix request_params to use branch-specific value

Co-authored-by: Chris Wu <chris@faros.ai>
2021-09-22 11:56:23 +03:00
Yevhenii
9b71c28902 🎉 Source Github: add reaction streams (#5860)
* Source Github: add reaction streams

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
2021-09-09 13:13:29 +03:00
Yevhenii
441d7cde76 🐛 Source Github: handling empty repos, check method using RepositoryStats stream (#5788)
* update error handling for empty repositories, update check method using RepositoryStats stream

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
2021-09-02 16:31:44 +03:00
Yevhenii
d74c47a863 🎉Source GitHub: Add more streams (#5757)
* Add Organizations stream to Github Source
* Add Repositories stream
* Add Repositories stream spec
* Add Branches stream
* Add Tags stream
* Add ReviewComments stream
* Add users stream
* Add pull request stats stream

Co-authored-by: Chris Wu <chris@faros.ai>
Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
2021-09-01 15:02:08 +03:00
Marcos Marx
7225187fa1 run gradlew format (#5552) 2021-08-20 15:38:28 -03:00
Arthur Galuza
51d406d6f2 🎉 Source Github: Add MultipleTokenAuthenticator (#5223)
* Add multiple token authenticator

* Add MultipleTokenAuthenticator

* Upd docs

* Refactor

* Upd docs

* Fix merge typo

* Upd multiple token support: switch to list of tokens

* Upd multiple token support: refactoring

* Update airbyte-integrations/connectors/source-github/source_github/spec.json

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* Update airbyte-integrations/connectors/source-github/source_github/spec.json

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>

* Cleanup, switch to MultipleTokenAuthenticator completely

* Upd changelog

Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-08-19 08:41:14 +03:00
Yevhenii
03e1ff96b8 🐛 Source Github: Fix set up validation (#5456)
* Fix set up validation

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
2021-08-18 16:03:58 +03:00
Yevhenii
05fd4e76f3 Source Github: Support syncing multiple repositories/organizations (#5136)
Support syncing multiple repositories/organizations

Co-authored-by: ykurochkin <y.kurochkin@zazmic.com>
2021-08-13 16:24:24 +03:00
oleh.zorenko
b405c9c0be 🐛 Source GitHub: fix bug with IssueEvents stream and add handling for rate limiting (#4708)
* Few updates for GitHub source

Set correct `cursor_field` for `IssueEvents` stream.
Add rate limit handling.
Add handling for 403 error.
Add handling for 502 error.

Co-authored-by: Eugene Kulak <kulak.eugene@gmail.com>
Co-authored-by: Sherif A. Nada <snadalive@gmail.com>
2021-07-14 20:49:01 -04:00
oleh.zorenko
84ba3e79b3 🎉 Native GitHub connector (#4174)
* GitHub source initial version

All streams are in `full_refresh` mode only.

* Run format command

* Add handling for 404 error in Teams stream

* Update creds naming for github

* Update acceptance tests

* Update check_connection()

* Code review fixes

Remove `/integration_tests/catalog.json` file.
Use `Collaborators` class in `check_connection()` function.
Remove excessive data from GithubStream class.

* Remove unused import

* Implement requested changes

* Add incremental streams

* Remove `supports_incremental`

* Update docs

* Implement requested changes

* Implement requested changes

* Implement requested changes

* Bump connector version
2021-07-06 17:06:34 +03:00