GitLab

Get started with the GitLab connector!

Description

GitLab is the most comprehensive DevSecOps platform for software innovation.

Connector Details

NameValue
PlatformGitLab
Auth TypeAPI Keys
DirectionRead

Supported Data

See the table below for the list of data you can read with the GitLab connector.

Table NameFields
projects
approvals_before_merge, archived, avatar_url, builds_enabled, container_registry_enabled, created_at, creator_id, default_branch, description, forks_count, http_url_to_repo, id, issues_enabled, last_activity_at, lfs_enabled, merge_requests_enabled, merge_method, name, name_with_namespace, namespace, only_allow_merge_if_all_discussions_are_resolved, only_allow_merge_if_build_succeeds, open_issues_count, owner_id, path, path_with_namespace, permissions, public, public_builds, request_access_enabled, shared_runners_enabled, shared_with_groups, snippets_enabled, ssh_url_to_repo, star_count, statistics, tag_list, visibility_level, visibility, web_url, wiki_enabled
branches
project_id, name, merged, protected, default, developers_can_push, developers_can_merge, can_push, commit_id
commits
id, project_id, short_id, title, author_name, author_email, authored_date, committer_name, committer_email, committed_date, created_at, message, allow_failure, parent_ids, stats
issues
project_id, id, iid, milestone_id, author_id, assignee_id, assignees, closed_by_id, title, description, state, labels, created_at, updated_at, closed_at, subscribed, upvotes, downvotes, merge_requests_count, user_notes_count, due_date, weight, web_url, confidential, discussion_locked, has_tasks, task_status, time_estimate, total_time_spent, human_time_estimate, human_total_time_spent
jobs
id, project_id, user_id, commit_id, pipeline_id, runner_id, name, stage, ref, status, duration, coverage, allow_failure, created_at, started_at, finished_at, artifacts_expire_at
merge_requests
id, iid, project_id, milestone_id, author_id, assignee_id, assignees, merged_by_id, closed_by_id, created_at, updated_at, merged_at, closed_at, title, description, state, target_project_id, target_branch, source_project_id, source_branch, upvotes, downvotes, labels, work_in_progress, merge_when_pipeline_succeeds, merge_status, sha, user_notes_count, should_remove_source_branch, force_remove_source_branch, allow_collaboration, allow_maintainer_to_push, web_url, squash, time_estimate, total_time_spent, human_time_estimate, human_total_time_spent
merge_request_commits
project_id, merge_request_iid, commit_id, commit_short_id
project_milestones
id, iid, project_id, group_id, title, description, start_date, due_date, state, created_at, updated_at
group_milestones
id, iid, project_id, group_id, title, description, start_date, due_date, state, created_at, updated_at
users
id, username, name, state, avatar_url, web_url
groups
id, name, path, description, visibility_level, lfs_enabled, avatar_url, web_url, request_access_enabled, full_name, full_path, projects
project_members
id, project_id, user_id, access_level
group_members
id, group_id, user_id, name, username, access_level, expires_at, state
releases
tag_name, author_id, commit_id, project_id, description, name, created_at, released_at
tags
commit_id, project_id, name, target, message
project_labels
id, project_id, name, color, text_color, description, open_issues_count, closed_issues_count, open_merge_requests_count, subscribed, priority, is_project_label
group_labels
id, group_id, name, color, text_color, description, open_issues_count, closed_issues_count, open_merge_requests_count, subscribed
epics
id, iid, group_id, parent_id, title, description, state, author_id, start_date, end_date, due_date, created_at, updated_at, labels, upvotes, downvotes
epic_issues
group_id, epic_iid, epic_issue_id, issue_id, issue_iid, project_id, relative_position
pipelines
id, status, ref, sha, web_url, created_at, updated_at
pipelines_extended
project_id, id, status, ref, sha, before_sha, tag, yaml_errors, user, created_at, updated_at, started_at, finished_at, committed_at, duration, coverage, web_url

Credentials Setup

Follow the steps below to get the credentials you need to use the GitLab connector.

The first thing you must do is log in to your Gitlab account. If you have a Gitlab account, you can login here. If you do not have an account, you can create one here.

Gitlab API URL

Usually, you Gitlab API URL will be https://gitlab.com/api/v4.

Access Token

Now that you have logged in to Gitlab, your home page should look something like this. Go ahead to the top right corner and click the circular icon.

From the resulting drop down, you should click the Edit Profile option.

From this page, you should go ahead and select the Access Tokens tab.

You should now be on a page where you can create your own access token. Go ahead and title your access token "hotglue" and give it an expiration date.

Now we need to set the scopes for the access token. If you know the exact permissions you would like to grant, go ahead and check those. At minimum, you should enable the API scope as well as all the read scopes. Once you are done selecting your scopes, go ahead and click the Create personal access token.

You now have your personal access token! Go ahead and copy it into hotglue.

Your Groups (Optional)

To find your groups, head to Menu option on the top left of the page.

Then, you should navigate to the Groups tab, and within the Groups tab, head to the Your groups tab.

I have a test group here titled myawesometestgroup. So in hotglue, I will put myawesometestgroup in the Groups entry.

Your Projects

Using the menu, head to the Projects tab. You should then navigate to the Your projects.

As you can see, I have a test project. In hotglue, I would input myorg/myawesomeproject into hotglue.