Skip to content

Commit

Permalink
🎉 New Source: Lever Hiring (#6141)
Browse files Browse the repository at this point in the history
* Lever Hiring - New Connector
  • Loading branch information
yevhenii-ldv authored Sep 22, 2021
1 parent 1644f90 commit 7316206
Show file tree
Hide file tree
Showing 25 changed files with 805 additions and 155 deletions.
1 change: 1 addition & 0 deletions .github/workflows/publish-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,7 @@ jobs:
ITERABLE_INTEGRATION_TEST_CREDS: ${{ secrets.ITERABLE_INTEGRATION_TEST_CREDS }}
JIRA_INTEGRATION_TEST_CREDS: ${{ secrets.JIRA_INTEGRATION_TEST_CREDS }}
KLAVIYO_TEST_CREDS: ${{ secrets.KLAVIYO_TEST_CREDS }}
LEVER_HIRING_INTEGRATION_TEST_CREDS: ${{ secrets.LEVER_HIRING_INTEGRATION_TEST_CREDS }}
LOOKER_INTEGRATION_TEST_CREDS: ${{ secrets.LOOKER_INTEGRATION_TEST_CREDS }}
MAILCHIMP_TEST_CREDS: ${{ secrets.MAILCHIMP_TEST_CREDS }}
MICROSOFT_TEAMS_TEST_CREDS: ${{ secrets.MICROSOFT_TEAMS_TEST_CREDS }}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/test-command.yml
Original file line number Diff line number Diff line change
Expand Up @@ -121,6 +121,7 @@ jobs:
JIRA_INTEGRATION_TEST_CREDS: ${{ secrets.JIRA_INTEGRATION_TEST_CREDS }}
KLAVIYO_TEST_CREDS: ${{ secrets.KLAVIYO_TEST_CREDS }}
SOURCE_ASANA_TEST_CREDS: ${{ secrets.SOURCE_ASANA_TEST_CREDS }}
LEVER_HIRING_INTEGRATION_TEST_CREDS: ${{ secrets.LEVER_HIRING_INTEGRATION_TEST_CREDS }}
LOOKER_INTEGRATION_TEST_CREDS: ${{ secrets.LOOKER_INTEGRATION_TEST_CREDS }}
MAILCHIMP_TEST_CREDS: ${{ secrets.MAILCHIMP_TEST_CREDS }}
MICROSOFT_TEAMS_TEST_CREDS: ${{ secrets.MICROSOFT_TEAMS_TEST_CREDS }}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"sourceDefinitionId": "3981c999-bd7d-4afc-849b-e53dea90c948",
"name": "Lever Hiring",
"dockerRepository": "airbyte/source-lever-hiring",
"dockerImageTag": "0.1.0",
"documentationUrl": "https://docs.airbyte.io/integrations/sources/lever-hiring"
}
Original file line number Diff line number Diff line change
Expand Up @@ -556,3 +556,9 @@
documentationUrl: https://docs.airbyte.io/integrations/sources/mongodb-v2
icon: mongodb.svg
sourceType: database
- sourceDefinitionId: 3981c999-bd7d-4afc-849b-e53dea90c948
name: Lever Hiring
dockerRepository: airbyte/source-lever-hiring
dockerImageTag: 0.1.0
documentationUrl: https://docs.airbyte.io/integrations/sources/lever-hiring
sourceType: api
1 change: 1 addition & 0 deletions airbyte-integrations/builds.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
| Intercom | [![source-intercom](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-intercom-singer%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-intercom) |
| Iterable | [![source-iterable](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-iterable%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-iterable) |
| Jira | [![source-jira](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-jira%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-jira) |
| Lever Hiring | [![source-lever-hiring](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-lever-hiring%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-lever-hiring) |
| Looker | [![source-looker](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-looker%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-looker) |
| Klaviyo | [![source-klaviyo](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-klaviyo%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-klaviyo) |
| Kustomer | [![source-kustomer](https://img.shields.io/endpoint?url=https%3A%2F%2Fdnsgjos7lj2fu.cloudfront.net%2Ftests%2Fsummary%2Fsource-kustomer%2Fbadge.json)](https://dnsgjos7lj2fu.cloudfront.net/tests/summary/source-kustomer-singer) |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
connector_image: airbyte/source-lever-hiring:dev
tests:
spec:
- spec_path: "source_lever_hiring/spec.json"
- spec_path: "integration_tests/spec.json"
connection:
- config_path: "secrets/config.json"
status: "succeed"
Expand All @@ -15,13 +15,7 @@ tests:
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
empty_streams: []
# TODO uncomment this block to specify that the tests should assert the connector outputs the records provided in the input file a file
# expect_records:
# path: "integration_tests/expected_records.txt"
# extra_fields: no
# exact_order: no
# extra_records: yes
incremental: # TODO if your connector does not implement incremental sync, remove this block
incremental:
- config_path: "secrets/config.json"
configured_catalog_path: "integration_tests/configured_catalog.json"
future_state_path: "integration_tests/abnormal_state.json"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"todo-stream-name": {
"todo-field-name": "todo-abnormal-value"
"opportunities": {
"updatedAt": 1638587931515000
}
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,77 @@
{
"streams": []
"streams": [
{
"stream": {
"name": "applications",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "interviews",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "notes",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "offers",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "opportunities",
"json_schema": {},
"supported_sync_modes": ["full_refresh", "incremental"],
"source_defined_cursor": true,
"default_cursor_field": ["updatedAt"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "incremental",
"destination_sync_mode": "append",
"cursor_field": ["updatedAt"]
},
{
"stream": {
"name": "referrals",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
},
{
"stream": {
"name": "users",
"json_schema": {},
"supported_sync_modes": ["full_refresh"],
"source_defined_primary_key": [["id"]]
},
"sync_mode": "full_refresh",
"destination_sync_mode": "overwrite"
}
]
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"todo-wrong-field": "this should be an incomplete config file, used in standard tests"
"client_id": "fake_client_id",
"client_secret": "fake_client_secret",
"refresh_token": "fake_refresh_token",
"environment": "Sandbox",
"start_date": "2021-07-12T00:00:00Z"
}
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
{
"fix-me": "TODO"
"client_id": "client_id",
"client_secret": "client_secret",
"refresh_token": "refresh_token",
"environment": "Sandbox",
"start_date": "2021-07-12T00:00:00Z"
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"todo-stream-name": {
"todo-field-name": "value"
"opportunities": {
"updatedAt": 1628587931515
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
{
"documentationUrl": "https://docs.airbyte.io/integrations/sources/lever-hiring",
"changelogUrl": "https://docs.airbyte.io/integrations/sources/lever-hiring#changelog",
"connectionSpecification": {
"title": "Lever Hiring Spec",
"type": "object",
"properties": {
"client_id": {
"title": "Client Id",
"description": "The client application id as provided when registering the application with Lever.",
"type": "string"
},
"client_secret": {
"title": "Client Secret",
"description": "The application secret as provided when registering the application with Lever.",
"airbyte_secret": true,
"type": "string"
},
"refresh_token": {
"title": "Refresh Token",
"description": "The refresh token your application will need to submit to get a new access token after it's expired.",
"type": "string"
},
"environment": {
"title": "Environment",
"description": "Sandbox or Production environment.",
"default": "Production",
"enum": ["Sandbox", "Production"],
"type": "string"
},
"start_date": {
"title": "Start Date",
"description": "UTC date and time in the format 2019-02-25T00:00:00Z. Any data before this date will not be replicated.",
"pattern": "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}Z$",
"examples": ["2021-04-25T00:00:00Z"],
"type": "string"
}
},
"required": ["client_id", "client_secret", "refresh_token", "start_date"]
},
"authSpecification": {
"auth_type": "oauth2.0",
"oauth2Specification": {
"oauthFlowInitParameters": [
["client_id"],
["client_secret"],
["refresh_token"]
]
}
}
}
3 changes: 2 additions & 1 deletion airbyte-integrations/connectors/source-lever-hiring/setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@
"pytest~=6.1",
"pytest-mock~=3.6.1",
"source-acceptance-test",
"responses~=0.13.3",
]

setup(
Expand All @@ -42,7 +43,7 @@
author_email="[email protected]",
packages=find_packages(),
install_requires=MAIN_REQUIREMENTS,
package_data={"": ["*.json", "schemas/*.json", "schemas/shared/*.json"]},
package_data={"": ["*.json"]},
extras_require={
"tests": TEST_REQUIREMENTS,
},
Expand Down
Loading

0 comments on commit 7316206

Please sign in to comment.