> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stackone.com/llms.txt
> Use this file to discover all available pages before exploring further.

# GitLab OAuth 2.0 connector profile – StackOne setup guide

> Set up the OAuth 2.0 connector profile for GitLab in StackOne. One-time admin setup required before your users can link GitLab accounts via Hub.

<Warning>Ensure you have access to create OAuth applications in your GitLab account. For organization-wide access, you may need Owner or Administrator privileges.</Warning>

<Panel>
  <div className="not-prose guides-scope-selector" data-guides-scope-selector data-guide-actions-json="[{&#x22;id&#x22;:&#x22;gitlab_list_branches&#x22;,&#x22;label&#x22;:&#x22;List Branches&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_branch&#x22;,&#x22;label&#x22;:&#x22;Get Branch&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_branch&#x22;,&#x22;label&#x22;:&#x22;Create Branch&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_branch&#x22;,&#x22;label&#x22;:&#x22;Delete Branch&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_protected_branches&#x22;,&#x22;label&#x22;:&#x22;List Protected Branches&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_branch_rules&#x22;,&#x22;label&#x22;:&#x22;List Group Branch Rules&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_protected_branch&#x22;,&#x22;label&#x22;:&#x22;Get Protected Branch&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_protect_branch&#x22;,&#x22;label&#x22;:&#x22;Protect Branch&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unprotect_branch&#x22;,&#x22;label&#x22;:&#x22;Unprotect Branch&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_commits&#x22;,&#x22;label&#x22;:&#x22;List Commits&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_commit&#x22;,&#x22;label&#x22;:&#x22;Get Commit&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_merge_requests_for_commit&#x22;,&#x22;label&#x22;:&#x22;List Merge Requests For Commit&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_commit&#x22;,&#x22;label&#x22;:&#x22;Create Commit&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_commit_diff&#x22;,&#x22;label&#x22;:&#x22;Get Commit Diff&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_cherry_pick_commit&#x22;,&#x22;label&#x22;:&#x22;Cherry-Pick Commit&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_revert_commit&#x22;,&#x22;label&#x22;:&#x22;Revert Commit&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_deploy_keys&#x22;,&#x22;label&#x22;:&#x22;List Project Deploy Keys&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_add_project_deploy_key&#x22;,&#x22;label&#x22;:&#x22;Add Project Deploy Key&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_project_deploy_key&#x22;,&#x22;label&#x22;:&#x22;Delete Project Deploy Key&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_enable_project_deploy_key&#x22;,&#x22;label&#x22;:&#x22;Enable Project Deploy Key&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_environments&#x22;,&#x22;label&#x22;:&#x22;List Environments&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_environment&#x22;,&#x22;label&#x22;:&#x22;Get Environment&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_environment&#x22;,&#x22;label&#x22;:&#x22;Create Environment&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_environment&#x22;,&#x22;label&#x22;:&#x22;Update Environment&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_stop_environment&#x22;,&#x22;label&#x22;:&#x22;Stop Environment&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Groups&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Group&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_group&#x22;,&#x22;label&#x22;:&#x22;Create Group&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_group&#x22;,&#x22;label&#x22;:&#x22;Update Group&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_group&#x22;,&#x22;label&#x22;:&#x22;Delete Group&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_projects&#x22;,&#x22;label&#x22;:&#x22;List Group Projects&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_subgroups&#x22;,&#x22;label&#x22;:&#x22;List Group Subgroups&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_members&#x22;,&#x22;label&#x22;:&#x22;List Group Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_all_group_members&#x22;,&#x22;label&#x22;:&#x22;List All Group Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_billable_group_members&#x22;,&#x22;label&#x22;:&#x22;List Billable Group Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_billable_member_memberships&#x22;,&#x22;label&#x22;:&#x22;List Billable Member Memberships&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_pending_group_members&#x22;,&#x22;label&#x22;:&#x22;List Pending Group Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_descendant_members&#x22;,&#x22;label&#x22;:&#x22;List Group Descendant Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_project_members&#x22;,&#x22;label&#x22;:&#x22;List Group Project Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_enterprise_users&#x22;,&#x22;label&#x22;:&#x22;List Enterprise Users&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_add_group_member&#x22;,&#x22;label&#x22;:&#x22;Add Group Member&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_remove_group_member&#x22;,&#x22;label&#x22;:&#x22;Remove Group Member&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_get_me&#x22;,&#x22;label&#x22;:&#x22;Get Unified Credentials&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_groups&#x22;,&#x22;label&#x22;:&#x22;List Unified Groups&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_get_group&#x22;,&#x22;label&#x22;:&#x22;Get Unified Group&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_organizations&#x22;,&#x22;label&#x22;:&#x22;List Unified Organizations&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_get_organization&#x22;,&#x22;label&#x22;:&#x22;Get Unified Organization&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_resource_types&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Types&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_resource_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Resource Users&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_roles&#x22;,&#x22;label&#x22;:&#x22;List Unified Roles&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_get_role&#x22;,&#x22;label&#x22;:&#x22;Get Unified Role&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_list_users&#x22;,&#x22;label&#x22;:&#x22;List Unified Users&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unified_get_user&#x22;,&#x22;label&#x22;:&#x22;Get Unified User&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_metadata&#x22;,&#x22;label&#x22;:&#x22;Get Instance Metadata&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_issues&#x22;,&#x22;label&#x22;:&#x22;List Project Issues&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_issue&#x22;,&#x22;label&#x22;:&#x22;Get Issue&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_issue&#x22;,&#x22;label&#x22;:&#x22;Create Issue&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_issue&#x22;,&#x22;label&#x22;:&#x22;Update Issue&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_issue&#x22;,&#x22;label&#x22;:&#x22;Delete Issue&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_move_issue&#x22;,&#x22;label&#x22;:&#x22;Move Issue&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_issue_notes&#x22;,&#x22;label&#x22;:&#x22;List Issue Notes&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_issue_note&#x22;,&#x22;label&#x22;:&#x22;Create Issue Note&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_issue_participants&#x22;,&#x22;label&#x22;:&#x22;List Issue Participants&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_related_merge_requests&#x22;,&#x22;label&#x22;:&#x22;List Related Merge Requests&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_labels&#x22;,&#x22;label&#x22;:&#x22;List Project Labels&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_project_label&#x22;,&#x22;label&#x22;:&#x22;Get Project Label&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_project_label&#x22;,&#x22;label&#x22;:&#x22;Create Project Label&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_project_label&#x22;,&#x22;label&#x22;:&#x22;Update Project Label&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_project_label&#x22;,&#x22;label&#x22;:&#x22;Delete Project Label&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_merge_requests&#x22;,&#x22;label&#x22;:&#x22;List Project Merge Requests&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_merge_requests&#x22;,&#x22;label&#x22;:&#x22;List Group Merge Requests&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_merge_request&#x22;,&#x22;label&#x22;:&#x22;Get Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_merge_request&#x22;,&#x22;label&#x22;:&#x22;Create Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_merge_request&#x22;,&#x22;label&#x22;:&#x22;Update Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_merge_merge_request&#x22;,&#x22;label&#x22;:&#x22;Merge Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_rebase_merge_request&#x22;,&#x22;label&#x22;:&#x22;Rebase Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_merge_request_commits&#x22;,&#x22;label&#x22;:&#x22;List Merge Request Commits&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_merge_request_diffs&#x22;,&#x22;label&#x22;:&#x22;List Merge Request Diffs&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_approve_merge_request&#x22;,&#x22;label&#x22;:&#x22;Approve Merge Request&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_merge_request_approvals&#x22;,&#x22;label&#x22;:&#x22;Get Merge Request Approvals&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_merge_request_approval_state&#x22;,&#x22;label&#x22;:&#x22;Get Merge Request Approval State&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_approval_rules&#x22;,&#x22;label&#x22;:&#x22;List Project Approval Rules&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_project_approval_configuration&#x22;,&#x22;label&#x22;:&#x22;Get Project Approval Configuration&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_group_merge_request_approval_setting&#x22;,&#x22;label&#x22;:&#x22;Get Group Merge Request Approval Settings&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_group_merge_requests_with_approvals&#x22;,&#x22;label&#x22;:&#x22;List Group Merge Requests With Approvals&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_merge_request_notes&#x22;,&#x22;label&#x22;:&#x22;List Merge Request Notes&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_merge_request_note&#x22;,&#x22;label&#x22;:&#x22;Create Merge Request Note&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_cancel_merge_when_pipeline_succeeds&#x22;,&#x22;label&#x22;:&#x22;Cancel Auto-Merge&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_merge_request_participants&#x22;,&#x22;label&#x22;:&#x22;Get Merge Request Participants&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_milestones&#x22;,&#x22;label&#x22;:&#x22;List Project Milestones&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_project_milestone&#x22;,&#x22;label&#x22;:&#x22;Get Project Milestone&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_project_milestone&#x22;,&#x22;label&#x22;:&#x22;Create Project Milestone&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_project_milestone&#x22;,&#x22;label&#x22;:&#x22;Update Project Milestone&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_project_milestone&#x22;,&#x22;label&#x22;:&#x22;Delete Project Milestone&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_namespaces&#x22;,&#x22;label&#x22;:&#x22;List Namespaces&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_namespace&#x22;,&#x22;label&#x22;:&#x22;Get Namespace&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_pipelines&#x22;,&#x22;label&#x22;:&#x22;List Pipelines&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_pipeline&#x22;,&#x22;label&#x22;:&#x22;Get Pipeline&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_pipeline&#x22;,&#x22;label&#x22;:&#x22;Create Pipeline&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_retry_pipeline&#x22;,&#x22;label&#x22;:&#x22;Retry Pipeline&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_cancel_pipeline&#x22;,&#x22;label&#x22;:&#x22;Cancel Pipeline&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_pipeline&#x22;,&#x22;label&#x22;:&#x22;Delete Pipeline&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_pipeline_variables&#x22;,&#x22;label&#x22;:&#x22;Get Pipeline Variables&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_pipeline_jobs&#x22;,&#x22;label&#x22;:&#x22;List Pipeline Jobs&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_job&#x22;,&#x22;label&#x22;:&#x22;Get Job&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_job_log&#x22;,&#x22;label&#x22;:&#x22;Get Job Log&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_retry_job&#x22;,&#x22;label&#x22;:&#x22;Retry Job&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_projects&#x22;,&#x22;label&#x22;:&#x22;List Projects&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_project&#x22;,&#x22;label&#x22;:&#x22;Get Project&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_project&#x22;,&#x22;label&#x22;:&#x22;Create Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_project&#x22;,&#x22;label&#x22;:&#x22;Update Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_project&#x22;,&#x22;label&#x22;:&#x22;Delete Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_fork_project&#x22;,&#x22;label&#x22;:&#x22;Fork Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_archive_project&#x22;,&#x22;label&#x22;:&#x22;Archive Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_unarchive_project&#x22;,&#x22;label&#x22;:&#x22;Unarchive Project&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_members&#x22;,&#x22;label&#x22;:&#x22;List Project Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_all_project_members&#x22;,&#x22;label&#x22;:&#x22;List All Project Members&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_add_project_member&#x22;,&#x22;label&#x22;:&#x22;Add Project Member&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_project_member&#x22;,&#x22;label&#x22;:&#x22;Update Project Member&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_remove_project_member&#x22;,&#x22;label&#x22;:&#x22;Remove Project Member&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_releases&#x22;,&#x22;label&#x22;:&#x22;List Releases&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_release&#x22;,&#x22;label&#x22;:&#x22;Get Release&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_release&#x22;,&#x22;label&#x22;:&#x22;Create Release&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_release&#x22;,&#x22;label&#x22;:&#x22;Update Release&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_release&#x22;,&#x22;label&#x22;:&#x22;Delete Release&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_repository_tree&#x22;,&#x22;label&#x22;:&#x22;List Repository Tree&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_file&#x22;,&#x22;label&#x22;:&#x22;Get File&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_file&#x22;,&#x22;label&#x22;:&#x22;Create File&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_file&#x22;,&#x22;label&#x22;:&#x22;Update File&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_file&#x22;,&#x22;label&#x22;:&#x22;Delete File&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_tags&#x22;,&#x22;label&#x22;:&#x22;List Tags&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_tag&#x22;,&#x22;label&#x22;:&#x22;Create Tag&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_tag&#x22;,&#x22;label&#x22;:&#x22;Delete Tag&#x22;,&#x22;scopes&#x22;:[&#x22;write_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_repository_contributors&#x22;,&#x22;label&#x22;:&#x22;Get Repository Contributors&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_compare_branches&#x22;,&#x22;label&#x22;:&#x22;Compare Branches&#x22;,&#x22;scopes&#x22;:[&#x22;read_repository&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_search_globally&#x22;,&#x22;label&#x22;:&#x22;Search Globally&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_search_in_group&#x22;,&#x22;label&#x22;:&#x22;Search In Group&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_search_in_project&#x22;,&#x22;label&#x22;:&#x22;Search In Project&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_snippets&#x22;,&#x22;label&#x22;:&#x22;List Snippets&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_snippet&#x22;,&#x22;label&#x22;:&#x22;Get Snippet&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_snippet&#x22;,&#x22;label&#x22;:&#x22;Create Snippet&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_snippet&#x22;,&#x22;label&#x22;:&#x22;Update Snippet&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_snippet&#x22;,&#x22;label&#x22;:&#x22;Delete Snippet&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_users&#x22;,&#x22;label&#x22;:&#x22;List Users&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_user&#x22;,&#x22;label&#x22;:&#x22;Get User&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_current_user&#x22;,&#x22;label&#x22;:&#x22;Get Current User&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_user&#x22;,&#x22;label&#x22;:&#x22;Create User&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_user&#x22;,&#x22;label&#x22;:&#x22;Update User&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_user&#x22;,&#x22;label&#x22;:&#x22;Delete User&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_current_user_status&#x22;,&#x22;label&#x22;:&#x22;Get Current User Status&#x22;,&#x22;scopes&#x22;:[&#x22;read_user&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_user_status&#x22;,&#x22;label&#x22;:&#x22;Get User Status&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_list_project_variables&#x22;,&#x22;label&#x22;:&#x22;List Project CI/CD Variables&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_get_project_variable&#x22;,&#x22;label&#x22;:&#x22;Get Project CI/CD Variable&#x22;,&#x22;scopes&#x22;:[&#x22;read_api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_create_project_variable&#x22;,&#x22;label&#x22;:&#x22;Create Project CI/CD Variable&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_update_project_variable&#x22;,&#x22;label&#x22;:&#x22;Update Project CI/CD Variable&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]},{&#x22;id&#x22;:&#x22;gitlab_delete_project_variable&#x22;,&#x22;label&#x22;:&#x22;Delete Project CI/CD Variable&#x22;,&#x22;scopes&#x22;:[&#x22;api&#x22;]}]">
    <div className="guides-scope-selector__title">Select Actions to adjust the guide</div>
    <div className="guides-scope-selector__muted guides-scope-selector__subtitle">Some actions may require additional configuration in the provider to be accessible. Choose the actions you need and the guide will be updated.</div>

    <div className="guides-scope-selector__toolbar">
      <input type="text" placeholder="Search actions..." className="guides-scope-selector__input guides-scope-selector__search" data-guide-action-search />

      <button type="button" className="guides-scope-selector__quick-btn" data-guide-select-all>Select all</button>
      <button type="button" className="guides-scope-selector__quick-btn" data-guide-clear>Clear</button>
    </div>

    <div className="guides-scope-selector__list">
      <div className="guides-scope-selector__list-header">
        <div className="guides-scope-selector__list-header-spacer" />

        <div className="guides-scope-selector__list-header-action">Action</div>
        <div className="guides-scope-selector__list-header-scopes">Scope(s)</div>
      </div>

      <div className="guides-scope-selector__muted guides-scope-selector__status" data-guide-loading>Loading actions...</div>
      <div className="guides-scope-selector__muted guides-scope-selector__status" data-guide-no-results hidden>No actions match your search.</div>
    </div>

    <div className="guides-scope-selector__url-section">
      <div className="guides-scope-selector__muted guides-scope-selector__label">Dynamic Guide URL</div>

      <div className="guides-scope-selector__url-row">
        <input type="text" readOnly className="guides-scope-selector__input guides-scope-selector__url-input" data-guide-url />

        <button type="button" className="guides-scope-selector__copy-btn guides-scope-selector__copy-btn--end" data-guide-copy-url>Copy URL</button>
      </div>

      <div className="guides-scope-selector__scopes-section">
        <div className="guides-scope-selector__muted guides-scope-selector__label">Scopes Selected</div>

        <div className="guides-scope-selector__scopes-row">
          <pre className="guides-scope-selector__input guides-scope-selector__scopes-output" role="textbox" aria-readonly="true" tabIndex={0} data-guide-scopes-output />

          <div className="guides-scope-selector__muted guides-scope-selector__side-controls">
            <div className="guides-scope-selector__side-label">Separator</div>

            <select className="guides-scope-selector__input guides-scope-selector__delimiter" data-guide-scope-delimiter>
              <option value="space">Space</option>
              <option value="comma">Comma</option>
              <option value="semicolon">Semicolon</option>
              <option value="pipe">Pipe</option>
              <option value="newline">Newline</option>
            </select>

            <button type="button" className="guides-scope-selector__copy-btn" data-guide-copy-scopes>Copy scopes</button>
          </div>
        </div>
      </div>
    </div>
  </div>
</Panel>

<section data-guide-section data-guide-scopes="">
  <h2>Creating an OAuth Application</h2>

  <p>To connect GitLab with StackOne, you'll need to create an OAuth application in your GitLab account.</p>

  <Steps>
    <Step title="Sign in and navigate to Applications">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Sign in to your <a href="https://gitlab.com/users/sign_in" target="_blank" rel="noopener noreferrer">GitLab account</a></p>

        <ul>
          <li>Click on your profile avatar in the top-right corner</li>
          <li>Select <strong>Edit profile</strong> from the dropdown menu</li>
          <li>In the left sidebar, expand the <strong>Access</strong> section</li>
          <li>Click <strong>Applications</strong> from the expanded menu</li>
        </ul>
      </div>
    </Step>

    <Step title="Create a new application">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click the <strong>Add new application</strong> button to create a new OAuth application.</p>

        <ul>
          <li><strong>Name</strong>: Enter a descriptive name (e.g., StackOne Integration)</li>
          <li><strong>Redirect URI</strong>: Enter `https://api.stackone.com/connect/oauth2/gitlab/callback`</li>
          <li><strong>Confidential</strong>: Leave this checkbox checked (recommended for server-side applications)</li>
        </ul>
      </div>
    </Step>

    <Step title="Select OAuth scopes">
      <div data-guide-step data-guide-scopes="api,read_api,read_user,read_repository,write_repository" data-guide-display-scopes-list="api,read_api,read_user,read_repository,write_repository">
        <div className="connector-guide-actions-badge" data-guide-actions-badge data-guide-actions-badge-scopes="api,read_api,read_user,read_repository,write_repository">
          <span>Enables actions: </span><span data-guide-actions-badge-labels>Add Group Member, Add Project Deploy Key, Add Project Member, Approve Merge Request, Archive Project, Cancel Auto-Merge, Cancel Pipeline, Cherry-Pick Commit, Compare Branches, Create Branch, Create Commit, Create Environment, Create File, Create Group, Create Issue, Create Issue Note, Create Merge Request, Create Merge Request Note, Create Pipeline, Create Project, Create Project CI/CD Variable, Create Project Label, Create Project Milestone, Create Release, Create Snippet, Create Tag, Create User, Delete Branch, Delete File, Delete Group, Delete Issue, Delete Pipeline, Delete Project, Delete Project CI/CD Variable, Delete Project Deploy Key, Delete Project Label, Delete Project Milestone, Delete Release, Delete Snippet, Delete Tag, Delete User, Enable Project Deploy Key, Fork Project, Get Branch, Get Commit, Get Commit Diff, Get Current User, Get Current User Status, Get Environment, Get File, Get Group, Get Group Merge Request Approval Settings, Get Instance Metadata, Get Issue, Get Job, Get Job Log, Get Merge Request, Get Merge Request Approval State, Get Merge Request Approvals, Get Merge Request Participants, Get Namespace, Get Pipeline, Get Pipeline Variables, Get Project, Get Project Approval Configuration, Get Project CI/CD Variable, Get Project Label, Get Project Milestone, Get Protected Branch, Get Release, Get Repository Contributors, Get Snippet, Get Unified Credentials, Get Unified Group, Get Unified Organization, Get Unified Role, Get Unified User, Get User, Get User Status, List All Group Members, List All Project Members, List Billable Group Members, List Billable Member Memberships, List Branches, List Commits, List Enterprise Users, List Environments, List Group Branch Rules, List Group Descendant Members, List Group Members, List Group Merge Requests, List Group Merge Requests With Approvals, List Group Project Members, List Group Projects, List Group Subgroups, List Groups, List Issue Notes, List Issue Participants, List Merge Request Commits, List Merge Request Diffs, List Merge Request Notes, List Merge Requests For Commit, List Namespaces, List Pending Group Members, List Pipeline Jobs, List Pipelines, List Project Approval Rules, List Project CI/CD Variables, List Project Deploy Keys, List Project Issues, List Project Labels, List Project Members, List Project Merge Requests, List Project Milestones, List Projects, List Protected Branches, List Related Merge Requests, List Releases, List Repository Tree, List Snippets, List Tags, List Unified Groups, List Unified Organizations, List Unified Resource Types, List Unified Resource Users, List Unified Roles, List Unified Users, List Users, Merge Merge Request, Move Issue, Protect Branch, Rebase Merge Request, Remove Group Member, Remove Project Member, Retry Job, Retry Pipeline, Revert Commit, Search Globally, Search In Group, Search In Project, Stop Environment, Unarchive Project, Unprotect Branch, Update Environment, Update File, Update Group, Update Issue, Update Merge Request, Update Project, Update Project CI/CD Variable, Update Project Label, Update Project Member, Update Project Milestone, Update Release, Update Snippet, Update User</span>
        </div>

        <p>Select the appropriate scopes based on your integration requirements. Use <strong>api</strong> for full API access, or select granular scopes for specific permissions. For read-only access reviews and compliance checks, <strong>read\_api</strong> and <strong>read\_user</strong> are enough. If you select only those two, enter `read_api read_user` in the OAuth Scopes field when you connect, because the default requests all five scopes and GitLab refuses scopes the application does not have.</p>

        <div className="connector-guide-display-scopes" data-guide-display-scopes>
          <div className="connector-guide-scopes-container">
            <ul className="not-prose connector-guide-scopes-list">
              <li data-guide-display-scope="api">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy api" title="Copy scope" data-copy="api">
                  <span className="connector-guide-scope-copy__label">api</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li data-guide-display-scope="read_api">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy read_api" title="Copy scope" data-copy="read_api">
                  <span className="connector-guide-scope-copy__label">read\_api</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li data-guide-display-scope="read_user">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy read_user" title="Copy scope" data-copy="read_user">
                  <span className="connector-guide-scope-copy__label">read\_user</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li data-guide-display-scope="read_repository">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy read_repository" title="Copy scope" data-copy="read_repository">
                  <span className="connector-guide-scope-copy__label">read\_repository</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>

              <li data-guide-display-scope="write_repository">
                <button type="button" className="connector-guide-scope-copy" aria-label="Copy write_repository" title="Copy scope" data-copy="write_repository">
                  <span className="connector-guide-scope-copy__label">write\_repository</span>
                  <span className="connector-guide-scope-copy__icon" aria-hidden="true">⧉</span>
                </button>
              </li>
            </ul>
          </div>
        </div>
      </div>
    </Step>

    <Step title="Save the application">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>Click <strong>Save application</strong> to create your OAuth application.</p>
      </div>
    </Step>

    <Step title="Copy Application credentials">
      <div data-guide-step data-guide-scopes="" data-guide-display-scopes-list="">
        <p>After saving, your Application ID and Secret will be displayed.</p>

        <ul>
          <li>Copy the <strong>Application ID</strong> and store it securely for use later</li>
          <li>Copy the <strong>Secret</strong> immediately as it will only be shown once</li>
          <li>If you lose the Secret, you'll need to regenerate it from the application settings</li>
        </ul>
      </div>
    </Step>
  </Steps>
</section>

## Creating the StackOne Connector Profile

To create the Connector Profile in StackOne for <strong>GitLab</strong>:

<Steps>
  <Step title="Navigate to Connector Profiles">
    Login to StackOne and navigate to [Connector Profiles](https://app.stackone.com/connector_profiles)
  </Step>

  <Step title="Create New Connector Profile">
    <ul>
      <li>Click <strong>+ Connector Profile</strong></li>
      <li>Search for and select <strong>GitLab</strong></li>
      <li>Select <strong>Type</strong> as <strong>OAuth 2.0</strong></li>

      <li>
        Fill out the fields using details retrieved from your provider:

        <ul className="connector-guide-field-list">
          <li><strong>Application ID</strong></li>
          <li><strong>Application Secret</strong></li>
          <li><strong>OAuth Scopes</strong> (Optional)</li>
        </ul>
      </li>

      <li>(Optional) Select <strong>Actions</strong> to be enabled for this Connector Profile</li>
      <li>Click <strong>Create profile</strong></li>
    </ul>
  </Step>
</Steps>

Congratulations! The new Connector Profile will now show up in your project ready to be used. You can now continue to <a href="/connect/managing-connectors/linking-accounts">Link Accounts</a> for <strong>GitLab</strong>.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.