GitLab
GitLab
GitLab ETL connector for data replication
Snapshot
Features | Details |
Release Status | In-dev |
Source API Version | V4 |
Table Selection | Yes |
Column Selection | Yes |
Edit Integration | Yes |
Replication Type Selection | No |
Authentication Parameters | GitLab Company Name GitLab API Key |
Replication Type | Full Replication Key Based Incremental |
Replication Key | Date |
Suggested Replication Frequency | 1 hour |
Tables/APIs supported
Projects | Groups |
Epics | Project Milestones |
Group Milestones | Releases |
Tags | Todos |
Issues | Comments |
Commits | Merge Requests |
Branches | Users |
Integrate GitLab with Daton
- Sign in to Daton
- Select GitLab from the list of Integrations
- Provide Integration Name, Replication Frequency, and History. Integration name would be used in creating tables for the integration and cannot be changed later
- Provide your GitLab company name and API Key
- Post successful authentication, you will be prompted to choose from the list of available tables
- Then select all required fields for each table
- Submit the integration
Workflow
- Integrations would be in Pending state initially and will be moved to Active state as soon as the first job loads data successfully on to the configured warehouse
- Users would be able to edit/pause/re-activate/delete integration anytime
- Users can view job status and process logs from the integration details page by clicking on the integration name from the active list
GitLab Data
Projects
Purpose: This API is used to fetch all the projects in your GitLab Account
Source API Documentation: https://docs.gitlab.com/ee/api/projects.html
Replication: Key Based Incremental
Replication Key: last_activity_after, last_activity_before
Fields
Name | Data Type |
id | NUMERIC |
description | STRING |
name | STRING |
name_with_namespace | STRING |
path | STRING |
path_with_namespace | STRING |
created_at | TIMESTAMP |
default_branch | STRING |
tag_list | STRING |
topics | STRING |
ssh_url_to_repo | STRING |
http_url_to_repo | STRING |
web_url | STRING |
readme_url | STRING |
avatar_url | STRING |
forks_count | NUMERIC |
star_count | NUMERIC |
last_activity_at | TIMESTAMP |
namespace | RECORD |
Groups
Purpose: This API is used to fetch all the groups
Source API Documentation: https://docs.gitlab.com/ee/api/groups.html
Replication: Full Replication
Replication Key: NA
Fields
Name | Data Type |
id | NUMERIC |
name | STRING |
path | STRING |
description | STRING |
visibility | STRING |
share_with_group_lock | BOOLEAN |
require_two_factor_authentication | BOOLEAN |
two_factor_grace_period | NUMERIC |
project_creation_level | STRING |
subgroup_creation_level | STRING |
lfs_enabled | BOOLEAN |
default_branch_protection | NUMERIC |
avatar_url | STRING |
web_url | STRING |
request_access_enabled | BOOLEAN |
full_name | STRING |
full_path | STRING |
file_template_project_id | NUMERIC |
created_at | TIMESTAMP |
Epics (GitLab Premium Users Only)
Purpose: This API is used to fetch all the Epics under the groups. This is available only to GitLab Premium Self-managed, GitLab
Premium SaaS and higher tiers
Source API Documentation: https://docs.gitlab.com/ee/api/epics.html
Replication: Key Based Incremental
Replication Key: updated_after, updated_before
Fields
Name | Data Type |
id | NUMERIC |
iid | NUMERIC |
group_id | NUMERIC |
parent_id | NUMERIC |
parent_iid | NUMERIC |
title | STRING |
description | STRING |
state | STRING |
confidential | STRING |
web_url | STRING |
reference | STRING |
references | RECORD |
author | RECORD |
start_date_is_fixed | BOOLEAN |
end_date | STRING |
due_date | STRING |
due_date_is_fixed | BOOLEAN |
due_date_from_milestones | STRING |
due_date_from_inherited_source | STRING |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
closed_at | TIMESTAMP |
upvotes | NUMERIC |
downvotes | NUMERIC |
color | STRING |
_links | RECORD |
Project Milestones
Purpose: This API is used to fetch the milestones of all the projects
Source API Documentation: https://docs.gitlab.com/ee/api/milestones.html
Replication: Key Based Incremental
Replication Key: last_activity_after, last_activity_before
Fields
Name | Data Type |
id | NUMERIC |
iid | NUMERIC |
project_id | NUMERIC |
title | STRING |
description | STRING |
due_date | DATE |
start_date | DATE |
state | STRING |
updated_at | TIMESTAMP |
created_at | TIMESTAMP |
expired | BOOLEAN |
Group Milestones
Purpose: This API is used to fetch milestones of all the groups
Source API Documentation: https://docs.gitlab.com/ee/api/group_milestones.html
Replication: Full Replication
Replication Key: NA
Fields
Name | Data Type |
id | NUMERIC |
iid | NUMERIC |
group_id | NUMERIC |
title | STRING |
description | STRING |
due_date | DATE |
start_date | DATE |
state | STRING |
updated_at | TIMESTAMP |
created_at | TIMESTAMP |
expired | BOOLEAN |
web_url | STRING |
Releases
Purpose: This API is used to fetch the releases project wise
Source API Documentation: https://docs.gitlab.com/ee/api/releases/
Replication: Key Based Incremental
Replication Key: last_activity_after, last_activity_before
Fields
Name | Data Type |
tag_name | STRING |
description | STRING |
name | STRING |
created_at | TIMESTAMP |
released_at | TIMESTAMP |
author | RECORD |
commit | RECORD |
milestones | RECORD |
commit_path | STRING |
tag_path | STRING |
assets | RECORD |
evidences | RECORD |
Tags
Purpose: This API is used to get a list of repository tags from a project
Source API Documentation: https://docs.gitlab.com/ee/api/tags.html
Replication: Key Based Incremental
Replication Key: last_activity_after, last_activity_before
Fields
Name | Data Type |
commit | RECORD |
release | RECORD |
name | STRING |
target | STRING |
protected | BOOLEAN |
project_id | STRING |
Todos
Purpose: This API is used to fetch all to-dos that are done and pending
Source API Documentation: https://docs.gitlab.com/ee/api/todos.html
Replication: Full Replication
Replication Key: NA
Fields
Name | Data Type |
id | NUMERIC |
project | RECORD |
author | RECORD |
action_name | STRING |
target_type | STRING |
target | RECORD |
target_url | STRING |
body | STRING |
state | STRING |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
Issues
Purpose: This API is used to fetch all the issues in the account
Source API Documentation: https://docs.gitlab.com/ee/api/issues.html
Replication: Key Based Incremental
Replication Key: updated_after, updated_before
Fields
Name | Data Type |
state | STRING |
description | STRING |
author | RECORD |
milestone | RECORD |
project_id | NUMERIC |
assignees | RECORD |
assignee | RECORD |
type | STRING |
updated_at | TIMESTAMP |
id | NUMERIC |
title | STRING |
created_at | TIMESTAMP |
iid | NUMERIC |
labels | STRING |
upvotes | NUMERIC |
downvotes | NUMERIC |
merge_requests_count | NUMERIC |
user_notes_count | NUMERIC |
due_date | DATE |
web_url | STRING |
references | RECORD |
time_stats | RECORD |
has_tasks | BOOLEAN |
task_status | STRING |
confidential | BOOLEAN |
discussion_locked | BOOLEAN |
issue_type | STRING |
severity | STRING |
_links | RECORD |
task_completion_status | RECORD |
Comments
Purpose: This API is used to fetch all comments in issues, epics, snippets and merge requests
Source API Documentation: https://docs.gitlab.com/ee/api/notes.html
Replication: Key Based Incremental
Replication Key: updated_after, updated_before
Fields
Name | Data Type |
id | NUMERIC |
body | STRING |
author | RECORD |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
system | BOOLEAN |
noteable_id | NUMERIC |
noteable_type | STRING |
noteable_iid | NUMERIC |
resolvable | BOOLEAN |
confidential | BOOLEAN |
internal | BOOLEAN |
Commits
Purpose: This API is used to fetch the commits made in all the projects. In commit responses, created_at and commited_date are identical.
Source API Documentation: https://docs.gitlab.com/ee/api/commits.html
Replication: Key Based Incremental
Replication Key: since, until
Fields
Name | Data Type |
id | STRING |
short_id | STRING |
title | STRING |
author_name | STRING |
author_email | STRING |
authored_date | TIMESTAMP |
committer_name | STRING |
committer_email | STRING |
committed_date | TIMESTAMP |
created_at | TIMESTAMP |
message | STRING |
parent_ids | STRING |
web_url | STRING |
project_id | STRING |
Merge Requests
Purpose: This API is used to fetch all the merge requests made by all users
Source API Documentation: https://docs.gitlab.com/ee/api/merge_requests.html
Replication: Key Based Incremental
Replication Key: updated_after, updated_before
Fields
Name | Data Type |
id | NUMERIC |
iid | NUMERIC |
project_id | NUMERIC |
title | STRING |
description | STRING |
state | STRING |
merged_by | RECORD |
merge_user | RECORD |
merged_at | TIMESTAMP |
created_at | TIMESTAMP |
updated_at | TIMESTAMP |
target_branch | STRING |
source_branch | STRING |
upvotes | NUMERIC |
downvotes | NUMERIC |
author | RECORD |
assignee | RECORD |
assignees | RECORD |
reviewers | RECORD |
source_project_id | NUMERIC |
target_project_id | NUMERIC |
labels | STRING |
draft | BOOLEAN |
work_in_progress | BOOLEAN |
milestone | RECORD |
merge_when_pipeline_succeeds | BOOLEAN |
merge_status | STRING |
detailed_merge_status | STRING |
sha | STRING |
user_notes_count | NUMERIC |
should_remove_source_branch | BOOLEAN |
force_remove_source_branch | BOOLEAN |
allow_collaboration | BOOLEAN |
allow_maintainer_to_push | BOOLEAN |
web_url | STRING |
references | RECORD |
time_stats | RECORD |
squash | BOOLEAN |
task_completion_status | RECORD |
Branches
Purpose: This API is used to fetch branches under all projects
Source API Documentation: https://docs.gitlab.com/ee/api/branches.html
Replication: Full Replication
Replication Key: NA
Fields
Name | Data Type |
name | STRING |
merged | BOOLEAN |
protected | BOOLEAN |
default | BOOLEAN |
developers_can_push | BOOLEAN |
developers_can_merge | BOOLEAN |
can_push | BOOLEAN |
web_url | STRING |
commit | RECORD |
project_id | STRING |
Users
Purpose: This API is used to fetch all users
Source API Documentation: https://docs.gitlab.com/ee/api/users.html
Replication: Full Replication
Replication Key: NA
Fields
Name | Data Type |
id | NUMERIC |
username | STRING |
name | STRING |
state | STRING |
avatar_url | STRING |
web_url | STRING |